翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
でのスタックの実行 VPC
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
スタックのインスタンスへのユーザーアクセスは、仮想プライベートクラウド () で作成することで制御できますVPC。たとえば、スタックのアプリケーションサーバーまたはデータベースにユーザーが直接アクセスできるようにしたくない場合、代わりに、すべてのパブリックトラフィックが Elastic Load Balancing を経由するようにします。
でスタックを実行する基本的な手順VPCは次のとおりです。
-
Amazon VPCコンソール、VPC、または AWS CloudFormation テンプレートを使用してAPI、適切に設定された を作成します。
-
スタックの作成時に VPC ID を指定します。
-
適切なサブネットでスタックのインスタンスを起動します。
以下に、 AWS OpsWorks スタックでの VPCsの動作について簡単に説明します。
重要
VPC エンドポイント機能を使用する場合は、スタック内の各インスタンスが Amazon Simple Storage Service (Amazon S3) から次のアクションを実行できる必要があることに注意してください。
-
インスタンスエージェントをインストールする。
-
Ruby などの資産をインストールする。
-
Chef の実行ログをアップロードする。
-
スタックコマンドを取得する。
これらのアクションを有効にするには、スタックのインスタンスが、スタックのリージョンと一致する、以下のバケットにアクセスできる必要があります。それ以外の場合、前述のオペレーションは失敗します。
Chef 12 Linux および Chef 12.2 Windows の場合、バケットは以下のとおりです。
エージェントバケット | 資産バケット | ログバケット | DNA バケット |
---|---|---|---|
|
|
|
|
Linux 用 Chef 11.10 以前のバージョンの場合、バケットは次のとおりです。Chef 11.4 スタックは、米国東部 (バージニア北部) リージョン 以外のリージョンエンドポイントではサポートされていません。
エージェントバケット | 資産バケット | ログバケット | DNA バケット |
---|---|---|---|
|
|
|
|
詳細については、「VPC エンドポイント」を参照してください。
注記
AWS OpsWorks スタックを有効にしたVPCエンドポイントに接続するには、 NATまたは パブリック IP AWS OpsWorks のルーティングも設定する必要があります。スタックエージェントは引き続きパブリックエンドポイントにアクセスする必要があるためです。
VPC の基礎
の詳細についてはVPCs、Amazon Virtual Private Cloud」を参照してください。簡単に言うと、 VPCは 1 つ以上のサブネットで構成され、各サブネットには 1 つ以上のインスタンスが含まれます。また、各サブネットには、送信先 IP アドレスに基づいてアウトバウンドトラフィックを送信する、関連付けられたルーティングテーブルがあります。
-
内のインスタンスVPCは、サブネットに関係なく、デフォルトで相互に通信できます。ただし、ネットワークアクセスコントロールリスト (ACLs)、セキュリティグループポリシー、または静的 IP アドレスの使用を変更すると、この通信が中断される可能性があります。
-
サブネットのインスタンスがインターネットと通信できる場合、このサブネットはパブリックサブネットと呼ばれます。
-
インスタンスが 内の他のインスタンスとのみ通信できVPC、インターネットと直接通信できないサブネットは、プライベートサブネットと呼ばれます。
AWS OpsWorks スタックではVPC、プライベートサブネットのインスタンスを含むスタック内のすべてのインスタンスが次のエンドポイントにアクセスできるように を設定する必要があります。
-
「」の「リージョンサポート」セクションに記載されている AWS OpsWorks スタックサービスエンドポイントの 1 つAWS OpsWorks スタックの開始方法。
-
AWS OpsWorks スタックエージェントで使用される、次のいずれかのインスタンスサービスエンドポイント。エージェントは、マネージドカスタマーインスタンスで実行され、サービスとデータを交換します。
-
opsworks-instance-service.us-east-2.amazonaws.com
-
opsworks-instance-service.us-east-1.amazonaws.com
-
opsworks-instance-service.us-west-1.amazonaws.com
-
opsworks-instance-service.us-west-2.amazonaws.com
-
opsworks-instance-service.ap-south-1.amazonaws.com
-
opsworks-instance-service.ap-northeast-1.amazonaws.com
-
opsworks-instance-service.ap-northeast-2.amazonaws.com
-
opsworks-instance-service.ap-southeast-1.amazonaws.com
-
opsworks-instance-service.ap-southeast-2.amazonaws.com
-
opsworks-instance-service.ca-central-1.amazonaws.com
-
opsworks-instance-service.eu-central-1.amazonaws.com
-
opsworks-instance-service.eu-west-1.amazonaws.com
-
opsworks-instance-service.eu-west-2.amazonaws.com
-
opsworks-instance-service.eu-west-3.amazonaws.com
-
-
Amazon S3
-
オペレーティングシステムに応じたパッケージリポジトリ (Amazon Linux や Ubuntu Linux のリポジトリなど)。
-
使用するアプリケーションとカスタムクックブックのリポジトリ
この接続を提供するVPCように を設定するには、さまざまな方法があります。以下は、 スタックアプリケーションサーバースタックVPC用に AWS OpsWorks を設定する方法の簡単な例です。
これにはいくつかのコンポーネントVPCがあります。
- サブネット
-
VPC には、パブリックとプライベートの 2 つのサブネットがあります。
-
パブリックサブネットには、ロードバランサーとネットワークアドレス変換 (NAT) デバイスが含まれており、外部アドレスやプライベートサブネットのインスタンスと通信できます。
-
プライベートサブネットには、パブリックサブネットの NATおよびロードバランサーと通信できるが、外部アドレスと直接通信できないアプリケーションサーバーが含まれています。
-
- インターネットゲートウェイ
-
インターネットゲートウェイを使用すると、ロードバランサーなどのパブリック IP アドレスを持つインスタンスは、 外部のアドレスと通信できますVPC。
- ロードバランサー
-
Elastic Load Balancing ロードバランサーは、ユーザーからの着信トラフィックを処理し、プライベートサブネットのアプリケーションサーバーに配信して、ユーザーにレスポンスを返します。
- NAT
-
(NAT) デバイスは、アプリケーションサーバーにインターネットアクセスを制限します。これは通常、外部リポジトリからソフトウェア更新をダウンロードするなどの目的で使用されます。すべての AWS OpsWorks スタックインスタンスは、 AWS OpsWorks スタックおよび適切な Linux リポジトリと通信できる必要があります。この問題を処理する 1 つの方法は、関連付けられた Elastic IP アドレスを持つNATデバイスをパブリックサブネットに配置することです。その後、プライベートサブネット内のインスタンスからのアウトバウンドトラフィックを 経由でルーティングできますNAT。
注記
1 つのNATインスタンスで、プライベートサブネットのアウトバウンドトラフィックに単一障害点が作成されます。障害が発生した場合に相互に引き継ぐNATインスタンスのペアVPCで を設定することで、信頼性を向上させることができます。詳細については、「Amazon VPC NAT インスタンスの高可用性
」を参照してください。NAT ゲートウェイを使用することもできます。詳細については、「Amazon VPCユーザーガイドNAT」の「」を参照してください。
最適なVPC設定は AWS OpsWorks スタックスタックによって異なります。以下は、特定のVPC設定を使用する場合の例です。その他のVPCシナリオの例については、「Amazon を使用するシナリオVPC」を参照してください。
- パブリックサブネットで 1 つのインスタンスを使用する
-
パブリックにアクセスできない Amazon インスタンスなど、プライベートリソースが関連付けられていない単一RDSインスタンススタックがある場合は、1 つのパブリックサブネットVPCを持つ を作成し、そのサブネットにインスタンスを配置できます。デフォルトの を使用していない場合はVPC、インスタンスのレイヤーに Elastic IP アドレスを割り当てる必要があります。詳細については、「OpsWorks レイヤーの基本」を参照してください。
- プライベートリソースを使用する
-
パブリックにアクセスできないリソースがある場合は、1 つのパブリックサブネットと 1 つのプライベートサブネットVPCを持つ を作成できます。例えば、負荷分散された自動スケーリング環境では、すべての Amazon EC2インスタンスをプライベートサブネットに配置し、ロードバランサーをパブリックサブネットに配置することができます。これにより、Amazon EC2インスタンスにインターネットから直接アクセスすることはできません。すべての受信トラフィックはロードバランサーを介してルーティングする必要があります。
プライベートサブネットはインスタンスを Amazon EC2 の直接ユーザーアクセスから分離しますが、アウトバウンドリクエストを AWSおよび適切な Linux パッケージリポジトリに送信する必要があります。このようなリクエストを許可するには、例えば、独自の Elastic IP アドレスを持つネットワークアドレス変換 (NAT) デバイスを使用し、インスタンスのアウトバウンドトラフィックを 経由でルーティングしますNAT。前の例に示すように、ロードバランサーと同じパブリックサブネットNATに を配置できます。
-
Amazon RDSインスタンスなどのバックエンドデータベースを使用している場合は、それらのインスタンスをプライベートサブネットに配置できます。Amazon RDSインスタンスの場合、異なるアベイラビリティーゾーンで少なくとも 2 つの異なるサブネットを指定する必要があります。
-
プライベートサブネット内のインスタンスへの直接アクセスが必要な場合、例えば、 SSHを使用してインスタンスにログインする場合、インターネットからのリクエストをプロキシする踏み台ホストをパブリックサブネットに配置することができます。
-
- への独自のネットワークの拡張 AWS
-
独自のネットワークをクラウドに拡張し、 からインターネットに直接アクセスする場合はVPC、VPNゲートウェイを作成できます。詳細については、「シナリオ 3: パブリックサブネットとプライベートサブネットとハードウェアVPNアクセスVPCを使用する」を参照してください。
AWS OpsWorks スタックVPCスタック用の を作成する
このセクションでは、サンプルAWS CloudFormationテンプレートを使用して AWS OpsWorks スタックVPCスタックの を作成する方法を示します。テンプレートは OpsWorksVPCtemplates.zip ファイルでダウンロードできます。このトピックで説明しているVPCような を手動で作成する方法については、「シナリオ 2: パブリックサブネットとプライベートサブネットVPCを使用する」を参照してください。ルーティングテーブル、セキュリティグループなどを設定する方法の詳細については、サンプルテンプレートを参照してください。
注記
デフォルトでは、 AWS OpsWorks スタックはCIDR範囲と などのアベイラビリティーゾーンを連結してサブネット名を表示します10.0.0.1/24 - us-east-1b
。名前をより読みやすくするには、キーを に設定Name
し、値をサブネット名に設定して、サブネットごとにタグを作成します。 AWS OpsWorks スタックは、サブネット名をデフォルト名に追加します。例えば、次の例のプライベートサブネットには、名前が に設定されたタグがありPrivate
、 として OpsWorks 表示されます10.0.0.1/24 us-east - 1b - Private
。
AWS CloudFormation コンソールを使用して、わずか数ステップでVPCテンプレートを起動できます。次の手順では、サンプルテンプレートを使用して、米国東部 (バージニア北部) リージョンVPCに を作成します。テンプレートを使用して他のリージョンVPCで を作成する方法については、「」の手順に従うメモを参照してください。
VPC を作成するには
-
AWS CloudFormation コンソール
を開き、[米国東部 (バージニア北部)] リージョンを選択し、[スタックの作成] を選びます。 -
[Select Template] ページで、[Upload a template] を選択します。OpsWorksVPCtemplates.zip
OpsWorksinVPC.template
ファイルでダウンロードしたファイルを参照します。続行を選択します。また、AWS CloudFormation サンプルテンプレート
を開き、スタック AWS OpsWorks VPCテンプレートを見つけて、起動スタックを選択することで、このスタックを起動することもできます。 -
[Specify Parameters (パラメータを指定)] ページで、デフォルトの値をそのまま使用して、[Continue (続行)] を選択します。
-
タグの追加ページで、キーを に設定
Name
し、値をVPC名前に設定してタグを作成します。このタグを使用すると、 スタックスタックを作成するVPCときに AWS OpsWorks を識別しやすくなります。 -
[Continue (続行)] を選択し、[Close (閉じる)] を選択して、スタックを起動します。
注: 次の方法のいずれかを使用して、他のリージョンVPCで を作成できます。
-
「異なるリージョンでテンプレートを使用する
」に移動し、適切なリージョンを選択し、 AWS OpsWorks スタックVPCテンプレートを見つけて、スタックを起動するを選択します。 -
テンプレートファイルをシステムにコピーし、AWS CloudFormation コンソール
で適切なリージョンを選択し、[スタックの作成] ウィザードの [テンプレートを Amazon S3 へのアップロード] オプションを使用して、システムからテンプレートをアップロードします。
サンプルテンプレートにはVPC、 AWS OpsWorks スタックスタックの作成に必要な 、サブネット、ロードバランサーIDsを提供する出力が含まれています。コンソール AWS CloudFormation ウィンドウの下部にある出力タブを選択すると、それらを表示できます。