Fargateを利用したECSの使用方法を確認します。初回実行ウィザードを通じて、大まかな利用イメージをつかみます。
作成
「コンテナイメージの選択」と「タスク定義」
https://console.aws.amazon.com/ecs/home#/firstRun にアクセスします。
コンテナの定義では、利用するDockerイメージ
を設定します。ここでは、sample-appを選択しています。
タスク定義では、 コンテナのCPU、メモリサイズなどを設定します。
サービスを定義
起動するタスク数などを設定します。Amazon ECSサービスでは、タスクの異常終了が発生すると自動で再起動してくれます。
クラスターの設定
クラスター名を設定します。
確認画面
確認画面が表示されます。問題なければ、作成をクリックします。
完了
各種AWSリソースが作成されました。
作成リソースの確認
CloudFormation
ネットワーク周りのリソースを生成しています。
CloudWatch
コンテナのログはここに書き込まれます。
IAM
作成されたIAMロールです。
ECS
起動タイプがFARGATEになっています。
ブラウザからアクセス
タスクをクリックします。
Public IPを確認します。
確認したPublic IPでブラウザ上からアクセスできることを確認します。
作成リソースをクリーンアップ
AWS CLI経由で今回作成したリソースをクリーンアップします。
(管理コンソールからもできます。)
サービス停止
aws ecs update-service \
--cluster default \
--service sample-app-service \
--desired-count 0 \
--region ap-northeast-1
--desired-count 0
に更新することで、コンテナが死んだとしても新しいタスクが開始されないようにできます。
サービスを削除
aws ecs delete-service \
--cluster default \
--service sample-app-service \
--region ap-northeast-1
クラスターを削除
aws ecs delete-cluster \
--cluster default \
--region ap-northeast-1
タスク定義の削除
aws ecs deregister-task-definition \
--task-definition first-run-task-definition:1
CloudFormationスタックを削除
aws cloudformation delete-stack --stack-name EC2ContainerService-default
CloudWatchのロググループを削除
aws logs delete-log-group \
--log-group-name /ecs/first-run-task-definition