VPC Peering経由でのSecurity Group相互参照(クロスアカウントもOK)がサポートされたので試してみた
西澤です。遂にVPC Perring越しでのSecurity Group相互参照がサポートされたようです。しかも、クロスアカウント(異なるAWSアカウント同士)も利用可能とのこと。これは本当に嬉しいアップデートですね。早速試してみることにしました。
クロスアカウントでのVPC Peering構成
下記のような環境を準備して試してみることにしました。
やることは下記記事とほとんど変わりありません。
事前準備
CIDRに重複が無いことにだけ注意をすれば、適当なVPC、サブネットでも問題ありません。今回は、Peering要求のところだけ、画像付きで手順をご紹介しておきます。
Account AからVPC Peeringを要求
Account AのVPCから、Account BのVPCに対して、VPC Peeringをリクエストします。
Account BにてVPC Peeringを承諾
しばらく待つと、Account B側でリクエストされたVPC Peeringが見えるようになるので、Acceptします。
Account Aでルーティング追加
Account AのVPCからPeeringしたAccout BのVPCへのルーティングを追加しておきましょう。
Account Bでルーティング追加
Account Bのルーティングも同様です。
クロスアカウントでのSecurity Group設定
いよいよ今回の本題です。
VPC PeeringしていないSecurity Groupの参照を試してみる
まずは、試しにVPC PeeringをしていないデタラメなSecurity Groupを指定して追加できるか試してみます。
予想通り、というか、これまで通り、エラーとなり追加ができませんでした。
VPC Peeringされている別AWSアカウントのSecurity Groupを参照してみる
今度はVPC Peeringで接続されている別AWSアカウントのSecurity Groupを指定してみます。上記と同様に、送信元欄で"カスタムIP"を選んでSecurity Group IDを入力したのですが、すんなり追加できました。
マスクしている為、わかりづらいのですが、追加した行の送信元欄は、別アカウントのSecurity Groupであることがわかるように、AWS Account ID/Security Group ID
の形式で表示されました。これはとても親切ですね。尚、設定変更時にはAWS Account IDは特に指定せず、Security Group IDを指定のみで設定できました。
Security Groupは、EC2だけでなく、VPCにも設定画面がありますよね(EC2-Classicとか過去の話は割愛)。一応、こちらも確認してみます。
VPC側から見た画面は、EC2画面ほどは親切な表示にはなっていませんでした。ただ、追加・変更はVPC側からでももちろん問題ありません。
疎通確認
一応、このSecurity Groupの相互参照を使って通信できることを確認しておきましょう。EC2−AからEC2-Bへの80ポートへの通信が可能であることを確認します。Security Groupをそれぞれに割り当てた上で、EC2-BでWEBサーバを起動しておき、EC2-Aから接続してみます。
[ec2-user@ip-10-222-0-49 ~]$ curl 10.111.0.245 This is ip-10-111-0-245! [ec2-user@ip-10-222-0-49 ~]$ curl -I 10.111.0.245 HTTP/1.1 200 OK Date: Wed, 02 Mar 2016 02:28:08 GMT Server: Apache/2.2.31 (Amazon) Last-Modified: Wed, 02 Mar 2016 02:26:55 GMT ETag: "406ac-19-52d079d9c9e13" Accept-Ranges: bytes Content-Length: 25 Connection: close Content-Type: text/html; charset=UTF-8
はい。問題なさそうですね。
まとめ
Security Groupの大きな特徴である相互参照機能は、ELB、EC2、RDS等のAWSリソースの追加・変更にも柔軟に追従することができる非常に便利な機能です。これをVPC Peering経由でも活用できるというのは本当に素晴らしいです。そもそもVPC Peeringしなければいけない理由も、AWSアカウントまたはVPCを分割せざるを得ないセキュリティ要件である場合が多いので、活躍する場面はとても多そうですね。積極的に利用して行こうと思います。