☁️
【ECS】具体的な設定に関して
くろかわこうへいさんのyoutube見てメモ
第4回
ネットワークモード
hostネットワークモード
- ホストマシンとコンテナ同じポートで待ち受ける
- タスク定義上は80を定義するのみ
brifgeネットワークモード
- dockerfileに
EXPOSE 80
と記載し、コンテナを80portで待ち受ける -
docker run -p (host)80:80(container)
で関連づけることでアクセスできるようになる
- 同じ80portで待ち受けるTask2を同一hostで起動させたい場合、8080のような任意のport番号と80を紐付けることでアクセスできるようになる
- 80で関連づけようとするとエラーになる
awsvpcネットワークモード
- デフォルトでEC2にアタッチされてる一番左のEMIに加えてタスクごとにENIをアタッチすると、タスクがどのインスタンスでどのコンテナが実行されてるかを意識せずに済む。
- ENIごとにセキュリティグループを紐づけ流ことができる
- 個別のENIを使って通信をするのでネットワークパフォーマンスが向上する
- VPCflowlogsで観測可能ロードバランサーはIPのターゲットとして登録が可能
タスクロール
- 立ち上げるコンテナがECSから他のサービスにアクセスしたい時に権限を付与しておくところ
タスク実行ロール
- ECRからイメージをプルしたりcloud watch logにログをpushするために必要なロール
- ECSを実行するには必ずECRにアクセスする必要がある
- ECSはログをcloudwatchに吐き出してくれるのでその時の権限を設定できる
Discussion