Crystalバックエンド用のサービスの作成

次に、タスク定義からサービスを作成します。

作業手順

  1. 「タスク定義の表示」から遷移した画面(タスク定義の詳細情報を表示する画面)から、「アクション」「サービスの作成」と順に選択します。

    • タスク定義の詳細情報を表示する画面を閉じてしまった場合は、「タスク定義」から作成したタスク定義を選択すると同じ画面に遷移します。
  2. 「サービスの設定」で、以下のように設定します。

    • 起動タイプ:FARGATE

    • タスク定義:先ほど作成したCrystalバックエンド用のタスク定義

    • クラスター:このハンズオンで作成したクラスター

    1. サービス名:{ユーザ名}-ecsdemo-crystal

    2. タスクの数:3

    2

  3. 「デプロイメント」では以下のように設定します。設定ができたら次のステップに進みます。

    • デプロイメントタイプ:ローリングアップデート

      • Blue/GreenデプロイメントにはALBが必須となります。今回はDNSベースでのサービスディスカバリを体験いただくため、フロントエンド以外は「ローリングアップデート」を選択します。

    3

  4. 「ネットワーク構成」では以下のように設定します。

    • クラスターVPC:ハンズオンで作成したVPC

    • サブネット:ハンズオンで作成したサブネットを3つ

      • ドロップダウンリストからサブネットを選択すると、選択済みサブネットがその上に追加されていきます。
    • セキュリティグループ:編集を選択し、以下のように設定します。

      • 割り当てられたセキュリティグループ:既存のセキュリティグループの選択

      • defaultセキュリティグループグループにチェックを入れる

    4

    5

  5. 「Load balancing」では以下のように設定します。

    • ロードバランサーの種類:なし

    6

  6. 「サービスの検出(オプション)」では、以下のように設定します(ここは後で直せないので、慎重に設定してください)。

    • 「サービス検出の統合の有効化」にチェック

    • 名前空間:service|プライベート(先ほどフロントエンドで作成したもの)

    • 検出名:{ユーザ名}-ecsdemo-crystal

    7

  7. オートスケーリングの設定はデフォルトのままで次に進み、設定を確認した上で「サービスの作成」を選択してください。

実装の確認

  1. サービス作成が完了し、タスクが3つ立ち上がることを確認します。

    9

  2. ALBのエンドポイントにアクセスし、Railsフロントエンド、Node.jsとCrystalの両バックエンドが連携していることを確認します。

    10