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

AWS Cloud9 は、新しいお客様では利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

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

VPC AWS Cloud9 開発環境の設定

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

の Amazon VPC要件 AWS Cloud9

VPC AWS Cloud9 を使用する Amazon には、次の設定が必要です。これらの要件をすでに理解していて、互換性のある を作成する場合はVPC、「」に進みますVPC プラスの他のVPCリソースを作成する

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

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

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

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

  • Systems Manager を使用して非進入 Amazon EC2インスタンスにアクセスする場合、インスタンスをパブリックサブネットまたはプライベートサブネットのいずれかで起動できます。

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

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

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

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

  • セキュリティをさらに強化するために、 にネットワーク VPCがある場合ACL、ネットワークは最小限のインバウンドトラフィックとアウトバウンドトラフィックのセットを許可ACLする必要があります。Amazon に少なくとも 1 つのネットワーク VPC があるかどうかを確認するにはACL、「」を参照してくださいに少なくとも 1 つのネットワークVPCがあるかどうかを確認する 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 アカウント 管理者に確認してください。

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

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

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 を無視します。

出力には のリストが含まれますVPCIDs。

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

Amazon VPCコンソールを使用するには、ナビゲーションペインで VPCsを選択します。ID 列VPCに の 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 を無視します。

出力で、VPCID に一致するサブネットを探します。

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

重要

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

にアクセスするためのNATゲートウェイの代わりにVPCエンドポイントを選択した場合SSM。これらのパッチがインターネットアクセスに依存する場合、インスタンスの自動更新とセキュリティパッチが機能しないことがあります。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

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

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

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

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

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

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

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

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

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コンソールを使用するには、ナビゲーションペインで Internet Gateways を選択します。インターネットゲートウェイの横にあるボックスを選択します。アクションを選択し、可能であれば にアタッチ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 ID vpc-1234ab56に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

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

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

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

前のコマンドで、 AWS リージョン を を含む us-east-2にVPC、 を 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

前のコマンドで、 us-east-2を新しいルートテーブル AWS リージョン を含む に、 を 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

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

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

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 を無視します。

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

内のセキュリティグループの設定を表示または変更する 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インスタンスの使用については、「」を参照してくださいを使用して非進入EC2インスタンスにアクセスする AWS Systems Manager

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

    注記

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

  • インバウンド (ネットワークACLsのみ): Amazon Linux または Ubuntu Server を実行する Amazon EC2インスタンスに関連付けられているEC2SSH環境の場合、すべての IP アドレスはポート 32768-61000 TCP経由で を使用します。詳細については、「Amazon VPCユーザーガイド」の「エフェメラルポートEC2」を参照してください。

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

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

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

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

SSH (22)

TCP (6)

22

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

注記

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

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

すべてのトラフィック

ALL

ALL

0.0.0.0/0

また、ネットワーク にインバウンドルールとアウトバウンドルールを追加する場合はACL、次のようにそれらのルールを設定できます。

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

100

SSH (22)

TCP (6)

22

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

ALLOW

200

カスタムTCPルール

TCP (6)

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

0.0.0.0/0

ALLOW

*

すべてのトラフィック

ALL

ALL

0.0.0.0/0

DENY

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

100

すべてのトラフィック

ALL

ALL

0.0.0.0/0

ALLOW

*

すべてのトラフィック

ALL

ALL

0.0.0.0/0

DENY

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

でセキュリティグループを作成する VPC

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

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

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

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

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

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

に少なくとも 1 つのネットワークVPCがあるかどうかを確認する ACL

Amazon VPCコンソールを使用するには、ナビゲーションペインで VPCsを選択します。VPC AWS Cloud9 使用する の横にあるボックスを選択します。概要タブで、ネットワーク の値がある場合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

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

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

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

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

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

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

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

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

Amazon VPCコンソールを使用するには、ナビゲーションペインで Network ACLs を選択します。ネットワーク の横にあるボックスを選択します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

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

ネットワークを作成する ACL

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

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

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

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

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

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

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

  2. VPC ダッシュボードで、 の作成 VPCを選択します。

  3. リソースで を作成する場合は、 VPC などを選択します。

  4. VPC リソースの名前タグを作成するには、名前タグの自動生成を選択したままにします。VPC リソースに独自の名前タグを指定するには、そのタグをクリアします。

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

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

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

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

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

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

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

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

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

  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 ダッシュボードで、 の作成 VPCを選択します。

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

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

  5. IPv4 CIDR ブロック の場合は、次のいずれかを実行します。

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

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

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

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

    • IPAM割り当てIPv6CIDRブロックを選択し、IPAMIPv6アドレスプールを選択します。CIDR ブロックのサイズは、IPAMプールの配分ルールによって制限されます。

    • Amazon のIPv6アドレスプールからIPv6CIDRブロックをリクエストするには、Amazon が提供するIPv6CIDRブロック を選択します。Network Border Group では、 が IP アドレスをアド AWS バタイズするグループを選択します。Amazon では、固定IPv6CIDRブロックサイズは /56 です。

    • 自分の IP アドレスを持ち込む (BYOIP) AWS を使用して に持ち込んだIPv6CIDRブロックを使用するには、IPv6自分のCIDR所有を選択しますプール では、IPv6CIDRブロックを割り当てるIPv6アドレスプールを選択します。

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

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

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

  9. Create VPCを選択します。

  10. を作成したらVPC、サブネットを追加できます。

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

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

  • を介した直接アクセスSSH: パブリックサブネットのみ

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

環境の をプライベートサブネットEC2で起動するオプションは、コンソール、コマンドライン、または AWS CloudFormationを使用して「進入なしEC2」環境を作成する場合にのみ使用できます。

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

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

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

  • この手順では、 にサインイン 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 アドレスの範囲は、 の IP アドレスのサブセットである必要がありますVPC。

    CIDR ブロックの詳細については、「Amazon VPCユーザーガイド」のVPC「 とサブネットのサイズ設定」を参照してください。3.1 4632 または Wikipedia RFC のIPv4CIDRブロックの基本概念とプレフィックス表記

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

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

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

パブリックサブネットにはパブリック IP アドレスがあり、インターネットゲートウェイ (IGW) がアタッチされており、サブネットのインスタンスとインターネットおよびその他の 間の通信を許可します AWS のサービス。

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

Public subnets
注記

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

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

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

重要

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

Private subnets

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

警告

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

NAT ゲートウェイを作成して設定する前に、以下を実行する必要があります。

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

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

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

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

重要

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