Edited at

手動で立ち上げた EC2 に ECS をつなぐ方法

EC2 で ECS を動かす記事をよく見ますが

ECS から設定された EC2 を立ち上げる記事はありますが

自分で立ち上げた EC2 から ECS に連携させる方法の記事が見つからなかったのでメモします

尚、個人的見解ですが、ECS やるなら Fargate 使うほうがおすすめです

EC2 にはパブリック IP が付与されているものとします


AMIを確認する

AWS で ECS 向けに最適化された AMI が公開されているので使います。

まずは、ECS用に最適化されたAMIの情報を確認します

https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/ecs-optimized_AMI.html

英語版のほうが更新が早いので英語版も念の為見ておくと良いです

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html


ECSを動かせるロールを作成

AmazonEC2ContainerServiceforEC2Role ポリシーを付与した EC2 向けのロールを作成します

すでにロールがある場合は、ポリシーをアタッチしてください


EC2の設定

EC2 の インスタンスの設定画面で

ECS を動かすのに必要なロールを付与

高度な詳細をクリックして開き、

ユーザーデータの部分に以下を追記

HOGE_CLUSTER_NAME を自分の名前クラスター名にする

#!/bin/bash

echo ECS_CLUSTER=HOGE_CLUSTER_NAME >> /etc/ecs/ecs.config

あとはよしなににしてどうぞ

参考: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/launch_container_instance.html