ここでは、ALB、ECS(Fargate)クラスターをセットアップをしていきます。
これまで作成経験があり、今回のハンズオンではスキップしたい方はここからダウンロードしたCloudFormationテンプレートを利用してください。このCloudFormationテンプレートでCloud9開発環境も作成されるので、作成完了後の続きは「マイクロサービスのデプロイ」からとなります。
まず、ALB用のセキュリティグループを作成します。「サービス」から「VPC」を選択し、左のメニューから「セキュリティグループ」、「セキュリティグループの作成」の順に選択します。
セキュリティグループ名に{ユーザ名}-handson-alb-sg
と入力します。説明欄にも同様に{ユーザ名}-handson-alb-sg
と入力します。
VPCは「VPCの作成」で作成したものを選択し「作成」を選択します。セキュリティグループが作成されたことを確認し、「閉じる」を選択します。
ALB用に作成したセキュリティグループを選択し、下部の「インバウンドのルール」から「ルールの編集」を選択します。
「ルールの編集」を選択し、「HTTP」と「カスタムTCPルール(9000)」を「任意の場所(0.0.0.0/0)」に開放し、「ルールの保存」を選択します。
次に、ALBを作成します。「サービス」から「EC2」を選択し、左のメニューから「ロードバランサー」を選択します。
「ロードバランサーの作成」を選択し「Application Load Balancer」の「作成」を選択します。
「手順1:ロードバランサーの設定」では、以下のように設定し、次に進みます。
名前:{ユーザ名}-ecs-alb
スキーム:インターネット向け
アベイラビリティーゾーン:
VPC:VPCの作成で作成したVPC
アベイラビリティーゾーン:すべてのアベイラビリティーゾーンにチェック
サブネット:VPC作成時に作成したパブリックサブネット3つ
「手順2:セキュリティ設定の構成」はそのままで次に進みます。
「手順3:セキュリティグループの設定」では、「既存のセキュリティグループを選択する」を選択し、「default」と先ほど作成したALB用のセキュリティグループを選択してください。
「手順4:ルーティングの設定」では、「名前」に適当な名前を入力して、次に進みます。
「手順5:ターゲットの登録」では何もせず、次に進みます。
「手順6:確認」で設定を確認し「作成」を選択します。ロードバランサーが正常に作成されたことを確認して、「閉じる」を選択してください。
下部の「説明」から「DNS名」をメモしておきます。これはアプリケーションのエンドポイントとなります。
ALBからリスナーを削除します。左のメニューから「ロードバランサー」を選択し、先ほど作成したALBを選択します。下部「リスナー」から「HTTP:80」をチェック、「削除」を選択し、削除します。
ALBからターゲットグループを削除します。左のメニューから「ターゲットグループ」を選択し、先ほど作成したターゲットグループを選択します。「アクション」から「削除」を選択し、削除します。
そして、Fargateクラスターを作成します。「サービス」から「ECS」を選択し、左メニュー「Amazon ECS」から「クラスター」、「クラスターの作成」を順に選択します。
「クラスターテンプレートの選択」で「AWS Fargateを利用」を選択し、次のステップに進みます。
「クラスター名」に{ユーザー名}-fargate-cluster
を入力し、「Container Insightsを有効にする」にチェックが入っていることを確認して、「作成」を選択します。
「クラスターの表示」を選択し、クラスターが作成されていることを確認します。