☁️

【ECS】具体的な設定に関して

2023/09/10に公開

くろかわこうへいさんの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