翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Fargate、AWS PrivateLink、Network Load Balancer を使用して、Amazon ECS 上のコンテナ アプリケーションにプライベートにアクセスします。
Amazon Web Services、Kirankumar Chandrashekar
概要
このパターンは、Network Load Balancer の後ろで AWS Fargate 起動タイプの Amazon Elastic Container Service (Amazon ECS) を使用することで、Amazon Web Services (AWS) クラウドで Docker コンテナアプリケーションをプライベートでホストし、AWS PrivateLink を使用してアプリケーションにアクセスする方法を示しています。Amazon Relational Database Service (Amazon RDS) を使用して、Amazon ECS で実行される高可用性 (HA) アプリケーション用のリレーショナルデータベースをホストします。アプリケーションに永続的なストレージが必要な場合、Amazon Elastic File System (Amazon EFS) を使用できます。
このパターンでは、Docker アプリケーションを実行する Amazon ECS サービスに「Fargate 起動タイプ」を使用し、フロントエンドにはNetwork Load Balancerを使用します。また、AWS PrivateLink 経由でアクセスするために、仮想プライベートクラウド (VPC) エンドポイントと関連付けられることが可能です。この VPC エンドポイントサービスは、VPC エンドポイントを使用して他の VPC と共有できます。
Fargate と Amazon ECS を使用すると、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのサーバーやクラスターを管理することなくコンテナを実行できます。Fargate の代わりに、Amazon EC2 Auto Scaling グループを使用することもできます 詳細については、「AWS PrivateLink と Network Load Balancer を使用して、Amazon ECS 上のコンテナ アプリケーションにプライベートにアクセスする」を参照してください。
前提条件と制限事項
前提条件
アクティブな AWS アカウント。
Linux、macOSまたは Windows にインストールし、設定されている「AWS コマンドラインインターフェイス (AWS CLI) バージョン 2」
Linux、macOSまたは Windows にインストールし設定された「Docker
」 Docker 上で動作するアプリケーション
アーキテクチャ

テクノロジースタック
Amazon CloudWatch
Amazon Elastic Container Registry (Amazon ECR)
Amazon ECS
Amazon EFS
Amazon RDS
Amazon Simple Storage Service (Amazon S3)
AWS Fargate
AWS PrivateLink
AWS Secrets Manager
Application Load Balancer
Network Load Balancer
VPC
自動化とスケール
「AWS CloudFormation」を使用することで、「インフラストラクチャをコード」として使用してこのパターンを作成できます。
ツール
AWS のサービス
Amazon Elastic Container Registry (Amazon ECR) は、セキュリティ、スケーラビリティ、信頼性を備えた AWS マネージドコンテナイメージレジストリサービスです。
Amazon Elastic Container Service (Amazon ECS) は、クラスターでコンテナの実行、停止、管理を簡単に行うことのできる、高度にスケーラブルで高速なコンテナ管理サービスです。
Amazon Elastic File System (Amazon EFS) は、AWS クラウドサービスやオンプレミスのリソースで使用できる、シンプルでスケーラブルな、フルマネージドされた伸縮自在な NFS ファイルシステムを提供します。
Fargate は Amazon ECS で使用できるテクノロジーであり、サーバーやAmazon EC2インスタンスの クラスターを管理することなくAWS Fargateコンテナを実行できます。
Amazon Relational Database Service (Amazon RDS) は、 AWS クラウドでリレーショナルデータベースを簡単にセットアップし、運用し、スケーリングすることのできるウェブサービスです。
Amazon Simple Storage Service (Amazon S3) は、インターネット用のストレージです。Web スケールのコンピューティングを開発者が容易にできるように設計されています。
AWS Secrets Manager を使用すると、コード内のハードコードされた認証情報 (パスワードを含む) を Secrets Manager への API コールで置き換えて、プログラムでシークレットを取得することができます。
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。
Elastic Load Balancing (ELB) は、受信したアプリケーションまたはネットワークトラフィックを複数のアベイラビリティーゾーンの複数のターゲット (EC2 インスタンス、コンテナ、IP アドレスなど) に分散させます。
その他のツール
Docker
は、デベロッパーがあらゆるアプリケーションを、軽量でポータブル、かつ自給自足のコンテナとして簡単に梱包、出荷、実行できるよう支援します。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
VPC を作成します。 |
| クラウド管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
Network Load Balancer を作成します。 |
このストーリーやその他のストーリーに関するヘルプは、「関連リソース」セクションを参照してください。 | クラウド管理者 |
Application Load Balancer を作成します。 |
| クラウド管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
Amazon EFS ファイルシステムを作成します。 |
| クラウド管理者 |
サブネットのターゲットをマウントします。 |
| クラウド管理者 |
サブネットがターゲットとしてマウントされていることを確認します。 |
| クラウド管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
S3 バケットを作成する。 | Amazon S3 コンソールを開き、必要に応じてアプリケーションの静的アセットを保存する S3 バケットを作成します。 | クラウド管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
Secrets Manager シークレットを暗号化するために、AWS KMS キーを作成します。 | AWS Key Management Service (AWS KMS) コンソールを開き、KMS キーを作成します。 | クラウド管理者 |
Amazon RDS パスワードを保存する Secrets Manager シークレットを作成します。 |
| クラウド管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
DB サブネットグループを作成します。 |
| クラウド管理者 |
Amazon RDS DB インスタンスを作成します。 | プライベートサブネット内に Amazon RDS インスタンスを作成して設定します。高可用性 (HA) のため、マルチ AZ がオンになっていることを確認してください。 | クラウド管理者 |
Amazon RDS インスタンスにデータをロードします。 | アプリケーションに必要なリレーショナルデータを Amazon RDS インスタンスにロードします。このプロセスは、アプリケーションのニーズや、データベーススキーマの定義方法や設計方法により、異なっています。 | DBA |
| タスク | 説明 | 必要なスキル |
|---|---|---|
EKS クラスターを作成します。 |
| クラウド管理者 |
Docker イメージを作成します。 | AWS ドキュメントの指示に従って Docker イメージを作成します。 | クラウド管理者 |
Amazon ECR リポジトリを作成します。 |
| クラウド管理者、DevOps エンジニア |
Docker イメージを Amazon ECR リポジトリにプッシュします。 |
| クラウド管理者 |
Amazon ECS タスク定義を作成します。 | Amazon ECS で Docker コンテナを実行するには、タスク定義が必要です。
重要タスク定義の設定方法については、[関連リソース] のセクションのタスク定義の作成を参照してください。Amazon ECR にプッシュした Docker イメージを必ず提供してください。 | クラウド管理者 |
ECS サービスを作成し、起動タイプとして Fargate を選択します。 |
| クラウド管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
AWS PrivateLink エンドポイントを設定します。 |
| クラウド管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
VPC エンドポイントを作成します。 | 前に作成した AWS PrivateLink エンドポイント用の VPC エンドポイントを作成します。VPC エンドポイントの完全修飾ドメイン名 (FQDN) は、AWS PrivateLink エンドポイント FQDN を指します これにより、ドメインネームサービスのエンドポイントがアクセスできる VPC エンドポイントサービスへのElastic Network Interface が作成されます。 | クラウド管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
Application Load Balancer をターゲットとして登録する | Network Load Balancer のターゲットとして Application Load Balancer を追加するには、AWS ドキュメントの指示に従います。 | アプリ開発者 |
関連リソース
ロードバランサーの作成
Amazon EFS ファイルシステムを作成する
Secrets Manager シークレットの作成
Amazon RDS インスタンスの作成
Amazon ECS コンポーネントの作成
その他のリソース