AWS VPCピアリング接続作成メモ

やりたいこと

VPC同士で接続をする

f:id:kawakamasu:20180929205154p:plain

準備

VPCを2つ作り、異なるAZでサブネットを作る
プライベートサブネット同士で接続したいため、プライベートサブネットで作成する
操作する端末からアクセスできるように、publicも1つ作っておく
(接続したいVPC同士でサブネットが被らない様に考慮しておく)

  • vpc-a 10.1.0.0/16
    vpc-a-public-a(1a) 10.1.10.0/24
    vpc-a-private-a(1a) 10.1.1.0/24

  • vpc-b 10.2.0.0/16
    vpc-b-private-c(1c) 10.2.2.0/24

サブネットごとにルートテーブルを作成し、サブネットと関連付ける

  • rt_vpc-a-public-a ==> vpc-a-public-a
  • rt_vpc-a-private-a ==> vpc-a-private-a
  • rt_vpc-b-private-c ==> vpc-b-private-c

各サブネットに対応するセキュリティグループを作る

  • vpc-a-public-a ssh TCP 22 xxx.xxx.xxx.xxx/32
    アクセス元のグローバルIPのみ受け付ける

  • vpc-a-private-a ssh TCP 22 vpc-a-public-a
    vpc-a-public-aからのみ、受け付ける

  • vpc-b-private-c ssh TCP 22 10.1.1.0/24
    vpc-a-private-aからのみ、受け付ける

各サブネット内にインスタンスを作っておく

やってみる

vpcピアリングを設定する
マネコンのVPC画面から「ピアリング接続」- 「ピア接続の作成」
名前の入力と接続するVPCを2つ選ぶ
接続の承認待ち、みたいになるので、「アクション」から「承諾」ボタンを押すと、アクティブになる

ルートテーブルの変更

ピア接続がアクティブになったら、ルートテーブルの設定を変更する

  • rt_vpc-a-private-a
    送信先: 10.2.0.0/16 ターゲット: 作成したVPCピア接続

  • rt_vpc-b-private-c
    送信先: 10.1.0.0/16 ターゲット: 作成したVPCピア接続

接続してみる

PC ==> public(vpc-a) ==> private(vpc-a) ==> private(vpc-b)
テストなのでssh接続に必要な鍵は事前に各インスタンスに置いておく

publicのインスタンスからprivateのインスタンスに接続

[ec2-user@ip-10-1-10-xxx ~]$ ssh 10.1.1.xxx -i xxxxx.pem
Last login: Thu Sep  6 03:14:49 2018 from 10.1.10.211

      __|  __|_  )
      _|  (     /   Amazon Linux AMI
     ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2017.09-release-notes/

vpc-aからvpc-bに接続

[ec2-user@ip-10-1-1-xxx ~]$ ssh -i xxxxx.pem  10.2.2.xxx
Last login: Thu Sep  6 04:01:55 2018 from 10.1.1.xxx

      __|  __|_  )
      _|  (     /   Amazon Linux AMI
     ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2017.09-release-notes/
[ec2-user@ip-10-2-2-xxx ~]$

できた