

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon ECS の暗号化のベストプラクティス
<a name="ecs"></a>

[Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) は、クラスターでコンテナの実行、停止、管理を支援する、高速でスケーラブルなコンテナ管理サービスです。

Amazon ECS では、以下のいずれかの方法で転送中のデータを暗号化できます。
+ サービスメッシュの作成 を使用して AWS App Mesh、デプロイされた [Envoy](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) プロキシと、[仮想ノード](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html)や[仮想ゲートウェイ](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html)などのメッシュエンドポイント間の TLS 接続を設定します。 AWS Private Certificate Authority またはお客様が用意した証明書から TLS 証明書を使用できます。詳細とチュートリアルについては、[「 (ACM) またはお客様が用意した証明書 AWS App Mesh を使用して AWS Certificate Manager のサービス間でトラフィック暗号化を有効にする](https://aws.amazon.com/blogs/containers/enable-traffic-encryption-between-services-in-aws-app-mesh-using-aws-certificate-manager-or-customer-provided-certificates/)」(AWS ブログ記事) を参照してください。
+ サポートされている場合は、[AWS Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) を使用します。 AWS Nitro Enclaves は、Amazon EC2 インスタンスから *enclaves* と呼ばれる分離された実行環境を作成できる Amazon EC2 機能です。これは、機密性の非常に高いデータの保護に役立つように設計されています。また、[Nitro Enclaves 向けの ACM](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html) により、パブリックおよびプライベートの SSL/TLS 証明書を、ウェブアプリケーションおよびウェブサーバー ( AWS Nitro Enclaves のある Amazon EC2 インスタンスで稼働しているサーバー) で使用できます。詳細については、[AWS 「Nitro Enclaves – Isolated EC2 Environments to Process Confidential Data](https://aws.amazon.com/blogs/aws/aws-nitro-enclaves-isolated-ec2-environments-to-process-confidential-data/)」(AWS ブログ記事) を参照してください。
+ Application Load Balancer で Server Name Indication (SNI) プロトコルを使用します。Application Load Balancer の単一の HTTPS リスナーの背後に複数のアプリケーションをデプロイできます。各リスナーには独自の TLS 証明書があります。ACM が提供する証明書か、自己署名証明書を使用できます。[Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) と [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html) は、いずれも SNI をサポートします。詳細については、[「Application Load Balancer が SNI を使用したスマート選択で複数の TLS 証明書をサポートするようになりました (ブログ記事)](https://aws.amazon.com/blogs/aws/new-application-load-balancer-sni/)」を参照してください。AWS 
+ セキュリティと柔軟性を向上させるには、 AWS Private Certificate Authority を使用して Amazon ECS タスクで TLS 証明書をデプロイします。詳細については、[「Retaining TLS all to your container part 2: Using AWS Private CA](https://aws.amazon.com/blogs/compute/maintaining-transport-layer-security-all-the-way-to-your-container-part-2-using-aws-certificate-manager-private-certificate-authority/)」(AWS ブログ記事) を参照してください。
+ [Secret discovery service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret) (Envoy) または [ACM にホストされた](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-mutual-tls-file-provided)証明書 (GitHub) を使用して、App Mesh に 相互 TLS ([mTLS](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html)) を実装します。

このサービスでは、以下の暗号化のベストプラクティスを検討してください。
+ 技術的に可能であれば、セキュリティ強化のため、 AWS PrivateLinkに [Amazon ECS インターフェイス VPC エンドポイント](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html)を設定します。VPN 接続を介してこれらのエンドポイントにアクセスすると、転送中のデータが暗号化されます。
+ API キーやデータベース認証情報などの機密情報を安全に保管します。これらを暗号化したパラメータとしてパラメータストアに保存できます。これは AWS Systems Managerの機能です。ただし、 AWS Secrets Manager このサービスではシークレットを自動的にローテーションし、ランダムなシークレットを生成して、シークレットを共有できるため、 を使用することをお勧めします AWS アカウント。
+ データセンター内のユーザーまたはアプリケーション、またはウェブ上の外部のサードパーティーが直接 HTTPS API リクエストを行っている場合は AWS のサービス、 AWS Security Token Service () から取得した一時的なセキュリティ認証情報を使用してそれらのリクエストに署名しますAWS STS。