#
ドキュメント

Document

自分のための備忘録です。

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へのアクセス用