ここでは、マイクロサービスのフロントエンドとして、Ruby on Rails製のアプリケーションをデプロイするための「タスク定義」を作成します。
「サービス」から「ECS」を選択し、左メニュー「Amazon ECS」から「タスク定義」、「新しいタスク定義の作成」を順に選択します。
「起動タイプの互換性の選択」から「Fargate」を選択し、次に進みます。
「タスクとコンテナの定義の設定」で、以下のように設定します。
タスク定義名:{ユーザ名}-ecsdemo-frontend
ネットワークモード:awsvpc
(現在はこの選択肢しかありません)
タスク実行ロール:新しいロールの作成
ecsTaskExecutionRole
を選択してください。
タスクサイズ:
タスクメモリ:0.5GB
タスクCPU:0.25vCPU
「コンテナの定義」の下にある「コンテナの追加」を選択、「コンテナの編集」を開き、以下のように設定します。
コンテナ名:ecsdemo-frontend
イメージ:commands.txt
内の「Frontend」、DockerイメージのURI
{ECRのリポジトリURI}:{タグ}
の形式で指定します。今回のタグはlatest
です。ポートマッピング:
3000
「環境変数」を以下のように設定します。
1行目:
Key: CRYSTAL_URL
Value: http://{ユーザ名}-ecsdemo-crystal.service:3000/crystal
2行目:
Key: NODEJS_URL
Value: http://{ユーザ名}-ecsdemo-nodejs.service:3000
「ログ設定」で「Auto-configure CloudWatch Logs」にチェックが入っていることを確認します。
残りはデフォルトのまま、「追加」を選択します。
最後に「作成」を選択し、次の画面でタスク定義の作成が成功することを確認します。確認ができたら、「タスク定義の表示」を選択して、タスク定義を表示します。