Railsフロントエンド用のタスク定義の作成

ここでは、マイクロサービスのフロントエンドとして、Ruby on Rails製のアプリケーションをデプロイするための「タスク定義」を作成します。

作業手順

  1. 「サービス」から「ECS」を選択し、左メニュー「Amazon ECS」から「タスク定義」、「新しいタスク定義の作成」を順に選択します。

  2. 「起動タイプの互換性の選択」から「Fargate」を選択し、次に進みます。

  3. 「タスクとコンテナの定義の設定」で、以下のように設定します。

    • タスク定義名:{ユーザ名}-ecsdemo-frontend

    • ネットワークモード:awsvpc(現在はこの選択肢しかありません)

    • タスク実行ロール:新しいロールの作成

      • 一度作成したことがある場合はecsTaskExecutionRoleを選択してください。
    • タスクサイズ:

      • タスクメモリ:0.5GB

      • タスクCPU:0.25vCPU

    2

  4. 「コンテナの定義」の下にある「コンテナの追加」を選択、「コンテナの編集」を開き、以下のように設定します。

    • コンテナ名:ecsdemo-frontend

      • こちらはタスク内だけで利用するので、他の人と被っていても問題ありません。
    • イメージ:commands.txt内の「Frontend」、DockerイメージのURI

      • {ECRのリポジトリURI}:{タグ}の形式で指定します。今回のタグはlatestです。
    • ポートマッピング:

      • コンテナポート:3000

    4

  5. 「環境変数」を以下のように設定します。

    • 1行目:

      • Key: CRYSTAL_URL

      • Value: http://{ユーザ名}-ecsdemo-crystal.service:3000/crystal

    • 2行目:

      • Key: NODEJS_URL

      • Value: http://{ユーザ名}-ecsdemo-nodejs.service:3000

    5

  6. 「ログ設定」で「Auto-configure CloudWatch Logs」にチェックが入っていることを確認します。

    6

  7. 残りはデフォルトのまま、「追加」を選択します。

  8. 最後に「作成」を選択し、次の画面でタスク定義の作成が成功することを確認します。確認ができたら、「タスク定義の表示」を選択して、タスク定義を表示します。