新卒研修でVPC Peeringをやってみて学んだこと

課題でやってみた、VPC peeringについて整理してみました。
2021.05.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、4月にクラスメソッド(클래스메소드)に入社した、キム・ジェウク(김재욱)と申します。今回は課題でやってみた、VPC peeringについて話そうと思います。

VPCとは

まず、VPC peeringを話す前にVPCはなんなのか理解する必要があります。

定義した論理的に分離された仮想ネットワークで AWS リソースを起動できるようにするサービスです。独自のIPアドレスの範囲の選択、サブネットの作成、ルートテーブルやネットワークゲートウェイの設定など、仮想ネットワーク環境を完全に制御できます。

つまり、ユーザー専用の仮想ネットワーク環境を提供するサービスです。

VPCで設定できるサービス

VPCで設定できるサービスは、Subnet、Internet Gateway、Security Group、NACLなどがありますが、今回はSubnet、Security Group、Internet gatewayだけ見てみましょう。

Subnet

IPネットワークを論理的に細分化したもののことである

そして、一つのネットワークを二つ以上のネットワークに分割したことをSubnettingと言います。

ネットワークアドレスは、CIDRで表すことができます。ネットワークアドレスの後にスラッシュ(/)とネットワークアドレスのビット数を表記するものになります。

Security Group

EC2インスタンスに適用可能なAWS標準のファイアウォール機能です。 セキュリティグループは、EC2インスタンスへのアクセスを許可し、トラフィックを制御するファイアウォールとして動作します。

つまり、セキュリティグループはAWSイントタンスへのアクセス(Inbound)とインスタンスからのアクセス(Outbound)に対するパケットをポート番号で制御するための設定をするサービスです。

Internet Gateway

インターネットゲートウェイはVPCとインターネットを連結してくれる一つの関門です。

インターネットとつながっているサブネットのことをパブリックサブネット、インターネットとつながっていないサブネットのことをプライベートサブネットといいます。

VPC Peering

VPC ピアリング接続は、プライベート IPv4 アドレスまたは IPv6 アドレスを使用して 2 つの VPC 間でトラフィックをルーティングすることを可能にするネットワーク接続です。どちらの VPC のインスタンスも、同じネットワーク内に存在しているかのように、相互に通信できます。

では、実際VPC Peeringをやってみましょう。

まず、設計図はこちらになります。VPC Peeringをして、EC2からEC2へPing打ちます。

VPC設定

まず、VPCを作成します。

Nameはfirst-vpc、IPv4 CIDRは10.255.0.0/24にして、「VPC作成」ボタンを押します。

続いて、もう一つのVPCを作成します。Nameはsecond-vpc、IPv4 CIDRは10.255.1.0/24にして、「VPC作成」ボタンを押します。

今作成したVPCは

  • name : first-vpc
  • IPv4 CIDR : 10.255.0.0/24
  • name : second-vpc
  • IPv4 CIDR : 10.255.1.0/24

になります。

Subnet設定

次は、Subnetを作成しましょう。

Subnet作成ボタンを押した後、VPC IDは「first-vpc」を選択します。

サブネット名はfirst-subnet、IPv4 CIDRは10.255.0.0/25に設定します。

続いて、同じ方法で、second-subnetも作成します。VPCはseceond-vpcを選択して、second-subnetのIPv4 CIDRは10.255.1.0/25に設定します。

今まで設定したVPC、Subnetです。

  • name : first-vpc
  • IPv4 CIDR : 10.255.0.0/24
  • name : first-subnet
  • IPv4 CIDR : 10.255.0.0/25
  • name : second-vpc
  • IPv4 CIDR : 10.255.1.0/24
  • name : second-subnet
  • IPv4 CIDR : 10.255.1.0/25

Internet gateway設定

続いて、Internet gatewayも作成します。名前タグはfirst-gatewayにします。

作成したInternet gatewayをクリックして、「アクション」→「VPCにアタッチ」をクリックします。

first-vpcを設定します。

Routing Table設定

続いて、ルーティングテーブルを作成します。VPCは、それぞれfirst-vpc、second-vpcを選択して、二つのルーティングテーブルを作成します。

まず、first-vpcを設定したルーティングテーブルには、先ほど作成したInterget gatwayを追加します。

second-vpcを設定したルーティングテーブルにはLocalそのままで大丈夫です。こうしたら、first-vpcを設定したルーティングテーブルはパブリックサブネット、second-vpcを設定したルーティングテーブルはプライベートサブネットになります。

Security Groupの設定

Security Groupも作成します。VPCはfirst-vpcを選択して、InboundはSSHを選択した後、ソースは自分のIPを選択します。

second-securityもsecond-vpcを選択して、同じく作成します。

EC2の設定

EC2では、先作成した、VPCと、Security Groupを設定する必要があります。

まず、ネットワークにfirst-vpcを設定します。

パブリックIPは有効に設定します。

Security groupはfirst-securityとdefaultを選択して、EC2を作成します。

二つ目のEC2も同じく作成しますが、second-vpcを選択して、パブリックIPは「無効」にしてください。

VPC Peeringの作成

では、これからVPC peeringをやってみましょう。

「ピアリング接続」をクリックして、「ピアリング接続の作成」ボタンを押します。

ピアリング接続Nameタグは「first-vpc-peering」にします。

ピアリングするローカルVPCはfirst-vpcを選択して、ピアリングする他のVPCはsecond-vpcを選択します。

そして、作業で、リクエストを受け入れるを押したら、状態がアクティブになります。

次は、ルーティングテーブルでVPC Peeringを設定します。first-vpcのルーティングテーブルでは対象を「second-vpcのIP」を設定します。それと、VPC PeeringのIDを探して設定します。

他にsecond-vpcのルーティングテーブルも同じく設定します。

最後です。Security Groupで、お互いのSecurity gorup IDを入れます。

Pingコマンドだけ、実行しますので、タイプはICMPを設定して、first-securityのプロトコルには「エコー応答」を、second-securityのプロトコルには「エコー要求」を設定します。

VPC Peering Ping Test

first-vpcのfirst-subnetで起動したEC2に接続して、Pingコマンドを実行してみます。

second-vpcのsecond-subnetで起動したEC2のIPは10.255.1.58です。

最後に

今回の課題は、ネットワークの知識が必要な課題でした。Subnetting、Routingみたいに色々難しい部分がたくさん出ましたが、実際VPC Peeringをやってみながら、Subnettingや、Routingについて理解することができました。

参考