ECSとSQSとの疎通確認
ECSとSQSとの疎通確認
タスクロール(タスク定義で指定)
SQSとの疎通確認のために以下のように設定した。
- 許可
- AmazonSQSFullAccess
- CloudWatchFullAccess
- 信頼関係
- ecs-tasks.amazonaws.com
セキュリティグループ(タスク実行時に指定)
以下のように設定されていることを前提とする。
Pv4 HTTP TCP 80 0.0.0.0/0
パブリックサブネットからSQSにアクセス
パブリック IP の自動割り当て ENABLED
- SQSにはインターネットを介してアクセスする。
- タスクロール・セキュリティグループを適切に設定すれば良い
パブリック IP の自動割り当て DISABLED
ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve ecr registry auth: service call has been retried 3 time(s): RequestError: send request failed caused by: Post https://api.ecr....
プライベートサブネットからSQSにアクセス
プライベートサブネットの場合は、パブリック IP の自動割り当て DISABLED。
NATゲートウェイ
NATゲートウェイなし パブリック IP の自動割り当て ENABLED
一時的にグローバルIPが設定される用に見えるが、そのIPではインターネットと通信できないので当然失敗する
ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve ecr registry auth: service call has been retried 3 time(s): RequestError: send request failed caused by: Post https://api.ecr....
NATゲートウェイあり パブリック IP の自動割り当て ENABLED
- NATゲートウェイを経由してSQSにアクセスする
- 後述するようにパブリック IPは割り当てなくてもSQSと疎通できる
NATゲートウェイあり パブリック IP の自動割り当て DISABLED
- NATゲートウェイを経由してSQSにアクセスする
- ECS自体にグローバルIPを付与しなくても、NATゲートウェイにグローバルIPが付与されるのでSQSと疎通できる
VPCエンドポイント
- パブリック IP の自動割り当てはDISABLED
- 各エンドポイントがENIを持ちENIを通してSQSと疎通
- S3はap-northeaset-1はインターフェース型が提供されていないようなのでGateWay型を使用
作成したエンドポイントは以下のとおり。
| サービス名 | エンドポイントタイプ | 目的 |
|---|---|---|
| com.amazonaws.ap-northeast-1.sqs | Interface | SQSへのアクセス用 |
| com.amazonaws.ap-northeast-1.ecr.api | Interface | ECRへのアクセス用 |
| com.amazonaws.ap-northeast-1.ecr.dkr | Interface | ECRへのアクセス用 |
| com.amazonaws.ap-northeast-1.logs | interface | CloudWatchへのアクセス用 |
| com.amazonaws.ap-northeast-1.s3 | Gateway | S3へのアクセス用 |