AWS Cloud9
ユーザーガイド

AWS Cloud9 Development Environments の VPC の設定

Amazon Virtual Private Cloud (Amazon VPC) に関連するすべての AWS Cloud9 development environment は、特定の VPC 要件を満たす必要があります。これらの environments には、EC2 environments だけでなく、VPC 内で実行されている AWS クラウドコンピューティングインスタンス (Amazon EC2 インスタンスや Amazon Lightsail インスタンスなど) に関連付けられた SSH environments も含まれます。

AWS Cloud9 の Amazon VPC 要件

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

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

条件 確認する方法 その他のリソース

VPC は、AWS Cloud9 development environment と同じ AWS アカウントおよび AWS リージョン内に存在する場合があります。

—または—

VPC は、environment とは異なる AWS アカウントの共有 VPC である場合があります(ただし、VPC は environment と同じ AWS リージョンにあることが必要です)。

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

VPC にはパブリックサブネットが必要です(トラフィックがインターネットゲートウェイにルーティングされる場合、サブネットはパブリックです)。

サブネットには、最小限のルートセットを含むルートテーブルが必要です。

VPC (またはアーキテクチャによっては AWS クラウドコンピューティングインスタンス) の関連付けられたセキュリティグループは、インバウンドおよびアウトバウンドトラフィックの最小セットを許可する必要があります。

セキュリティレイヤーを追加するため、VPC にネットワーク ACL がある場合、ネットワーク ACL はインバウンドおよびアウトバウンドトラフィックの最小セットを許可する必要があります。

ネットワーク ACL の作成

注記

以下の手順では、Amazon VPC コンソールまたは Amazon EC2 コンソールを使用する場合に、AWS アカウントの IAM 管理者ユーザーの認証情報を使用して AWS マネジメントコンソール にサインインし、Amazon VPC コンソール (https://console.aws.amazon.com/vpc) または Amazon EC2 コンソール (https://console.aws.amazon.com/ec2) を開くようお勧めします。AWS CLI または aws-shell を使用する場合は、AWS アカウントの IAM 管理者ユーザーの認証情報を使用して、AWS CLI または aws-shell を設定するようお勧めします。これを実行できない場合は、AWS アカウントの管理者に確認してください。

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

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

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

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

上のコマンドで、us-east-2 は AWS Cloud9 によって environment を作成する先の AWS リージョンに置き換えてください。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

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

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

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

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

前述のコマンドで、us-east-2 をサブネットがある AWS リージョンで置き換え、subnet-12a3456b をサブネット ID で置き換えます。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

前述のコマンドで、us-east-2 を VPC がある AWS リージョンで置き換え、vpc-1234ab56 を VPC ID で置き換えます。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

前述のコマンドで、us-east-2 をインターネットゲートウェイがある AWS リージョンで置き換え、igw-1234ab5c をインターネットゲートウェイ ID で置き換えます。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

前述のコマンドで、us-east-2 を、新規のインターネットゲートウェイがある AWS リージョンに置き換えます。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

前述のコマンドで、us-east-2 をインターネットゲートウェイがある AWS リージョンで置き換え、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

前述のコマンドで、us-east-2 をパブリックサブネットがある AWS リージョンで置き換え、subnet-12a3456b をパブリックサブネット ID で置き換えます。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

前述のコマンドで、us-east-2 を VPC がある AWS リージョンで置き換え、vpc-1234ab56 を VPC ID で置き換えます。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

前述のコマンドで、us-east-2 をルートテーブルがある AWS リージョンで置き換え、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-1234ab56 を VPC ID で置き換えます。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

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

AWS Cloud9 の最小限推奨されるルートテーブル設定

送信先 ターゲット ステータス 伝播済み

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

前述のコマンドで、us-east-2 を VPC がある AWS リージョンで置き換え、vpc-1234ab56 を VPC ID で置き換えます。Windows で前述のコマンドプロンプトを実行する場合は、一重引用符を二重引用符に置き換えます。aws-shell で前述のコマンドを実行する場合は、aws を無視します。

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

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

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

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

前述のコマンドで、us-east-2 をインスタンスがある AWS リージョンで置き換え、i-12a3c456d789e0123 をインスタンス ID で置き換えます。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

前述のコマンドで、us-east-2 をインスタンスがある AWS リージョンで置き換え、sg-12a3b456 をセキュリティグループ ID で置き換えます。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

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

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

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

    注記

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

  • インバウンド (ネットワーク ACL のみ): EC2 environments と、Amazon Linux を実行する Amazon EC2 インスタンスに関連付けられた SSH environments については、ポート 32768〜61000 経由で TCP を使用するすべての IP アドレス。詳細および他の Amazon EC2 インスタンスタイプのポート範囲については、Amazon VPC User Guide の「一時ポート」を参照してください。

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

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

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

インバウンドルール:

タイプ プロトコル ポート範囲 送信元

SSH (22)

TCP (6)

22

0.0.0.0 (ただし、以下の注記と「インバウンド SSH IP アドレス範囲」を参照)

注記

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

アウトバウンドルール:

タイプ プロトコル ポート範囲 送信元

すべてのトラフィック

ALL

ALL

0.0.0.0/0

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

インバウンドルール:

ルール番号 タイプ プロトコル ポート範囲 送信元 許可/拒否

100

SSH (22)

TCP (6)

22

0.0.0.0 (ただし、「インバウンド SSH IP アドレスの範囲」を参照)

許可

200

カスタム TCP ルール

TCP (6)

32768-61000 (Amazon Linux インスタンス用。その他のインスタンスタイプについては、「一時ポート」を参照。)

0.0.0.0/0

許可

*

すべてのトラフィック

ALL

ALL

0.0.0.0/0

拒否

アウトバウンドルール:

ルール番号 タイプ プロトコル ポート範囲 送信元 許可/拒否

100

すべてのトラフィック

ALL

ALL

0.0.0.0/0

許可

*

すべてのトラフィック

ALL

ALL

0.0.0.0/0

拒否

セキュリティグループとネットワーク ACL の詳細については、『Amazon VPC User Guide』の以下のセクションを参照してください。

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

前述のコマンドで、us-east-2 を VPC がある AWS リージョンで置き換え、vpc-1234ab56 を VPC ID で置き換えます。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

前述のコマンドで、us-east-2 を VPC がある AWS リージョンで置き換え、vpc-1234ab56 を VPC ID で置き換えます。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

前述のコマンドで、us-east-2 を VPC がある AWS リージョンで置き換え、vpc-1234ab56 を VPC ID で置き換えます。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

前述のコマンドで、us-east-2 をネットワーク ACL がある AWS リージョンで置き換え、acl-1234ab56 をネットワーク ACL ID で置き換えます。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 を無視します。

AWS Cloud9 向けの Amazon VPC を作成する

Amazon VPC コンソールを使用して、AWS Cloud9 と互換性のある Amazon VPC を作成できます。

注記

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

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

  1. Amazon VPC コンソールをまだ開いていない場合は、AWS マネジメントコンソール にサインインして Amazon VPC コンソール (https://console.aws.amazon.com/vpc) を開きます。

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

  3. [VPC ダッシュボード] ページが表示されていない場合は、ナビゲーションペインで [VPC ダッシュボード] を選択します。

  4. [VPC ウィザードの起動] を選択します。

  5. [ステップ 1: VPC 設定の選択] ページで、[1 個のパブリックサブネットを持つ VPC] が選択されていることを確認し、[選択] を選択します。

  6. [ステップ 2: 1 個のパブリックサブネットを持つ VPC] では、次のデフォルト設定のままにしておくことをお勧めします。(ただし、使用するカスタム CIDR がある場合は、CIDR 設定を変更できます。詳細については、Amazon VPC User Guide の「VPC とサブネットのサイズ設定」を参照してください。

    • [IPv4 CIDR ブロック]: [10.0.0.0/16]

    • [IPv6 CIDR ブロック]: [IPv6 CIDR ブロックなし]

    • [パブリックサブネットの IPv4 CIDR]: [10.0.0.0/24]

    • [アベイラビリティーゾーン]: [指定なし]

    • [DNS ホスト名を有効化]: [はい]

    • [ハードウェアテナンシー]: [デフォルト]

  7. [VPC name] に、VPC の名前を入力します。

  8. [サブネット名] に、VPC のサブネットの名前を入力します。

  9. [新しい VPC の作成] を選択します。

    Amazon VPC は AWS Cloud9 と互換性のある以下のリソースを作成します。

    • VPC。

    • VPC のパブリックサブネット。

    • パブリックサブネットのルートテーブルで、最低限の設定が必要です。

    • パブリックサブネットのインターネットゲートウェイ。

    • パブリックサブネットのネットワーク ACL で、最低限の設定が必要です。

  10. デフォルトでは、VPC はすべてのタイプ、プロトコル、ポート、および IP アドレスからの着信トラフィックを許可します。この動作を制限すると、ポート 22 を介した SSH を使用して AWS Cloud9 からの IP アドレスのみを許可することができます。1 つの方法は、次のように、VPC のデフォルトネットワーク ACL に受信ルールを設定することです。

    1. Amazon VPC コンソールのナビゲーションペインで、[お客様の VPC] を選択します。

    2. 先ほど作成した VPC のボックスを選択します。

    3. [概要] タブで、[ネットワーク ACL] の横にあるリンクを選択します。

    4. ネットワーク ACL の横に表示されているボックスを選択します。

    5. [インバウンドルール] タブで、[編集] を選択します。

    6. [ルール # 100)] の [タイプ] で、[SSH (22)] を選択します。

    7. [送信元] に、この VPC の AWS リージョンと一致する「インバウンド SSH IP アドレスの範囲」一覧のいずれかの CIDR ブロックを入力します。

    8. [別のルールの追加] を選択します。

    9. [ルール #] に「200」と入力します。

    10. [Type] で [SSH (22)] を選択します。

    11. [送信元] に、この VPC の AWS リージョンと一致する「インバウンド SSH IP アドレスの範囲」一覧のその他の CIDR ブロックを入力します。

    12. 少なくとも、Amazon Linux インスタンスタイプでは TCP ポート 32768-61000 を使用して、すべての IP アドレスからの着信トラフィックを許可する必要があります。(背景情報および他の Amazon EC2 インスタンスタイプのポート範囲については、Amazon VPC User Guide の「一時ポート」を参照してください。)これを行うには、[別のルールの追加] を選択します。

    13. [ルール #] に「300」と入力します。

    14. [Type] で [Custom TCP Rule] を選択します。

    15. [ポート範囲] に 32768-61000 (Amazon Linux インスタンスタイプ用) を入力します。

    16. [送信元] に「0.0.0.0/0」と入力します。

    17. [Save] を選択します。

    18. AWS Cloud9 の使用方法に応じて、ネットワーク ACL にさらにインバウンドルールまたはアウトバウンドルールを追加する必要があります。これらのルールで指定する [タイプ]、[プロトコル]、[ポート範囲]、および [送信元] の値については、VPC とのやりとりを許可するウェブサービスまたは API のドキュメントを参照してください。

AWS Cloud9 のサブネットの作成

Amazon VPC コンソールを使用して、AWS Cloud9 と互換性のある VPC のサブネットを作成できます。

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

重要

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

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

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

  1. Amazon VPC コンソールをまだ開いていない場合は、AWS マネジメントコンソール にサインインして Amazon VPC コンソール (https://console.aws.amazon.com/vpc) を開きます。

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

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

  4. [Create Subnet] を選択します。

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

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

  7. [アベイラビリティーゾーン] で、使用するサブネットの AWS リージョン内のアベイラビリティーゾーンを選択するか、[指定なし] を選択して、AWS にアベイラビリティーゾーンを選択させます。

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

    CIDR ブロックの詳細については、Amazon VPC User Guide の「VPC とサブネットのサイズ設定」を参照してください。RFC 4632 の「3.1.Basic Concept and Prefix Notation」、または Wikipedia の「IPv4 CIDR ブロック」も参照してください。

  9. サブネットを作成したら、互換性のあるルートテーブルとインターネットゲートウェイ、セキュリティグループ、ネットワーク ACL、またはその両方にサブネットを関連付けるようにしてください。詳細については、「AWS Cloud9 の Amazon VPC 要件」の要件を参照してください。