😽

FargateでAWS CLIを実行する

2022/10/12に公開

FargateをつかってAWS CLIを実行したいときの環境構築方法について説明します。

新しいロールの作成

・AWSコンソールのIAMの画面に移動
・左側の「ロール」を選択し「ロールを作成」を選択
・ユースケースに「Elastic Container Service Task」を選択

・ポリシーを選択してロール作成
AmazonECSTaskExecutionRolePolicy(AWS管理ポリシー)
任意のポリシー(やりたいことにあわせて決定)

クラスターの作成

・AWSコンソールのECSの画面に移動
・「クラスターの作成」を選択

・「ネットワーキングのみ」を選択し、「次のステップ」を選択

・クラスター名は任意の名前を入力し、「作成」を選択

タスクの作成

・AWSコンソールのECSの画面の左側の「タスク定義」を選択

・「新しいタスク定義の作成」を選択
・「FARGATE」を選択し、「次のステップ」を選択

・「タスク定義名」を入力
・「タスクロール」と「タスク実行IAMロール」に作成したロールを設定
・必要なタスクメモリ、タスクCPUを入力

・「コンテナの追加」を選択
イメージは以下から抽出する。
https://hub.docker.com/r/amazon/aws-cli/tags
コンテナ名は任意で、イメージにはdocker pull xxxのxxxの部分を記載すればよい。
「プライベートレジストリの認証」はチェックするだけでよい。

・「作成」を選択

・「新しいリビジョンの作成」を選択

・コンテナ名の青字部分を選択

・「環境」の「コマンド」にカンマ区切りでコマンドを入力し、「更新」を選択
例えばcreate-topicであれば以下のようになる。

sns,create-topic,--name,<topic_name>,--region,us-east-1

・「作成」を選択
・「アクション」→「タスクの実行」を選択

・「起動タイプ」→FARGATE、
「クラスターVPC」、「サブネット」に既存のものを選択し、「タスクの実行」を選択

・「タスク」タブにRunningの項目が表示されるので、画面更新してRunningに表示されなくなるまで待つ

・「必要なタスクのステータス」のStoppedを選択し、タスク名を選択

・Logsタブから結果を確認して終了
なお、このログはCloudWatchでも確認できる

Discussion