FargateでAWS CLIを実行する
FargateをつかってAWS CLIを実行したいときの環境構築方法について説明します。
新しいロールの作成
・AWSコンソールのIAMの画面に移動
・左側の「ロール」を選択し「ロールを作成」を選択
・ユースケースに「Elastic Container Service Task」を選択
・ポリシーを選択してロール作成
AmazonECSTaskExecutionRolePolicy(AWS管理ポリシー)
任意のポリシー(やりたいことにあわせて決定)
クラスターの作成
・AWSコンソールのECSの画面に移動
・「クラスターの作成」を選択
・「ネットワーキングのみ」を選択し、「次のステップ」を選択
・クラスター名は任意の名前を入力し、「作成」を選択
タスクの作成
・AWSコンソールのECSの画面の左側の「タスク定義」を選択
・「新しいタスク定義の作成」を選択
・「FARGATE」を選択し、「次のステップ」を選択
・「タスク定義名」を入力
・「タスクロール」と「タスク実行IAMロール」に作成したロールを設定
・必要なタスクメモリ、タスクCPUを入力
・「コンテナの追加」を選択
イメージは以下から抽出する。
コンテナ名は任意で、イメージにはdocker pull xxxのxxxの部分を記載すればよい。
「プライベートレジストリの認証」はチェックするだけでよい。
・「作成」を選択
・「新しいリビジョンの作成」を選択
・コンテナ名の青字部分を選択
・「環境」の「コマンド」にカンマ区切りでコマンドを入力し、「更新」を選択
例えばcreate-topicであれば以下のようになる。
sns,create-topic,--name,<topic_name>,--region,us-east-1
・「作成」を選択
・「アクション」→「タスクの実行」を選択
・「起動タイプ」→FARGATE、
「クラスターVPC」、「サブネット」に既存のものを選択し、「タスクの実行」を選択
・「タスク」タブにRunningの項目が表示されるので、画面更新してRunningに表示されなくなるまで待つ
・「必要なタスクのステータス」のStoppedを選択し、タスク名を選択
・Logsタブから結果を確認して終了
なお、このログはCloudWatchでも確認できる
Discussion