ClassicLink を使用した設定
2 つの VPC 間に VPC ピア接続があり、ClassicLink を使用して 1 つまたは両方の VPC にリンクされた 1 つ以上の EC2 Classic インスタンスが存在する場合は、VPC ピア接続を拡大して、EC2 Classic インスタンスと VPC ピアリング接続の他方の側の VPC のインスタンス間の通信を有効にすることができます。これにより、EC2-Classic インスタンスと VPC のインスタンスは、プライベート IP アドレスを使用して通信することができます。これを行うには、ローカル VPC がピア VPC でリンクされた EC2-Classic インスタンスと通信できるようするか、リンクされたローカル EC2-Classic インスタンスがピア VPC の VPC インスタンスと通信できるようにします。
ClassicLink で通信できるのは、VPC ピアリング接続の両方の VPC が同じリージョンにある場合に限ります。
IPv6 の通信用に EC2-Classic インスタンスを有効にすることはできません。VPC ピアリング接続のいずれかで VPC インスタンスを有効にすると、IPv6 経由で相互通信できます。ただし、VPC に ClassicLink 接続されている EC2-Classic インスタンスは、IPv4 のみを経由して、VPC ピアリング接続のもう一方の VPC インスタンスと通信できます。
VPC ピアリング接続が、リンクされた EC2-Classic インスタンスと通信できるようにするには、VPC ピアリング接続のリクエスタである場合はリクエスタの VPC ピアリング接続のオプションを変更する必要があります。また、VPC ピアリング接続のアクセプタである場合は、アクセプタの VPC ピアリング接続のオプションを変更する必要があります。describe-vpc-peering-connections コマンドを使用して、VPC ピアリング接続のアクセプタおよびリクエスタである VPC を確認できます。
次のように VPC ピアリング接続のオプションを変更できます。
-
ピア VPC と通信するために、ローカルにリンクしている EC2-Classic インスタンスを有効にします。
この場合、VPC ピアリング接続のオプションを変更して、ローカルの ClassicLink 接続から VPC ピアリング接続のもう一方の側のピア VPC へのアウトバウンド通信を有効にします。ピア VPC の所有者は、VPC ピアリング接続のオプションを変更して、ローカル VPC からリモート ClassicLink 接続へのアウトバウンド通信を有効にします。
-
ピア VPC 内のリンクされた EC2-Classic インスタンスと通信するために、ローカル VPC を有効にします。
この場合、VPC ピアリング接続のオプションを変更して、ローカル VPC から VPC ピアリング接続のもう一方の側のリモート ClassicLink 接続へのアウトバウンド通信を有効にします。リンクされた EC2-Classic インスタンスがあるピア VPC の所有者は、VPC ピアリング接続のオプションを変更して、ローカルの ClassicLink 接続からリモート VPC へのアウトバウンド通信を有効にします。
ローカルのリンクされた EC2-Classic インスタンスがピア VPC のインスタンスと通信できるようにする場合は、ローカル VPC のメインルートテーブルへのルートを、送信先をピア VPC CIDR ブロック、ターゲットを VPC ピアリング接続として手動で追加する必要があります。リンクされた EC2-Classic インスタンスは、VPC のどのサブネットとも関連付けられず、ピア VPC との通信についてメインルートテーブルに依存します。
VPC ピアリング接続のルートは、ピアリング接続への既存のルートがあるカスタムルートテーブルとは無関係に、メインルートテーブルに追加する必要があります。そうでない場合、EC2-Classic インスタンスはピア VPC と通信できません。
リモートの ClassicLink 接続を使用した通信用にローカル VPC を有効にすると、VPC のすべてのローカルルートテーブルに、送信先が 10.0.0.0/8
で、ターゲットが Local
のルートが自動的に追加されます。これにより、リモートのリンクされた EC2-Classic インスタンスとの通信が有効になります。ルートテーブルで、10.0.0.0/8
IP アドレス範囲 (VPC ピアリング接続のルートを含む) に既存の静的ルートがある場合、ローカル VPC でリモート ClassicLink 接続との通信を有効にすることはできません。
リージョンのサポート
次のリージョンでは、VPC ピアリング接続オプションを変更できます:
-
米国東部(バージニア北部)
-
米国西部 (北カリフォルニア)
-
米国西部 (オレゴン)
-
欧州 (アイルランド)
-
アジアパシフィック (東京)
-
アジアパシフィック (シンガポール)
-
南米 (サンパウロ)
-
アジアパシフィック (シドニー)
ClassicLink インスタンスとピア VPC 間の通信の有効化
以下のシナリオでは、VPC A は ClassicLink に対して有効であり、インスタンス A は ClassicLink を使用して VPC A にリンクされます。VPC
B は別の AWS アカウントにあり、VPC ピアリング接続 pcx-aaaabbbb
を使用して VPC A にピアリング接続されます。VPC ピアリング接続は VPC A によってリクエストされ、VPC B によって承諾されます。インスタンス A
がプライベート IP を介して VPC B と通信し、VPC B のインスタンスがプライベート IP を介してインスタンス A と通信するようにします。
このシナリオでは、VPC B は EC2-Classic をサポートするアカウント、または EC2-VPC のみをサポートするアカウントの VPC となります。

VPC A のルートテーブルには、ローカルの VPC トラフィック用のルートと、リンクされた EC2-Classic インスタンスへの通信を有効にするルートが含まれます。VPC A のカスタムルートテーブルには、サブネットのインスタンスが VPC ピアリング接続を介してピア VPC と通信できるようにするルートと、すべてのインターネットトラフィックをインターネットゲートウェイにルーティングするルートが含まれます。VPC B のカスタムルートテーブルには、サブネットのインスタンスが VPC ピアリング接続を介してピア VPC と通信できるようにするルートが含まれます。
ルートテーブル | 送信先 | Target | コメント |
---|---|---|---|
VPC A カスタム | 172.31.0.0/16 | ローカル | VPC A 用のデフォルトのローカルルート。 |
192.168.0.0/16 | pcx-aaaabbbb | VPC A と VPC B 間のピアリング接続用に手動で追加されたルート。 | |
10.0.0.0/8 | ローカル | ClassicLink 通信を有効にするために自動的に追加されたルート (インスタンスを VPC A にリンクしたときに追加)。 | |
0.0.0.0/0 | igw-11aa22bb | インターネットゲートウェイにインターネットトラフィックをルーティングするために手動で追加されたルート。 | |
VPC A メイン | 172.31.0.0/16 | ローカル | VPC A 用のデフォルトのローカルルート。 |
10.0.0.0/8 | ローカル | ClassicLink 通信を有効にするために自動的に追加されたルート (インスタンスを VPC A にリンクしたときに追加)。 | |
VPC B カスタム | 192.168.0.0/16 | ローカル | VPC B 用のデフォルトのローカルルート。 |
172.31.0.0/16 | pcx-aaaabbbb | VPC A と VPC B 間のピアリング接続用に手動で追加されたルート。 |
VPC A の所有者は、インスタンス A が VPC B と通信できるように VPC ピアリング接続を変更し、メインルートテーブルを更新する必要があります。VPC B の所有者は、VPC B が インスタンス A と通信できるように VPC ピアリング接続を変更する必要があります。
一方の VPC が EC2-Classic のあるリージョンに存在し、もう一方の VPC が EC2-Classic のないリージョンに存在する場合、EC2-Classic のないリージョンに対して ClassicLink 設定を更新するオプションはコンソールで無効になります。そのため、AWS CLI を使用する必要があります。
VPC A の VPC ピアリング接続の変更
EC2-Classic インスタンスから VPC B への通信を有効にするには、VPC A の AWS アカウント所有者は、VPC ピアリング接続のオプションを変更して、ローカルの ClassicLink 接続でピア VPC のインスタンスにトラフィックを送信できるようにする必要があります。
コンソールを使用して VPC ピアリング接続を変更するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 VPC A の所有者はコンソールにサインインする必要があります。
-
ナビゲーションペインで [Peering Connections] を選択します。
-
VPC ピアリング接続リクエストを選択し、[Actions] で [Edit ClassicLink Settings] を選択します。
-
ローカルのリンクされた EC2-Classic インスタンスとピア VPC との通信を許可するオプションを選択し、[Save] を選択します。
AWS CLI を使用して VPC ピアリング接続を変更するには
modify-vpc-peering-connection-options コマンドを使用できます。この場合、VPC A は VPC ピアリング接続のリクエスタであったため、リクエスタのオプションを以下のように変更します。
aws ec2 modify-vpc-peering-connection-options --vpc-peering-connection-id
pcx-aaaabbbb
--requester-peering-connection-options AllowEgressFromLocalClassicLinkToRemoteVpc=true
メインルートテーブルを更新するには
VPC B のルートテーブル、または VPC A のカスタムルートテーブルに変更はありません。VPC A の所有者は、リンクされた EC2-Classic インスタンスが VPC ピアリング接続経由で通信できるようにするメインルートテーブルを手動で追加する必要があります。
送信先 | Target |
---|---|
172.31.0.0/16 | ローカル |
10.0.0.0/8 | ローカル |
192.168.0.0/16 | pcx-aaaabbbb |
ルートの追加の詳細については、Amazon VPC ユーザーガイドの「ルートテーブルでルートを追加および削除する」を参照してください。
VPC B の VPC ピアリング接続の変更
次に、VPC B の AWS アカウントの所有者は、VPC B から EC2-Classic インスタンス A にトラフィックを送信できるように、VPC ピアリング接続のオプションを変更する必要があります。
コンソールを使用して VPC ピアリング接続を変更するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 VPC B の所有者はコンソールにサインインする必要があります。
-
ナビゲーションペインで [Peering Connections] を選択します。
-
VPC ピア接続リクエストを選択し、[Actions] で [Edit ClassicLink Settings] を選択します。
-
ローカルの VPC インスタンスとピア VPC の EC2-Classic インスタンスとの通信を許可するオプションを選択し、[Save] を選択します。
AWS CLI を使用して VPC ピアリング接続を変更するには
VPC B が VPC ピアリング接続を受け入れたため、以下のようにアクセプタのオプションを変更します。
aws ec2 modify-vpc-peering-connection-options --vpc-peering-connection-id
pcx-aaaabbbb
--accepter-peering-connection-options AllowEgressFromLocalVpcToRemoteClassicLink=true
VPC A のルートテーブルに変更はありません。VPC B のインスタンスが VPC A のリンクされた EC2-Classic インスタンスと通信できるようにする新しいルートが、VPC B のルートテーブルに自動的に追加されます。
ルートテーブル | 送信先 | Target | コメント |
---|---|---|---|
VPC A カスタム | 172.31.0.0/16 | ローカル | VPC A 用のデフォルトのローカルルート。 |
192.168.0.0/16 | pcx-aaaabbbb | VPC A と VPC B 間のピアリング接続用に手動で追加されたルート。 | |
10.0.0.0/8 | ローカル | ClassicLink 通信を有効にするために自動的に追加されたルート (インスタンスを VPC A にリンクしたときに追加)。 | |
0.0.0.0/0 | igw-11aa22bb | インターネットゲートウェイにインターネットトラフィックをルーティングするために手動で追加されたルート。 | |
VPC A メイン | 172.31.0.0/16 | ローカル | VPC A 用のデフォルトのローカルルート。 |
10.0.0.0/8 | ローカル | ClassicLink 通信を有効にするために自動的に追加されたルート (インスタンスを VPC A にリンクしたときに追加)。 | |
192.168.0.0/16 | pcx-aaaabbbb | リンクされた EC2-Classic インスタンスが VPC ピアリング接続を介して VPC B と通信するために、手動で追加されたルート。 | |
VPC B カスタム | 192.168.0.0/16 | ローカル | VPC B 用のデフォルトのローカルルート。 |
172.31.0.0/16 | pcx-aaaabbbb | VPC A と VPC B 間のピアリング接続用に手動で追加されたルート。 | |
10.0.0.0/8 | ローカル | VPC A のリンクされたインスタンスとの ClassicLink 通信を有効にするために自動的に追加されたルート。 |
VPC ピアリング接続の表示
VPC コンソールまたは AWS CLI を使用して、アクセプタ VPC とリクエスタ VPC の VPC ピアリング接続のオプションを表示できます。
コンソールを使用して VPC ピアリング接続のオプションを表示するには
-
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
ナビゲーションペインで [Peering Connections] を選択します。
-
VPC ピアリング接続を選択し、[ClassicLink] を選択します。有効または無効になっている VPC ピアリング接続のオプションに関する情報が表示されます。
AWS CLI を使用して VPC ピアリング接続のオプションを表示するには
describe-vpc-peering-connections コマンドを使用できます。
aws ec2 describe-vpc-peering-connections --vpc-peering-connection-id
pcx-aaaabbbb
{
"VpcPeeringConnections": [
{
"Status": {
"Message": "Active",
"Code": "active"
},
"Tags": [
{
"Value": "MyPeeringConnection",
"Key": "Name"
}
],
"AccepterVpcInfo": {
"PeeringOptions": {
"AllowEgressFromLocalVpcToRemoteClassicLink": true,
"AllowEgressFromLocalClassicLinkToRemoteVpc": false,
"AllowDnsResolutionFromRemoteVpc": false
},
"OwnerId": "123456789101",
"VpcId": "vpc-80cb52e4",
"CidrBlock": "172.31.0.0/16"
},
"VpcPeeringConnectionId": "pcx-aaaabbbb",
"RequesterVpcInfo": {
"PeeringOptions": {
"AllowEgressFromLocalVpcToRemoteClassicLink": false,
"AllowEgressFromLocalClassicLinkToRemoteVpc": true,
"AllowDnsResolutionFromRemoteVpc": false
},
"OwnerId": "111222333444",
"VpcId": "vpc-f527be91",
"CidrBlock": "192.168.0.0/16"
}
}
]
}