AWS Cloud9 開発環境の VPC 設定 - AWS Cloud9

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

AWS Cloud9 開発環境の VPC 設定

Amazon Virtual Private Cloud (Amazon VPC) に関連付けられているすべての AWS Cloud9 開発環境は、特定の VPC 要件を満たしている必要があります。これらの環境には、EC2 環境、および VPC 内で実行される AWS クラウド コンピューティングインスタンスに関連付けられた SSH 環境が含まれます。例えば、Amazon EC2 インスタンスおよび Amazon Lightsail インスタンスです。

の Amazon VPC 要件 AWS Cloud9

AWS Cloud9 が使用する Amazon VPC には、次の設定が必要です。以下の要件は熟知しており、互換性のある VPC を早急に作成したいという場合は、「VPC と他の VPC リソースを作成する」に進んでください。

次のチェックリストを使用して、以下のすべての要件を VPC が満たしていることを確認します。

  • VPC は、 AWS リージョン AWS Cloud9 開発環境と同じ AWS アカウント と に、または VPC は環境 AWS アカウント とは異なる の共有 VPC にすることができます。ただし、VPC は環境 AWS リージョン と同じ にある必要があります。の Amazon VPCs AWS リージョン「」を参照してくださいAWS リージョンの VPC のリストを表示する。用の Amazon VPC を作成する手順の詳細については、 AWS Cloud9「」を参照してくださいVPC と他の VPC リソースを作成する。共有 Amazon VPC の使用の詳細については、「Amazon VPC ユーザーガイド」の「共有 VPC の使用」を参照してください。

  • VPC にはパブリックサブネットが必要です。トラフィックがインターネットゲートウェイにルーティングされる場合、サブネットはパブリックです。Amazon VPC のサブネットのリストについては、「VPC のサブネットのリストを表示する」を参照してください。

  • 環境が SSH 経由で EC2 インスタンスに直接アクセスしている場合、インスタンスはパブリックサブネットでのみ起動できます。サブネットがパブリックかどうかの確認方法については、「パブリックサブネットかどうかを確認する」を参照してください。

  • Systems Manager を使って no-ingress Amazon EC2 インスタンスにアクセスしている場合、インスタンスはパブリックサブネットまたはプライベートサブネットに起動できます。

  • パブリックサブネットを使用している場合は、インターネットゲートウェイを VPC にアタッチします。これは、インスタンスの AWS Systems Manager Agent (SSM Agent) が Systems Manager に接続できるようにするためです。

  • プライベートサブネットを使用している場合は、パブリックサブネットで NAT ゲートウェイをホストして、サブネットのインスタンスによるインターネットとの通信を許可します。インターネットゲートウェイの設定を表示または変更する方法の詳細については、「インターネットゲートウェイの設定を表示または変更する」を参照してください。

  • パブリックサブネットには、最小限のルートセットを含むルートテーブルが必要です。サブネットにルートテーブルがあるかどうかを確認する方法については、「サブネットにルートテーブルがあるかどうかを確認する」を参照してください。ルートテーブルを作成する方法については、「ルートテーブルの作成」を参照してください。

  • VPC (またはアーキテクチャに応じて AWS クラウド コンピューティングインスタンス) に関連付けられたセキュリティグループでは、インバウンドトラフィックとアウトバウンドトラフィックの最小セットを許可する必要があります。Amazon VPC のセキュリティグループのリストについては、「VPC のセキュリティグループのリストを表示する」を参照してください。Amazon VPC のセキュリティグループの作成の詳細については、「VPC でのセキュリティグループの作成」を参照してください。

  • セキュリティレイヤーを追加するため、VPC にネットワーク ACL がある場合、ネットワーク ACL はインバウンドおよびアウトバウンドトラフィックの最小セットを許可する必要があります。Amazon VPC に 1 つ以上のネットワーク ACL があるかどうかを確認するには、「VPC に 1 つ以上のネットワーク ACL があるかどうかを確認する」を参照してください。ネットワーク ACL の作成については、「ネットワーク ACL の作成」を参照してください。

  • 開発環境がSSM を使用して EC2 インスタンスにアクセスし、インスタンスが起動先のパブリックサブネットによってパブリック IP アドレスに割り当てられていることを確認します。そのためには、パブリックサブネットのパブリック IP アドレスの自動割り当てオプションを有効にし、[Yes] に設定する必要があります。サブネット設定ページ内で  AWS Cloud9  環境を作成する前に、これをパブリックサブネットで有効にすることができます。パブリックサブネットで自動割り当て IP 設定を変更する手順については、「Amazon VPC ユーザーガイド」の「サブネットのパブリック IPv4 アドレス属性を変更する」を参照してください。パブリックサブネットとプライベートサブネットの詳細については、「サブネットをパブリックまたはプライベートとして設定する」を参照してください。

注記

次の手順では、 にサインイン AWS Management Console し、管理者認証情報を使用して Amazon VPC コンソール (https://console.aws.amazon.com/vpc) または Amazon EC2 コンソール (https://console.aws.amazon.com/ec2) を開きます。

AWS CLI または を使用する場合は AWS CloudShell、 の管理者の認証情報 AWS CloudShell を使用して AWS CLI または を設定することをお勧めします AWS アカウント。これができない場合は、 AWS アカウント 管理者に確認してください。

AWS リージョンの VPC のリストを表示する

Amazon VPC コンソールを使用するには、 AWS ナビゲーションバーで、環境 AWS リージョン AWS Cloud9 を作成する を選択します。次に、ナビゲーションペインで、[お客様の VPC]を選択します。

AWS CLI または を使用するには AWS CloudShell、Amazon EC2 describe-vpcs コマンドを次のように実行します。

aws ec2 describe-vpcs --output table --query 'Vpcs[*].VpcId' --region us-east-2

前述のコマンドで、 を環境 AWS リージョン AWS Cloud9 を作成する us-east-2に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力には、VPC ID のリストが含まれます。

VPC のサブネットのリストを表示する

Amazon VPC コンソールを使用するため、ナビゲーションペインで[お客様の VPC]を選択します。[VPC ID]列の VPC の ID をメモしておきます。次に、ナビゲーションペインで[サブネット]を選択し、[VPC]列でその ID を含むサブネットを探します。

AWS CLI または を使用するにはaws-shell、Amazon EC2 describe-subnets コマンドを次のように実行します。

aws ec2 describe-subnets --output table --query 'Subnets[*].[SubnetId,VpcId]' --region us-east-2

前述のコマンドで、 をサブネット AWS リージョン を含む us-east-2に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力で、VPC の ID と一致するサブネットを探します。

パブリックサブネットかどうかを確認する

重要

環境の EC2 インスタンスをプライベートサブネットに起動するとします。SSM サービスに接続できるように、そのインスタンスに対してアウトバウンドトラフィックが許可されていることを確認してください。プライベートサブネットの場合、アウトバウンドトラフィックは通常、ネットワークアドレス変換 (NAT) ゲートウェイまたは VPC エンドポイントを介して設定されます。(NAT ゲートウェイにはパブリックサブネットが必要です)。

SSM にアクセスするために NAT ゲートウェイではなく VPC エンドポイントを選択するとします。これらのパッチがインターネットアクセスに依存する場合、インスタンスの自動更新とセキュリティパッチが機能しないことがあります。AWS Systems Manager Patch Manager などの他のアプリケーションを使用して、環境に必要なソフトウェア更新を管理できます。 AWS Cloud9 ソフトウェアは通常どおり更新されます。

Amazon VPC コンソールを使用するには、ナビゲーションペインで[サブネット]を選択します。 AWS Cloud9 使用するサブネットの横にあるボックスを選択します。[ルートテーブル]タブで、[ターゲット]列に[igw-]で始まるエントリがある場合、そのサブネットはパブリックです。

AWS CLI または を使用するにはaws-shell、Amazon EC2 describe-route-tables コマンドを実行します。

aws ec2 describe-route-tables --output table --query 'RouteTables[*].Routes[*].{GatewayIds:GatewayId}' --region us-east-2 --filters Name=association.subnet-id,Values=subnet-12a3456b

前述のコマンドで、 をサブネット AWS リージョン を含む us-east-2に置き換え、 をサブネット ID subnet-12a3456b に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力に igw- で始まる結果が 1 つでもある場合は、そのサブネットがパブリックです。

出力に結果がない場合は、ルートテーブルがサブネットではなく、代わりに VPC に関連付けられている可能性があります。これを確認するには、次の例のように、サブネット自体の代わりに、サブネットに関連する VPC に対して Amazon EC2 describe-route-tables コマンドを実行します。

aws ec2 describe-route-tables --output table --query 'RouteTables[*].Routes[*].{GatewayIds:GatewayId}' --region us-east-1 --filters Name=vpc-id,Values=vpc-1234ab56

前述のコマンドで、 を VPC AWS リージョン を含む us-east-2に置き換え、 を VPC ID vpc-1234ab56に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力に igw- で始まる結果が 1 つでもある場合は、その VPC にはインターネットゲートウェイが含まれています。

インターネットゲートウェイの設定を表示または変更する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[インターネットゲートウェイ]を選択します。インターネットゲートウェイの横にあるボックスを選択します。設定を確認するには、それぞれのタブをクリックします。タブの設定を変更するには、該当する場合は[編集]を選択し、画面の指示に従います。

AWS CLI または を使用して設定aws-shellを表示するには、Amazon EC2 describe-internet-gateways コマンドを実行します。

aws ec2 describe-internet-gateways --output table --region us-east-2 --internet-gateway-id igw-1234ab5c

前述のコマンドで、 をインターネットゲートウェイ AWS リージョン を含む us-east-2に置き換え、 をインターネットゲートウェイ ID igw-1234ab5c に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

インターネットゲートウェイを作成する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[インターネットゲートウェイ]を選択します。[インターネットゲートウェイの作成]を選択し、画面の指示に従います。

AWS CLI または を使用するにはaws-shell、Amazon EC2 create-internet-gateway コマンドを実行します。

aws ec2 create-internet-gateway --output text --query 'InternetGateway.InternetGatewayId' --region us-east-2

前述のコマンドで、 を新しいインターネットゲートウェイ AWS リージョン を含む us-east-2に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力には、新規のインターネットゲートウェイの ID が含まれています。

インターネットゲートウェイを VPC にアタッチする

Amazon VPC コンソールを使用するには、ナビゲーションペインで[インターネットゲートウェイ]を選択します。インターネットゲートウェイの横にあるボックスを選択します。必要に応じて[アクション]、[VPC にアタッチ]の順に選択し、画面の指示に従います。

AWS CLI または を使用するにはaws-shell、Amazon EC2 attach-internet-gateway コマンドを次のように実行します。

aws ec2 attach-internet-gateway --region us-east-2 --internet-gateway-id igw-a1b2cdef --vpc-id vpc-1234ab56

前述のコマンドで、 をインターネットゲートウェイ AWS リージョン を含む us-east-2に置き換えます。igw-a1b2cdef をインターネットゲートウェイ ID に置き換えます。さらに、vpc-1234ab56 を VPC ID に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

サブネットにルートテーブルがあるかどうかを確認する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[サブネット]を選択します。 AWS Cloud9 使用する VPC のパブリックサブネットの横にあるボックスを選択します。[ルートテーブル]タブで、[ルートテーブル]の値がある場合は、パブリックサブネットにルートテーブルがあります。

AWS CLI または を使用するにはaws-shell、Amazon EC2 describe-route-tables コマンドを実行します。

aws ec2 describe-route-tables --output table --query 'RouteTables[*].Associations[*].{RouteTableIds:RouteTableId}' --region us-east-2 --filters Name=association.subnet-id,Values=subnet-12a3456b

前述のコマンドで、 をパブリックサブネット AWS リージョン を含む us-east-2に置き換え、 をパブリックサブネット ID subnet-12a3456b に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力に値がある場合、パブリックサブネットには少なくとも 1 つのルートテーブルがあります。

出力に結果がない場合は、ルートテーブルがサブネットではなく、代わりに VPC に関連付けられている可能性があります。これを確認するには、次の例のように、サブネット自体の代わりに、サブネットに関連する VPC に対して Amazon EC2 describe-route-tables コマンドを実行します。

aws ec2 describe-route-tables --output table --query 'RouteTables[*].Associations[*].{RouteTableIds:RouteTableId}' --region us-east-2 --filters Name=vpc-id,Values=vpc-1234ab56

前述のコマンドで、 を VPC AWS リージョン を含む us-east-2に置き換え、 を VPC ID vpc-1234ab56に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力に少なくとも 1 つの結果がある場合、VPC には少なくとも 1 つのルートテーブルがあります。

サブネットをルートテーブルに添付する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[ルートテーブル]を選択します。アタッチするルートテーブルの横にあるチェックボックスをオンにします。[サブネットの関連付け]タブで[編集]を選択し、アタッチ先のサブネットの横にあるチェックボックスをオンにして、[保存]を選択します。

AWS CLI または を使用するにはaws-shell、Amazon EC2 associate-route-table コマンドを次のように実行します。

aws ec2 associate-route-table --region us-east-2 --subnet-id subnet-12a3456b --route-table-id rtb-ab12cde3

前述のコマンドで、 をルートテーブル AWS リージョン を含む us-east-2に置き換えます。subnet-12a3456b をサブネット ID に置き換えます。さらに、rtb-ab12cde3 をルートテーブル ID に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

ルートテーブルの作成

Amazon VPC コンソールを使用するには、ナビゲーションペインで[ルートテーブル]を選択します。[ルートテーブルの作成]を選択し、画面の指示に従います。

AWS CLI または を使用するにはaws-shell、Amazon EC2 create-route-table コマンドを次のように実行します。

aws ec2 create-route-table --output text --query 'RouteTable.RouteTableId' --region us-east-2 --vpc-id vpc-1234ab56

前述のコマンドで、 を新しいルートテーブル AWS リージョン を含む us-east-2に置き換え、 を VPC ID vpc-1234ab56に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力には、新しいルートテーブルの ID が含まれています。

ルートテーブルの設定を表示または変更する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[ルートテーブル]を選択します。ルートテーブルの横にあるチェックボックスをオンにします。設定を確認するには、それぞれのタブをクリックします。タブの設定を変更するには、[編集]を選択し、画面の指示に従います。

AWS CLI または を使用して設定aws-shellを表示するには、Amazon EC2 describe-route-tables コマンドを次のように実行します。

aws ec2 describe-route-tables --output table --region us-east-2 --route-table-ids rtb-ab12cde3

前述のコマンドで、 をルートテーブル AWS リージョン を含む us-east-2に置き換え、 をルートテーブル ID rtb-ab12cde3 に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

の推奨ルートテーブルの最小設定 AWS Cloud9

送信先 [Target] (ターゲット) [ステータス] 伝播済み

CIDR-BLOCK

ローカル

[アクティブ]

いいえ

0.0.0.0/0

igw-INTERNET-GATEWAY-ID

[アクティブ]

いいえ

これらの設定で、CIDR-BLOCK は、サブネットの CIDR ブロックで、igw-INTERNET-GATEWAY-ID は、互換性のあるインターネットゲートウェイの ID です。

VPC のセキュリティグループのリストを表示する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[セキュリティグループ]を選択します。[セキュリティグループの検索]ボックスに、VPC ID または名前を入力し、Enter キーを押します。その VPC のセキュリティグループが検索結果のリストに表示されます。

AWS CLI または を使用するにはaws-shell、Amazon EC2 describe-security-groups コマンドを実行します。

aws ec2 describe-security-groups --output table --query 'SecurityGroups[*].GroupId' --region us-east-2 --filters Name=vpc-id,Values=vpc-1234ab56

前述のコマンドで、 を VPC AWS リージョン を含む us-east-2に置き換え、 を VPC ID vpc-1234ab56に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力には、その VPC のセキュリティグループ ID のリストが含まれています。

AWS クラウド コンピューティングインスタンスのセキュリティグループのリストを表示する

Amazon EC2 コンソールを使用するには、ナビゲーションペインで[インスタンス]を展開し、[インスタンス]を選択します。インスタンスの一覧で、インスタンスの横のボックスを選択します。そのインスタンスのセキュリティグループが、[Security groups]の横の[Description]タブに表示されます。

AWS CLI または を使用するにはaws-shell、Amazon EC2 describe-security-groups コマンドを次のように実行します。

aws ec2 describe-instances --output table --query 'Reservations[*].Instances[*].NetworkInterfaces[*].Groups[*].GroupId' --region us-east-2 --instance-ids i-12a3c456d789e0123

前述のコマンドで、 をインスタンス AWS リージョン を含む us-east-2に置き換え、 をインスタンス ID i-12a3c456d789e0123 に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力には、そのインスタンスのセキュリティグループ ID のリストが含まれています。

VPC でセキュリティグループの設定を表示または変更する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[セキュリティグループ]を選択します。セキュリティグループの横にあるボックスを選択します。設定を確認するには、それぞれのタブをクリックします。タブの設定を変更するには、該当する場合は[編集]を選択し、画面の指示に従います。

AWS CLI または を使用して設定aws-shellを表示するには、Amazon EC2 describe-security-groups コマンドを次のように実行します。

aws ec2 describe-security-groups --output table --region us-east-2 --group-ids sg-12a3b456

前述のコマンドで、 をインスタンス AWS リージョン を含む us-east-2に置き換え、 をセキュリティグループ ID sg-12a3b456 に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

AWS クラウド コンピューティングインスタンスのセキュリティグループの設定を表示または変更する

Amazon EC2 コンソールを使用するには、ナビゲーションペインで[インスタンス]を展開し、[インスタンス]を選択します。インスタンスの一覧で、インスタンスの横のボックスを選択します。[説明]タブの[セキュリティグループ]で、セキュリティグループを選択します。各タブを確認します。タブの設定を変更するには、該当する場合は[編集]を選択し、画面の指示に従います。

AWS CLI または を使用して設定aws-shellを表示するには、Amazon EC2 describe-security-groups コマンドを次のように実行します。

aws ec2 describe-security-groups --output table --region us-east-2 --group-ids sg-12a3b456

前述のコマンドで、 をインスタンス AWS リージョン を含む us-east-2に置き換え、 をセキュリティグループ ID sg-12a3b456 に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

のインバウンドおよびアウトバウンドの最小トラフィック設定 AWS Cloud9

重要

インスタンスの IA セキュリティグループにはインバウンドルールがない場合があります。この場合、別のホストからインスタンスへの着信トラフィックは許可されません。no-ingress EC2 インスタンスの使用については、「AWS Systems Manager を使用して no-ingress EC2 インスタンスにアクセスする」を参照してください。

  • インバウンド: ポート 22 で SSH を使用するすべての IP アドレス。ただし、これらの IP アドレスは、 が AWS Cloud9 使用する IP アドレスのみに制限できます。詳細については、「AWS Cloud9 のインバウンド SSH IP アドレスの範囲」を参照してください。

    注記

    2018 年 7 月 31 日以降に作成された EC2 環境の場合、 はセキュリティグループ AWS Cloud9 を使用して、ポート 22 経由で SSH を使用するインバウンド IP アドレスを制限します。これらのインバウンド IP アドレスは、特に が AWS Cloud9 使用するアドレスのみです。詳細については、「AWS Cloud9 のインバウンド SSH IP アドレスの範囲」を参照してください。

  • インバウンド (ネットワーク ACL のみ): EC2 環境 と、Amazon Linux または Ubuntu Server を実行して Amazon EC2 インスタンスと関連付けられた SSH 環境である場合、ポート 32768〜61000 経由で TCP を使用するすべての IP アドレス。詳細と、他の Amazon EC2 インスタンスタイプのポート範囲を含むについては、Amazon VPC ユーザーガイドの「一時ポート」を参照してください。

  • アウトバウンド: 任意のプロトコルとポートを使用するすべてのトラフィックソース。

セキュリティグループレベルでこの動作を設定することができます。さらにセキュリティレベルを高めるために、ネットワーク ACL を使用することもできます。詳細については、Amazon VPC ユーザーガイドの「セキュリティグループおよびネットワーク ACL の比較」を参照してください。

たとえば、インバウンドおよびアウトバウンドのルールをセキュリティグループに追加するには、次のようにルールを設定します。

インバウンドルール
タイプ プロトコル ポート範囲 ソース

SSH (22)

TCP (6)

22

0.0.0.0 (ただし次の注記および AWS Cloud9 のインバウンド SSH IP アドレスの範囲 を参照)。

注記

2018 年 7 月 31 日以降に作成された EC2 環境の場合、 は、ポート 22 経由で SSH を使用してインバウンド IP アドレスを制限するインバウンドルール AWS Cloud9 を追加します。これにより、 が AWS Cloud9 使用するアドレスのみに制限されます。詳細については、「AWS Cloud9 のインバウンド SSH IP アドレスの範囲」を参照してください。

アウトバウンドルール
タイプ プロトコル ポート範囲 ソース

すべてのトラフィック

すべて

すべて

0.0.0.0/0

例えば、インバウンドおよびアウトバウンドのルールをネットワーク ACL に追加するよう選択した場合は、次のようにルールをセットアップします。

インバウンドルール
ルール番号 タイプ プロトコル ポート範囲 ソース 許可/拒否

100

SSH (22)

TCP (6)

22

0.0.0.0 (ただし AWS Cloud9 のインバウンド SSH IP アドレスの範囲 を参照)。

許可

200

カスタム TCP ルール

TCP (6)

32768-61000 (Amazon Linux および Ubuntu Server インスタンスの場合。 その他のインスタンスタイプについては、一時ポートを参照してください)。

0.0.0.0/0

許可

*

すべてのトラフィック

すべて

すべて

0.0.0.0/0

DENY

アウトバウンドルール
ルール番号 タイプ プロトコル ポート範囲 ソース 許可/拒否

100

すべてのトラフィック

すべて

すべて

0.0.0.0/0

許可

*

すべてのトラフィック

すべて

すべて

0.0.0.0/0

DENY

セキュリティグループとネットワーク ACL の詳細については、次のAmazon VPC ユーザーガイドを参照してください。

VPC でのセキュリティグループの作成

Amazon VPC または Amazon EC2 コンソールを使用するには、次のいずれかのアクションを実行します。

  • Amazon VPC コンソールのナビゲーションペインで、[セキュリティグループ]を選択します。[セキュリティグループの作成]を選択し、画面の指示に従います。

  • Amazon EC2 コンソールのナビゲーションペインで[ネットワーク & セキュリティ]を展開し、[セキュリティグループ]を選択します。[セキュリティグループの作成]を選択し、画面の指示に従います。

AWS CLI または を使用するにはaws-shell、Amazon EC2 create-security-group コマンドを次のように実行します。

aws ec2 create-security-group --region us-east-2 --vpc-id vpc-1234ab56

前述のコマンドで、 を VPC AWS リージョン を含む us-east-2に置き換え、 を VPC ID vpc-1234ab56に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

VPC に 1 つ以上のネットワーク ACL があるかどうかを確認する

Amazon VPC コンソールを使用するため、ナビゲーションペインで[お客様の VPC]を選択します。 AWS Cloud9 使用する VPC の横にあるボックスを選択します。[概要]タブで、[ネットワーク ACL]の値がある場合は、VPC に少なくとも 1 つのネットワーク ACL があります。

AWS CLI または を使用するにはaws-shell、Amazon EC2 describe-network-acls コマンドを実行します。

aws ec2 describe-network-acls --output table --query 'NetworkAcls[*].Associations[*].NetworkAclId' --region us-east-2 --filters Name=vpc-id,Values=vpc-1234ab56

前述のコマンドで、 を VPC AWS リージョン を含む us-east-2に置き換え、 を VPC ID vpc-1234ab56に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力のリストに少なくとも 1 つのエントリがある場合、その VPC には少なくとも 1 つのネットワーク ACL があります。

VPC のネットワーク ACL のリストを表示する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[ネットワーク ACL]を選択します。[ネットワーク ACL を検索]ボックスに、VPC ID または名前を入力し、[Enter ]キーを押します。その VPC のネットワーク ACL が検索結果のリストに表示されます。

AWS CLI または を使用するにはaws-shell、Amazon EC2 describe-network-acls コマンドを実行します。

aws ec2 describe-network-acls --output table --query 'NetworkAcls[*].Associations[*].NetworkAclId' --region us-east-2 --filters Name=vpc-id,Values=vpc-1234ab56

前述のコマンドで、 を VPC AWS リージョン を含む us-east-2に置き換え、 を VPC ID vpc-1234ab56に置き換えます。上記のコマンドを Windows で実行するには、一重引用符 (' ') を二重引用符 (" ") で置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

出力には、その VPC のネットワーク ACL のリストが含まれています。

ネットワーク ACL の設定を表示または変更する

Amazon VPC コンソールを使用するには、ナビゲーションペインで[ネットワーク ACL]を選択します。ネットワーク ACL の横にあるボックスを選択します。設定を確認するには、それぞれのタブをクリックします。タブの設定を変更するには、該当する場合は[編集]を選択し、画面の指示に従います。

AWS CLI または を使用して設定aws-shellを表示するには、Amazon EC2 describe-network-acls コマンドを実行します。

aws ec2 describe-network-acls --output table --region us-east-2 --network-acl-ids acl-1234ab56

前述のコマンドで、 をネットワーク ACL AWS リージョン を含む us-east-2に置き換え、 をネットワーク ACL ID acl-1234ab56に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

ネットワーク ACL の作成

Amazon VPC コンソールを使用するには、ナビゲーションペインで[ネットワーク ACL]を選択します。[ネットワーク ACL の作成]を選択し、画面の指示に従います。

AWS CLI または を使用するにはaws-shell、Amazon EC2 create-network-acl コマンドを実行します。

aws ec2 create-network-acl --region us-east-2 --vpc-id vpc-1234ab56

前述のコマンドus-east-2で、 を、新しいネットワーク ACL をアタッチする VPC AWS リージョン を含む に置き換えます。さらに、vpc-1234ab56 を VPC ID に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

VPC と他の VPC リソースを作成する

次の手順に従って、アプリケーションの実行に必要な VPC および追加の VPC リソースを作成します。VPC リソースには、サブネット、ルートテーブル、インターネットゲートウェイ、NAT ゲートウェイが含まれます。

コンソールを使用して VPC、サブネット、その他の VPC リソースを作成するには
  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. VPC ダッシュボードで、[Create VPC (VPC を作成する)] を選択します。

  3. [Resources to create] (作成するリソース) で、[VPC and more] (VPC など) を選択します。

  4. VPC リソースの名前タグを作成するには、[名前タグの自動生成] を選択したままにします。VPC リソースに独自の名前タグを指定するには、これを選択解除します。

  5. [IPv4 CIDR ブロック] に VPC の IPv4 アドレス範囲を入力する必要があります。の推奨 IPv4 範囲 AWS Cloud9 は です10.0.0.0/16

  6. (オプション) IPv6 トラフィックをサポートするには、[IPv6 CIDR ブロック][Amazon が提供する IPv6 CIDR ブロック] の順に選択します。

  7. [テナンシー] を選択します 。このオプションは、VPC で起動する EC2 インスタンスを、他の AWS アカウント と共有しているハードウェアで実行するか、または自分専用のハードウェアで実行するかを定義します。VPCのテナンシーとして Default を選択すると、この VPC で起動した EC2 インスタンスは、インスタンスの起動時に指定したテナンシー属性を使用します。詳細については、「Amazon EC2 ユーザーガイド」の「定義されたパラメータを使用してインスタンスを起動する」を参照してください。 Amazon EC2

    VPC のテナンシーで Dedicated を選択すると、インスタンスは常に、ユーザー専用のハードウェアで実行される、専有インスタンスとして実行されます。 AWS Outposts を使用している場合、Outpost にはプライベート接続が必要であり、Default テナンシーを使用する必要があります。

  8. [アベイラビリティーゾーン (AZ) の数] では、本番環境用にサブネットを 2 つ以上のAvailability Zonesでプロビジョニングすることをお勧めします。サブネットの AZ を選択するには、[AZ のカスタマイズ] を展開します。それ以外の場合は、 で AZs AWS を選択できます。

  9. サブネットを設定するには、[パブリックサブネットの数][プライベートサブネットの数] の値を選択します。サブネットの IP アドレス範囲を選択するには、[サブネット CIDR ブロックをカスタマイズ] を展開します。それ以外の場合は、それら AWS を選択してください。

  10. (オプション) プライベートサブネットのリソースが IPv4 経由でパブリックインターネットにアクセスする必要がある場合は、[NAT ゲートウェイ] で、NAT ゲートウェイを作成する AZ の数を選択します。本番環境では、パブリックインターネットへのアクセスを必要とするリソースがある各 AZ に NAT ゲートウェイをデプロイすることをお勧めします。

  11. (オプション) プライベートサブネット内のリソースが IPv6 経由でパブリックインターネットにアクセスする必要がある場合は、[Egress Only インターネットゲートウェイ] で、[はい] をクリックします。

  12. (オプション) VPC から Amazon S3 に直接アクセスするには、[VPC エンドポイント][S3 ゲートウェイ] の順に選択します。これにより、Amazon S3 用のゲートウェイ VPC エンドポイントが作成されます。詳細については、「AWS PrivateLink ガイド」の「ゲートウェイ VPC エンドポイント」を参照してください。

  13. (オプション) [DNS オプション] では、ドメイン名解決の両方のオプションがデフォルトで有効になっています。デフォルトの設定がニーズに合わない場合は、これらのオプションを非アクティブ化できます。

  14. (オプション) VPC にタグを追加するには、[追加のタグ] を展開して、[新しいタグを追加] を選択し、タグキーとタグ値を入力します。

  15. [プレビュー] ペインでは、設定した VPC リソース間の関係を視覚化できます。実線はリソース間の関係を表します。点線は、NAT ゲートウェイ、インターネットゲートウェイ、およびゲートウェイエンドポイントへのネットワークトラフィックを表します。VPC の作成後、[リソースマップ] タブを使用することで、VPC 内のリソースをこの形式でいつでも視覚化できます。

  16. VPC の設定が完了したら、[VPC の作成] を選択します。

VPC のみを作成する

次の手順に従って Amazon VPC コンソールを使用し、追加の VPC リソースのない VPC を作成します。

コンソールを使用して追加の VPC リソースのない VPC を作成するには
  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. VPC ダッシュボードで、[Create VPC (VPC を作成する)] を選択します。

  3. [作成するリソース]で、[VPC のみ] を選択します。

  4. (オプション) [名前タグ] に、使用する VPC の名前を入力します。これにより、Name というキーと指定した値を含むタグが作成されます。

  5. [IPv4 CIDR block] で、次のいずれかを実行します。

    • [IPv4 CIDR 手動入力] を選択し、VPC の IPv4 アドレス範囲を入力します。の推奨 IPv4 範囲 AWS Cloud9 は です10.0.0.0/16

    • [IPAM が割り当てられた IPv4 CIDR ブロック] を選択し、Amazon VPC IP Address Manager (IPAM) の IPv4 アドレスプールとネットマスクを選択します。CIDR ブロックのサイズは、IPAM プールの割り当てルールによって制限されます。IPAM は、 AWS ワークロードの IP アドレスの計画、追跡、モニタリングに役立つ VPC 機能です。詳細については、「Amazon Virtual Private Cloud 管理者ガイド」の「 Amazon VPC とは」を参照してください。

      IPAM を使用して IP アドレスを管理する場合は、このオプションを選択することをお勧めします。このオプションを選択しないと、VPC に指定した CIDR ブロックが IPAM CIDR 割り当てと重複する可能性があります。

  6. (オプション) デュアルスタック VPC を作成するには、VPC の IPv6 アドレス範囲を指定します。[IPv6 CIDR ブロック] で、次のいずれかを実行します。

    • [IPAM が割り当てられた IPv6 CIDR] を選択し、IPAM IPv6 アドレスプールを選択します。CIDR ブロックのサイズは、IPAM プールの割り当てルールによって制限されます。

    • Amazon の IPv6 アドレスプールの IPv6 CIDR ブロックをリクエストするには、[Amazon が提供する IPv6 CIDR ブロック] を選択します。ネットワークボーダーグループ で、 が IP アドレスを AWS アドバタイズするグループを選択します。Amazon では IPv6 CIDR ブロックサイズが /56 に固定されています。

    • 自分の IPv6 アドレスを持ち込む (BYOIP) を使用して に持ち込んだ IPv6 CIDR ブロックを使用するには、自分が所有する IPv6 CIDR を選択します。 AWS https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html[Pool (プール)] で、IPv6 CIDR ブロックの割り当て元となる IPv6 アドレスプールを選択します。

  7. (オプション) [テナンシー] を選択します 。このオプションは、VPC で起動する EC2 インスタンスを、他の と共有されているハードウェアで実行するか、 AWS アカウント ユーザー専用のハードウェアで実行するかを定義します。VPC のテナンシーとして Default を選択すると、この VPC で起動した EC2 インスタンスは、インスタンスの起動時に指定したテナンシー属性を使用します。詳細については、「Amazon EC2 ユーザーガイド」の「定義されたパラメータを使用してインスタンスを起動する」を参照してください。 Amazon EC2

    VPC のテナンシーで Dedicated を選択すると、インスタンスは常に、ユーザー専用のハードウェアで実行される、専有インスタンスとして実行されます。 AWS Outposts を使用している場合、Outpost にはプライベート接続が必要であり、Default テナンシーを使用する必要があります。

  8. (オプション) VPC にタグを追加するには、[新しいタグを追加] を選択し、タグキーとタグ値を入力します。

  9. [Create VPC(VPC の作成)] を選択します。

  10. VPC の作成後、サブネットを追加できます。

のサブネットを作成する AWS Cloud9

Amazon VPC コンソールを使用して、 と互換性のある VPC のサブネットを作成できます AWS Cloud9。EC2 インスタンスのプライベートサブネットとパブリックサブネットのどちらを作成できるかは、環境の接続方法によって異なります。

  • SSH による直接アクセス:パブリックサブネットのみ

  • Systems Manager からのアクセス: パブリックまたはプライベートサブネット

環境の EC2 をプライベートサブネットに起動するオプションが利用できるのは、コンソール、コマンドライン、または AWS CloudFormation を使った「no-ingress」 EC2 環境を作成する場合に限られます。

パブリックまたはプライベートのいずれかになりえるサブネットを作成と同じステップに従ってくださいい。サブネットがインターネットゲートウェイへのルートがあるルートテーブルに関連付けられている場合は、「パブリックサブネット」と呼ばれます。サブネットがインターネットゲートウェイへのルートがないルートテーブルに関連付けられている場合は、「プライベートサブネット」と呼ばれます。詳細については、「サブネットをパブリックまたはプライベートとして設定する」を参照してください。

前の手順に従って の VPC を作成した場合 AWS Cloud9、この手順に従う必要もありません。これは、[新しい VPC の作成]ウィザードによって自動的にサブネットが作成されるためです。

重要
  • には、環境に対して同じ AWS リージョン に互換性のある VPC が既に存在している AWS アカウント 必要があります。詳細については、の Amazon VPC 要件 AWS Cloud9の VPC 要件を参照してください。

  • この手順では、 にサインイン AWS Management Console し、 の IAM 管理者の認証情報を使用して Amazon VPC コンソールを開くことをお勧めします AWS アカウント。これができない場合は、 AWS アカウント 管理者に確認してください。

  • 一部の組織では、独自のサブネットの作成が許可されていない場合があります。サブネットを作成できない場合は、 AWS アカウント 管理者またはネットワーク管理者に確認してください。

サブネットを作成するには
  1. Amazon VPC コンソールがまだ開いていない場合は、 にサインイン AWS Management Console し、https://console.aws.amazon.com/vpc で Amazon VPC コンソールを開きます。

  2. ナビゲーションバーで、 AWS リージョン が環境のリージョンと同じでない場合は、正しいリージョンを選択します。

  3. サブネット]ページが表示されていない場合は、ナビゲーションペインで[サブネット]を選択します。

  4. [Create Subnet(サブネットの作成)] を選択します。

  5. サブネットの作成]ダイアログボックスの[名前タグ]にサブネットの名前を入力します。

  6. VPC]で、サブネットを関連付ける VPC を選択します。

  7. アベイラビリティーゾーン では、使用するサブネット AWS リージョン の 内のアベイラビリティーゾーンを選択するか、「設定なし」を選択して、 がアベイラビリティーゾーン AWS を選択できるようにします。

  8. IPv4 CIDR ブロック]に、使用するサブネットの IP アドレス範囲を CIDR 形式で入力します。この IP アドレスの範囲は、VPC の IP アドレスのサブネットである必要があります。

    CIDR ブロックの詳細については、Amazon VPC ユーザーガイドVPC とサブネットのサイジングを参照してください。3.1 Basic Concept and Prefix Notation (RFC 4632) または IPv4 CIDR ブロック (Wikipedia) も参照してください。

サブネットの作成後、パブリックサブネットまたはプライベートサブネットとして設定する

サブネットをパブリックまたはプライベートとして設定する

サブネットを作成した後、インターネットとの通信方法を指定して、サブネットをパブリックまたはプライベートにすることができます。

パブリックサブネットにはパブリック IP アドレスがあり、サブネットのインスタンスと他の AWS のサービスの通信を可能にするインターネットゲートウェイ(IGW)が添付されています。

プライベートサブネット内のインスタンスにはプライベート IP アドレスがあり、ネットワークアドレス変換 (NAT) ゲートウェイを使用して、サブネットとインターネットとその他の AWS のサービスの間でトラフィックを送受信します。NAT ゲートウェイはパブリックサブネットにホストする必要があります。

Public subnets
注記

環境のインスタンスがプライベートサブネットで起動された場合でも、VPC は少なくとも 1 つのパブリックサブネットを備えている必要があります。これは、インスタンスとの間でトラフィックを転送する NAT ゲートウェイがパブリックサブネットでホストされている必要があるためです。

サブネットをパブリックとして設定するには、インターネットゲートウェイ(IGW)を添付し、その IGW へのルートを指定するようにルートテーブルを設定し、インバウンドトラフィックとアウトバウンドトラフィックを制御するため、セキュリティグループの設定を定義します。

これらのタスクの実行に関するガイダンスは VPC と他の VPC リソースを作成する で提供されています。

重要

開発環境がSSM を使用して EC2 インスタンスにアクセスし、インスタンスが起動先のパブリックサブネットによってパブリック IP アドレスに割り当てられていることを確認します。そのためには、パブリックサブネットのパブリック IP アドレスの自動割り当てオプションを有効にし、[Yes] に設定する必要があります。これは、サブネット設定ページ内に AWS Cloud9 環境を作成する前に、パブリックサブネットで有効にできます。パブリックサブネットで自動割り当て IP 設定を変更する手順については、「Amazon VPC ユーザーガイド」の「サブネットのパブリック IPv4 アドレス属性を変更する」を参照してください。パブリックサブネットとプライベートサブネットの詳細については、「サブネットをパブリックまたはプライベートとして設定する」を参照してください。

Private subnets

Systems Manager からアクセスする no-ingress インスタンスを作成する場合は、プライベートサブネットで起動できます。プライベートサブネットにはパブリック IP アドレスはありません。そのため、リクエストには、プライベート IP アドレスをパブリックアドレスにマッピングし、応答には、パブリック IP アドレスをプライベートアドレスにマッピングする必要があります。

警告

アカウントで NAT ゲートウェイを作成して使用するには料金がかかります。NAT ゲートウェイの時間単位の使用料金とデータ処理料金が適用されます。Amazon EC2 データ転送料金も適用されます。詳細については、「Amazon VPC の料金」を参照してください。

NAT ゲートウェイを作成して設定する前に、次の手順を行います。

  • NAT ゲートウェイをホストするパブリック VPC サブネットを作成します。

  • NAT ゲートウェイに割り当てることができるElastic IP アドレスをプロビジョンします。

  • プライベートサブネットの場合は、起動されたインスタンスがプライベート IP アドレスに割り当てられるように、[パブリック IPv4 アドレスの自動割り当てを有効にする]チェックボックスを解除します。詳細については、Amazon VPC ユーザーガイドの「VPC の IP アドレス指定」を参照してください。

このタスクのステップについては、Amazon VPC ユーザーガイドの「NAT ゲートウェイの使用」を参照してください。。

重要

現在、環境の EC2 インスタンスがプライベートサブネットで起動されている場合、AWS マネージド一時認証情報を使用して、EC2 環境が IAM ユーザーなどの AWS エンティティ AWS のサービス に代わって にアクセスすることを許可することはできません。