Crystalバックエンド用のタスク定義の作成

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

作業手順

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

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

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

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

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

    • タスク実行ロール:ecsTaskExecutionRole

    • タスクサイズ:

      • タスクメモリ:0.5GB

      • タスクCPU:0.25vCPU

    2

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

    • コンテナ名:ecsdemo-crystal

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

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

      • コンテナポート:3000

    3

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

    5

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

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