Amazon ECS Service Connect で TLS が有効になっていることを確認する
Service Connect は、Service Connect エージェントで TLS を開始し、宛先エージェントで TLS を終了します。その結果、アプリケーションコードが TLS のやりとりを認識することはありません。次の手順を使用して、TLS が有効になっていることを確認します。
-
アプリケーションイメージに
openssl
CLI が含まれていることを確認してください。 -
SSM 経由でタスクに接続するには、サービスで ECS Exec を有効にします。代わりに、サービスと同じ Amazon VPC で Amazon EC2 インスタンスを起動することもできます。
-
検証したいサービスからタスクの IP とポートを取得します。たとえば、
redis
サービスで TLS が有効になっている場合、タスク IP を取得するには AWS Cloud Map に移動してサービスを見つけ、1 つのインスタンスの IP とポートを確認します。 -
次の例のように
execute-command
を使用して、タスクのいずれかにログオンします。または、ステップ 2 で作成した Amazon EC2 インスタンスにログオンします。$ aws ecs execute-command --cluster cluster-name \ --task < TASK_ID> \ --container app \ --interactive \ --command "/bin/sh"
注記
DNS 名を直接呼び出しても証明書は公開されません。
-
接続したシェルで、
openssl
CLI を使用してタスクに添付されている証明書を確認および表示します。例:
openssl s_client -connect 10.0.147.43:6379 < /dev/null 2> /dev/null \ | openssl x509 -noout -text
レスポンスの例:
Certificate: Data: Version: 3 (0x2) Serial Number: <serial-number> Signature Algorithm: ecdsa-with-SHA256 Issuer: <issuer> Validity Not Before: Jan 23 21:38:12 2024 GMT Not After : Jan 30 22:38:12 2024 GMT Subject: <subject> Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: <pub> ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: X509v3 Subject Alternative Name: DNS:redis.yelb-cftc X509v3 Basic Constraints: CA:FALSE X509v3 Authority Key Identifier: keyid:<key-id> X509v3 Subject Key Identifier: 1D:<id> X509v3 Key Usage: critical Digital Signature, Key Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication Signature Algorithm: ecdsa-with-SHA256 <hash>