ClassicLink
EC2-Classic を廃止します。EC2-Classic は、VPC への移行をお勧めします。 |
ClassicLink を使用すると、EC2-Classic インスタンスを同じリージョンにある自アカウントの VPC にリンクできます。VPC のセキュリティグループを EC2-Classic インスタンスに関連付ける場合、これによって、プライベート IPv4 アドレスを使用して EC2-Classic インスタンスと VPC のインスタンスが通信できるようになります。ClassicLink により、パブリック IPv4 アドレスや Elastic IP アドレスを使用しなくても、これらのプラットフォーム内のインスタンス間で通信できます。
ClassicLink は、EC2-Classic プラットフォームをサポートするアカウントを持つすべてのユーザーが利用でき、任意のインスタンスタイプの EC2-Classic インスタンスで使用できます。ClassicLink は追加料金なしで使用できます。データ転送とインスタンスの使用に対する標準料金が適用されます。
コンテンツ
ClassicLink の基本
EC2-Classic を使用して ClassicLink インスタンスを VPC にリンクする場合、2 つの作業が含まれます。まず、ClassicLink 用に VPC を有効にする必要があります。デフォルトでは、アカウントのすべての VPC は、その分離を維持するために ClassicLink 用に有効になっていません。ClassicLink 用に VPC を有効にすると、アカウント内の同じリージョンにある任意の実行中の EC2-Classic インスタンスをその VPC にリンクすることができます。インスタンスをリンクするには、VPC からセキュリティグループを選択して、EC2-Classic インスタンスに関連付ける作業も必要です。インスタンスをリンクすると、VPC セキュリティグループで許可されている場合は、プライベート IP アドレスを使用して VPC 内のインスタンスと通信できます。EC2-Classic インスタンスは、VPC にリンクされたときに、プライベート IP アドレスを失いません。
インスタンスを VPC にリンクすることを、インスタンスをアタッチするということもあります。
リンクされた EC2-Classic インスタンスは VPC 内のインスタンスと通信できますが、VPC の一部とはなりません。例えば、DescribeInstances
API リクエストでインスタンスを表示して VPC でフィルタリングする場合や、Amazon EC2 コンソールの [Instances] 画面を使用して VPC でフィルタリングする場合、その結果には VPC にリンクされた EC2-Classic インスタンスは含まれません。リンクされた EC2-Classic インスタンスの表示の詳細については、「ClassicLink が有効な VPC とリンクされたインスタンスの表示」を参照してください。
デフォルトでは、リンクされた EC2-Classic インスタンスから VPC のインスタンスに対応するためにパブリック DNS ホスト名を使用する場合、ホスト名はインスタンスのパブリック IP アドレスに解決されます。VPC のインスタンスからリンクされた EC2-Classic インスタンスに対応するためにパブリック DNS ホスト名を使用する場合も同じになります。パブリック DNS ホスト名をプライベート IP アドレスに解決するには、VPC の ClassicLink DNS サポートを有効にできます。詳細については、ClassicLink DNS サポートの有効化 を参照してください。
インスタンスと VPC の間の ClassicLink 接続が不要になった場合、VPC から EC2-Classic インスタンスのリンクを解除できます。これにより、EC2-Classic インスタンスから VPC セキュリティグループの関連付けが解除されます。リンクされた EC2-Classic インスタンスは、停止されたときに自動的に VPC からリンク解除されます。VPC からすべてのリンクされた EC2-Classic インスタンスのリンクを解除した後、VPC の ClassicLink を無効にすることができます。
ClassicLink による VPC の他の AWS サービスを使用します。
リンクされた EC2-Classic インスタンスは、VPC の Amazon Redshift、Amazon ElastiCache、Elastic Load Balancing、Amazon RDS の各 AWS サービスにアクセスできます。ただし、VPC のインスタンスは、ClassicLink を使用して、EC2-Classic プラットフォームでプロビジョニングされる AWS サービスにアクセスできません。
Elastic Load Balancing を使用している場合は、リンクされた EC2-Classic インスタンスをロードバランサーに登録することができます。ClassicLink が有効な VPC にロードバランサーを作成し、インスタンスが実行されるアベイラビリティーゾーンを有効にする必要があります。リンクされた EC2-Classic インスタンスを終了する場合、ロードバランサーはインスタンスの登録を解除します。
Amazon EC2 Auto Scaling を使用する場合、起動時に指定した Amazon EC2 Auto Scaling が有効な VPC に自動的にリンクされるインスタンスを含む ClassicLink グループを作成できます。詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「EC2-Classic インスタンスの VPC へのリンク」を参照してください。
VPC で Amazon RDS インスタンスまたは Amazon Redshift クラスターを使用し、パブリックにアクセス可能 (インターネットからアクセス可能) である場合、リンクされた EC2-Classic インスタンスからこれらのリソースに対応するために使用するエンドポイントは、デフォルトでパブリック IP アドレスに解決されます。これらのリソースがパブリックにアクセス可能でない場合、エンドポイントはプライベート IP アドレスに解決されます。ClassicLink を使用してプライベート IP 経由でパブリックにアクセス可能な RDS インスタンスまたは Redshift クラスターに対応するには、プライベート IP アドレスまたはプライベート DNS ホスト名を使用するか、ClassicLink VPC の DNS サポートを有効にする必要があります。
プライベート DNS ホスト名またはプライベート IP アドレスを使用して RDS インスタンスに対応する場合、リンクされた EC2-Classic インスタンスは、マルチ AZ 配置に使用できるフェイルオーバーのサポートを使用することはできません。
Amazon EC2 コンソールを使用して、Amazon Redshift、Amazon ElastiCache、または Amazon RDS リソースのプライベート IP アドレスを検索できます。
VPC 内の AWS リソースのプライベート IP アドレスを見つけるには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[Network Interfaces] を選択します。
-
[Description] 列のネットワークインターフェイスの説明を確認します。Amazon Redshift、Amazon ElastiCache、Amazon RDS で使用されるネットワークインターフェイスには、説明に含まれるサービスの名前が付けられます。例えば、Amazon RDS インスタンスにアタッチされるネットワークインターフェイスの説明は、
RDSNetworkInterface
のようになります。 -
必要なネットワークインターフェイスを選択します。
-
詳細ペインで、[Primary private IPv4 IP] フィールドからプライベート IP アドレスを取得します。
ClassicLink の使用の制御
デフォルトでは、ユーザーには ClassicLink を使用するためのアクセス許可がありません。ClassicLink 用の VPC を有効または無効にする、インスタンスを ClassicLink 対応 VPC にリンクまたはリンク解除する、ClassicLink 対応 VPC とリンクされた EC2-Classic インスタンスを表示する、といった権限をユーザーに付与する IAM ロールとポリシーを作成することができます。Amazon EC2 の IAM ポリシーの詳細については、「Amazon EC2 の IAM ポリシー」を参照してください。
ClassicLink を操作するためのポリシーの詳細については、次の例 (ClassicLink の IAM ポリシー例) を参照してください。
ClassicLink のセキュリティグループ
EC2-Classic インスタンスを VPC にリンクしても、EC2-Classic セキュリティグループには影響しません。これらのセキュリティグループは、引き続きインスタンスに出入りするすべてのトラフィックを管理します。ただし、VPC のインスタンスに出入りするトラフィックは例外で、EC2-Classic インスタンスに関連付けられた VPC セキュリティグループによって管理されます。同じ VPC にリンクされた EC2-Classic インスタンスは、同じ VPC セキュリティグループに関連付けられているかどうかに関係なく、VPC を介して相互に通信できません。EC2-Classic インスタンス間の通信は、それらのインスタンスに関連付けられた EC2-Classic セキュリティグループによって制御されます。セキュリティグループ設定の例については、例: 3 層ウェブアプリケーションの ClassicLink セキュリティグループ設定を参照してください。
VPC にインスタンスをリンクすると、インスタンスに関連付けられる VPC セキュリティグループを変更することはできなくなります。インスタンスに別のセキュリティグループを関連付けるには、最初にインスタンスのリンクを解除し、次にもう一度 VPC にリンクして、必要なセキュリティグループを選択する必要があります。
ClassicLink のルーティング
ClassicLink 用に VPC を有効にすると、VPC のすべてのルートテーブルに、送信先が 10.0.0.0/8
で、ターゲットが local
である静的ルートが追加されます。これによって、VPC 内のインスタンスと、VPC にリンクされている EC2-Classic インスタンスとの間で通信が可能になります。ClassicLink が有効な VPC にカスタムルートテーブルを追加する場合、送信先が 10.0.0.0/8
で、ターゲットが local
である静的ルートが自動的に追加されます。VPC の ClassicLink を無効にすると、このルートは VPC のすべてのルートテーブルから自動的に削除されます。
10.0.0.0/16
および 10.1.0.0/16
IP アドレス範囲にある VPC で ClassicLink を有効にすることができるのは、VPC の作成時に自動的に追加されたローカルルートを除き、10.0.0.0/8
IP アドレス範囲のルートテーブルに既存の静的ルートがない場合のみです。同様に、ClassicLink 用に VPC を有効にしている場合、10.0.0.0/8
IP アドレス範囲内のルートテーブルに、より詳細なルートを追加できない場合があります。
VPC CIDR ブロックがパブリックにルーティング可能な IP アドレス範囲である場合は、EC2-Classic インスタンスを VPC にリンクする前にセキュリティへの影響を考慮してください。例えば、リンクされた EC2-Classic インスタンスが、VPC の IP アドレス範囲内にあるソース IP アドレスからサービス拒否 (DoS) リクエストによるフラッド攻撃を受けた場合、応答トラフィックは VPC に送信されます。RFC 1918
ルートテーブルと VPC でのルーティングに関する詳細については、Amazon VPC ユーザーガイドの「ルートテーブル」を参照してください。
ClassicLink の VPC ピア接続の有効化
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 が、ピア VPC 内のリンクされた EC2-Classic インスタンスと通信できるようにする場合、宛先が 10.0.0.0/8
、ターゲットが local
として、静的ルートが自動的にルートテーブルに追加されます。
詳細および例については、Amazon VPC Peering ガイドの「ClassicLink を使用した設定」を参照してください。
ClassicLink の制限事項
ClassicLink 機能を使用するには、次の制限事項に注意する必要があります。
-
EC2-Classic インスタンスは、一度に 1 つの VPC にのみリンクすることができます。
-
リンクされた EC2-Classic インスタンスを停止した場合、インスタンスは VPC から自動的にリンクが解除され、VPC セキュリティグループはインスタンスとの関連付けが失われます。インスタンスを再起動した後、インスタンスを VPC に再びリンクできます。
-
EC2-Classic インスタンスを別のリージョンにある VPC や別の AWS アカウントの VPC にリンクすることはできません。
-
ClassicLink を使用して、VPC インスタンスを別の VPC または EC2-Classic リソースにリンクすることはできません。VPC 間のプライベート接続を確立するには、VPC ピア接続を使用できます。詳細については、Amazon VPC ピアリングガイドを参照してください。
-
VPC の Elastic IP アドレスをリンクされた EC2-Classic インスタンスに関連付けることはできません。
-
IPv6 の通信用に EC2-Classic インスタンスを有効にすることはできません。IPv6 CIDR ブロックを VPC に関連付けて、IPv6 アドレスを VPC 内のリソースに割り当てることはできますが、ClassicLinked インスタンスと VPC 内のリソースの間で通信できるのは、IPv4 経由に限られます。
-
EC2-Classic のプライベート IP アドレス範囲の
10/8
と競合するルートを持つ VPC は ClassicLink 用に有効にすることはできません。これには、ルートテーブルに既にローカルルートがあり、IP アドレス範囲が10.0.0.0/16
および10.1.0.0/16
である VPC は含まれません。詳細については、ClassicLink のルーティング を参照してください。 -
専用ハードウェアテナンシー用に設定された VPC は、ClassicLink 用に有効にすることはできません。専用テナンシー VPC を ClassicLink に対して有効にするようにリクエストするには、Amazon Web Services サポートまでお問い合わせください。
重要 EC2-Classic インスタンスは共有ハードウェアで実行されます。規制またはセキュリティ要件のために VPC のテナンシーを
dedicated
に設定した場合、EC2-Classic インスタンスを VPC にリンクすると、その要件に準拠しない可能性があります。この設定により、共有テナンシーのリソースが、プライベート IP アドレスを使用して、隔離されたリソースに直接アクセスできるためです。ClassicLink 用に専用 VPC を有効にする必要がある場合は、詳細な理由を添えてAmazon Web Services サポートにリクエストしてください。 -
172.16.0.0/16
の範囲内の VPC に EC2-Classic インスタンスをリンクした場合に、VPC 内に IP アドレス172.16.0.23/32
で稼働中の DNS サーバーがある場合、リンクした EC2-Classic インスタンスは VPC DNS サーバーにアクセスできません。この問題を回避するためには、DNS サーバーを VPC 内の違う IP アドレスで稼働させてください。 -
ClassicLink は VPC からの推移関係をサポートしていません。リンクされた EC2-Classic インスタンスは、VPN 接続、VPC ゲートウェイエンドポイント、NAT ゲートウェイ、または VPC に関連付けられたインターネットゲートウェイにアクセスできません。同様に、VPN 接続またはインターネットゲートウェイの他方の側のリソースは、リンクされた EC2-Classic インスタンスにアクセスできません。
ClassicLink の操作
Amazon EC2 コンソールと Amazon VPC コンソールを使用して、ClassicLink 機能を使用できます。ClassicLink 用の VPC の有効化と無効化、および VPC と EC2-Classic インスタンスのリンクとリンク解除を行うことができます。
ClassicLink 機能は、EC2-Classic をサポートするアカウントとリージョンのコンソールにのみ表示されます。
タスク
ClassicLink 用の VPC の有効化
EC2-Classic インスタンスを VPC にリンクするには、まず ClassicLink 用の VPC を有効にする必要があります。VPC のルーティングが ClassicLink のプライベート IP アドレス範囲と競合する場合、EC2-Classic 用の VPC を有効にすることはできません。詳細については、ClassicLink のルーティング を参照してください。
ClassicLink 用に VPC を有効にするには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 画面左枠のナビゲーションペインで、[Your VPCs] を選択します。
-
VPC を選択します。
-
[Actions] (アクション)、[Edit VPC settings] (VPC 設定の編集) の順に選択します。
-
[ClassicLink] で、[Enable] (有効化) を選択します。
-
(オプション) パブリック DNS ホスト名をプライベート IP アドレスに解決するには、インスタンスをリンクする前に、VPC の ClassicLink DNS サポートを有効にします。詳細については、ClassicLink DNS サポートの有効化 を参照してください。
VPC へのインスタンスのリンク
ClassicLink 用の VPC を有効にした後、EC2-Classic インスタンスを VPC にリンクすることができます。インスタンスは running
の状態である必要があります。
パブリック DNS ホスト名をプライベート IP アドレスに解決するには、インスタンスをリンクする前に、VPC の ClassicLink DNS サポートを有効にします。詳細については、ClassicLink DNS サポートの有効化 を参照してください。
インスタンスを VPC にリンクするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
1 つまたは複数の実行中の EC2-Classic インスタンスを選択します。
-
[Actions (アクション)]、[ClassicLink]、[Link to VPC (VPC へのリンク)] の順に選択します。
-
VPC を選択します。コンソールには、ClassicLink に対して有効になっている VPC だけが表示されます。
-
インスタンスに関連付けるセキュリティグループを 1 つ以上選択します。コンソールには、ClassicLink に対して有効になっている VPC のセキュリティグループのみが表示されます。
-
[Link (リンク)] を選択します。
起動時の VPC へのインスタンスのリンク
Amazon EC2 コンソールの Launch wizard を使用して、EC2-Classic インスタンスを起動し、すぐに ClassicLink が有効な VPC にリンクすることができます。
起動時にインスタンスを VPC にリンクするには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
Amazon EC2 ダッシュボードから、[Launch Instance] を選択します。
-
AMI を選択し、EC2-Classic でサポートされているインスタンスタイプを選択します。詳細については、EC2-Classic で利用可能なインスタンスタイプ を参照してください。
-
[Configure Instance Details] ページで以下の操作を実行します。
-
[Network (ネットワーク)] で、[EC2-Classic 内に起動] を選択します。このオプションを無効にすると、インスタンスタイプは EC2-Classic ではサポートされません。
-
[Link to VPC (ClassicLink) (VPC へのリンク (ClassicLink))] を展開し、[Link to VPC (VPC へのリンク)] から VPC を選択します。コンソールには、ClassicLink が有効な VPC だけが表示されます。
-
-
ウィザードの残りの手順を完了し、インスタンスを起動します。詳細については、古いインスタンス起動ウィザードを使用してインスタンスを起動する を参照してください。
ClassicLink が有効な VPC とリンクされたインスタンスの表示
ClassicLink コンソールで Amazon VPC が有効な VPC をすべて表示し、EC2-Classic コンソールでリンクされた Amazon EC2 インスタンスをすべて表示できます。
ClassicLink が有効な VPC を表示するには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
画面左枠のナビゲーションペインで、[Your VPCs] を選択します。
-
VPC を選択します。
-
[ClassicLink] の値が [Enabled (有効)] の場合、VPC は ClassicLink に対して有効になります。
ClassicLink DNS サポートの有効化
VPC の ClassicLink DNS サポートを有効にして、リンクされた EC2-Classic インスタンスと VPC のインスタンス間で対応された DNS ホスト名がプライベート IP アドレスに解決され、パブリック IP アドレスに解決されないようにします。この機能を有効にするには、DNS ホスト名および DNS の解決について VPC が有効になっている必要があります。
VPC に対して ClassicLink DNS サポートを有効にした場合、リンクされた EC2-Classic インスタンスは、VPC に関連付けられた任意のプライベートホストゾーンにアクセスできます。詳細については、Amazon Route 53 デベロッパーガイドの「プライベートホストゾーンの使用」を参照してください。
ClassicLink DNS サポートを有効にするには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
画面左枠のナビゲーションペインで、[Your VPCs] を選択します。
-
VPC を選択します。
-
[Actions] (アクション)、[Edit VPC settings] (VPC 設定の編集) の順に選択します。
-
[ClassicLink DNS サポート] で、[有効] を選択します。
-
[Save changes] を選択します。
ClassicLink DNS サポートの無効化
VPC の ClassicLink DNS サポートを無効にして、リンクされた EC2-Classic インスタンスと VPC のインスタンス間で対応された DNS ホスト名がパブリック IP アドレスに解決され、プライベート IP アドレスに解決されないようにします。
ClassicLink DNS サポートを無効にするには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
画面左枠のナビゲーションペインで、[Your VPCs] を選択します。
-
VPC を選択します。
-
[Actions] (アクション)、[Edit VPC settings] (VPC 設定の編集) の順に選択します。
-
[ClassicLink DNS サポート] で、[有効] をオフにします。
-
[Save changes] を選択します。
VPC からのインスタンスのリンク解除
ClassicLink インスタンスと VPC の間の EC2-Classic 接続が不要になった場合、VPC からインスタンスのリンクを解除できます。インスタンスのリンクを解除すると、インスタンスから VPC セキュリティグループの関連付けが解除されます。
停止したインスタンスは、VPC から自動的にリンクが解除されます。
VPC からインスタンスのリンクを解除するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
1 つ以上のインスタンスを選択します。
-
[Actions (アクション)]、[ClassicLink]、[Unlink from VPC (VPC からリンク解除)] の順に選択します。
-
確認を求めるメッセージが表示されたら、[Unlink (リンク解除)] を選択します。
VPC の ClassicLink の無効化
EC2-Classic インスタンスと VPC の間の接続が不要になった場合は、VPC の ClassicLink を無効にすることができます。最初に、VPC にリンクされたすべての EC2-Classic インスタンスのリンクを解除します。
VPC の ClassicLink を無効にするには
Amazon VPC コンソール (https://console.aws.amazon.com/vpc/
) を開きます。 -
画面左枠のナビゲーションペインで、[Your VPCs] を選択します。
-
VPC を選択します。
-
[Actions] (アクション)、[Edit VPC settings] (VPC 設定の編集) の順に選択します。
-
[ClassicLink] で、[Enable] (有効化) を選択解除します。
ClassicLink の IAM ポリシー例
ClassicLink で VPC を有効にし、EC2-Classic インスタンスと VPC にリンクできます。ClassicLink が有効な VPC と、VPC にリンクされたすべての EC2-Classic インスタンスを表示することもできます。ec2:EnableVpcClassicLink
、ec2:DisableVpcClassicLink
、ec2:AttachClassicLinkVpc
、ec2:DetachClassicLinkVpc
の各アクションのリソースレベルのアクセス許可を使用してポリシーを作成し、ユーザーがそれらのアクションを使用できるかどうかを制御できます。リソースレベルのアクセス許可は、ec2:Describe*
アクションではサポートされません。
ClassicLink を使用する完全なアクセス許可
次のポリシーでは、ClassicLink が有効な VPC とリンクされた EC2-Classic インスタンスを表示するアクセス許可、ClassicLink で VPC を有効化および無効化するアクセス許可、ClassicLink が有効な VPC からインスタンスをリンクおよびリンク解除するアクセス許可をユーザーに付与します。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeClassicLinkInstances", "ec2:DescribeVpcClassicLink", "ec2:EnableVpcClassicLink", "ec2:DisableVpcClassicLink", "ec2:AttachClassicLinkVpc", "ec2:DetachClassicLinkVpc" ], "Resource": "*" } ] }
ClassicLink で VPC を有効化および無効化する
次のポリシーでは、特定のタグ「purpose=classiclink
」を持つ VPC を ClassicLink で有効化および無効化することをユーザーに許可します。ユーザーは、ClassicLink で他の VPC を有効化または無効化することができません。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*VpcClassicLink", "Resource": "arn:aws:ec2:region:account:vpc/*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose":"classiclink" } } } ] }
インスタンスをリンクする
次のポリシーでは、インスタンスが m3.large
インスタンスタイプの場合に限り、インスタンスを VPC にリンクするアクセス許可をユーザーに付与します。2 番目のステートメントでは、VPC にインスタンスをリンクするのに必要な、VPC およびセキュリティグループリソースを使用することをユーザーに許可します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:AttachClassicLinkVpc", "Resource": "arn:aws:ec2:region:account:instance/*", "Condition": { "StringEquals": { "ec2:InstanceType":"m3.large" } } }, { "Effect": "Allow", "Action": "ec2:AttachClassicLinkVpc", "Resource": [ "arn:aws:ec2:region:account:vpc/*", "arn:aws:ec2:region:account:security-group/*" ] } ] }
次のポリシーでは、インスタンスを特定の VPC (vpc-1a2b3c4d
) にのみリンクするアクセス許可、VPC の特定のセキュリティグループのみインスタンス (sg-1122aabb
と sg-aabb2233
) に関連付けるアクセス許可をユーザーに付与します。ユーザーは、インスタンスを他の VPC にリンクすることはできず、他の VPC のセキュリティグループを指定してリクエスト内のインスタンスに関連付けることはできません。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:AttachClassicLinkVpc", "Resource": [ "arn:aws:ec2:region:account:vpc/vpc-1a2b3c4d", "arn:aws:ec2:region:account:instance/*", "arn:aws:ec2:region:account:security-group/sg-1122aabb", "arn:aws:ec2:region:account:security-group/sg-aabb2233" ] } ] }
インスタンスのリンクの解除
次のポリシーでは、インスタンスが「unlink=true
」タグを持つ場合にのみ、リンクされた EC2-Classic インスタンスを VPC からリンク解除するアクセス許可をユーザーに付与します。2 番目のステートメントでは、VPC からインスタンスをリンク解除するのに必要な、VPC リソースを使用するアクセス許可をユーザーに付与します。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2:DetachClassicLinkVpc", "Resource": [ "arn:aws:ec2:region:account:instance/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/unlink":"true" } } }, { "Effect": "Allow", "Action": "ec2:DetachClassicLinkVpc", "Resource": [ "arn:aws:ec2:region:account:vpc/*" ] } ] }
例: 3 層ウェブアプリケーションの ClassicLink セキュリティグループ設定
この例では、次の 3 つのインスタンスを持つアプリケーションを使用します。public-facing ウェブサーバー、アプリケーションサーバー、データベースサーバー。ウェブサーバーは、インターネットからの HTTPS トラフィックを受け入れ、TCP ポート 6001 を介してアプリケーションサーバーと通信します。次に、アプリケーションサーバーが TCP ポート 6004 を介してデータベースサーバーと通信します。アプリケーション全体をアカウントの VPC に移行しています。アプリケーションサーバーとデータベースサーバーは、すでに VPC に移行しました。ウェブサーバーはまだ EC2-Classic にあり、ClassicLink を介して VPC にリンクされています。
これらのインスタンス間でのみトラフィックが流れるようにセキュリティグループを設定する必要があります。次の 4 つのセキュリティグループがあります。ウェブサーバー用に 2 つ (sg-1a1a1a1a
とsg-2b2b2b2b
)、アプリケーションサーバー用に 1 つ (sg-3c3c3c3c
)、およびデータベースサーバー用に 1 つ (sg-4d4d4d4d
)。
次の図は、インスタンスのアーキテクチャーとそれらのセキュリティグループ設定を示しています。

ウェブサーバーのセキュリティグループ (sg-1a1a1a1a
および sg-2b2b2b2b
)
EC2-Classic に 1 つのセキュリティグループ、VPC にその他のセキュリティグループがあります。ClassicLink を介してインスタンスを VPC にリンクしたときに、VPC のセキュリティグループがウェブサーバーインスタンスに関連付けられています。VPC セキュリティグループを使用すると、ウェブサーバーからアプリケーションサーバーへのアウトバウンドトラフィックを制御することができます。
EC2-Classic セキュリティグループ (sg-1a1a1a1a
) のセキュリティグループルールを以下に示します。
Inbound | |||
---|---|---|---|
送信元 | タイプ | ポート範囲 | コメント |
0.0.0.0/0 |
HTTPS |
443 |
インターネットトラフィックがウェブサーバーに到達できるようにします。 |
VPC セキュリティグループ (sg-2b2b2b2b
) のセキュリティグループルールを以下に示します。
Outbound | |||
---|---|---|---|
送信先 | タイプ | ポート範囲 | コメント |
sg-3c3c3c3c |
TCP |
6001 |
ウェブサーバーから VPC のアプリケーションサーバーへの (または |
アプリケーションサーバーのセキュリティグループ (sg-3c3c3c3c
)
アプリケーションサーバーに関連付けられている VPC セキュリティグループのセキュリティグループルールを以下に示します。
Inbound | |||
---|---|---|---|
送信元 | タイプ | ポート範囲 | コメント |
sg-2b2b2b2b |
TCP |
6001 |
ウェブサーバー (または |
Outbound | |||
送信先 | タイプ | ポート範囲 | コメント |
sg-4d4d4d4d | TCP | 6004 | Allows outbound traffic from the application server to the database server
(or to any other instance associated with sg-4d4d4d4d ). |
データベースサーバーのセキュリティグループ (sg-4d4d4d4d
)
データベースサーバーに関連付けられている VPC セキュリティグループのセキュリティグループルールを以下に示します。
Inbound | |||
---|---|---|---|
送信元 | タイプ | ポート範囲 | コメント |
sg-3c3c3c3c |
TCP |
6004 |
アプリケーションサーバー (または |