AWS:ECSとSQSとの疎通確認

Pocket

ECSとSQSとの疎通確認の覚書。

タスクロール(タスク定義で設定)

SQSとの疎通確認のために以下のように設定した。

  • 許可
    • AmazonSQSFullAccess
    • CloudWatchFullAccess
  • 信頼関係
    • ecs-tasks.amazonaws.com

セキュリティグループ(タスク実行時に指定)

以下のように設定した。

Pv4 HTTP    TCP 80  0.0.0.0/0

パブリックサブネットからSQSにアクセス

パブリック IP の自動割り当て ENABLED

  • SQSにはインターネットを介してアクセスする
  • タスクロール・セキュリティグループを適切に設定すればSQSと疎通できる

パブリック IP の自動割り当て DISABLED

グローバルIPが付与されていないとECRからイメージを取得できない。

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 の自動割り当て DISABLED

  • NATゲートウェイを経由してSQSにアクセスする
  • ECS自体にグローバルIPを付与しなくても、NATゲートウェイにグローバルIPが付与されるのでSQSと疎通できる

VPCエンドポイント

  • パブリック IP の自動割り当てはDISABLED
  • 各エンドポイントがENIを持ちENIを通してSQSと疎通
    • S3はap-northeaset-1はインターフェース型が提供されていないようなのでGateWay型を使用

作成したエンドポイントは以下のとおり。
VPCエンドポイントを使用するにはSQS、ECR関連、CloudWatch関連(log、s3)のエンドポイントが必要だった。

サービス名 エンドポイントタイプ 目的
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へのアクセス用

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。