🔐

TerraformでプライベートサブネットにECS(Fargate)+ALBの構成を作る

2023/05/22に公開

前置き

こちらの構成をプライベートサブネットで動かしました。

構成図

main.tfを実行するとこちらの構成が出来上がります。


dockerhubからイメージを引っ張ってくることは出来ません。(nginx:latest等)
NATGWなしの環境で、プライベートにタスクを起動させるためです。

リポジトリ

https://github.com/not75743/Terraform-Private-Fargate-ALB

ポイント

VPCエンドポイント

プライベートサブネットでFargateを立ち上げる場合、使用するAWSサービスへのエンドポイントを用意する必要があります。

ECR用

  • com.amazonaws.ap-northeast-1.ecr.dkr
  • com.amazonaws.ap-northeast-1.ecr.api
  • com.amazonaws.ap-northeast-1.s3
    • ゲートウェイエンドポイント可

CloudwatchLogs用

  • com.amazonaws.ap-northeast-1.logs

ECS EXEC用

  • com.amazonaws.ap-northeast-1.ssm
  • com.amazonaws.ap-northeast-1.ssmmessages

ECS EXEC用タスクロール

ECS EXEC実行にはIAMロールでいくつかの権限を許可する必要があります。
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/ecs-exec.html#ecs-exec-enabling-and-using

タスク実行ロールとごっちゃにならないように気をつけましょう。

参考

https://y-ohgi.com/introduction-terraform/first/about/#ansible
https://dev.classmethod.jp/articles/vpc-endpoints-for-ecs-2022/

Discussion