はじめに
AWS Certified SysOps Administrator - Associateの試験ラボを乗り切るために、勉強していることをなんとなくメモっていきます。
基本的にハンズオンの内容は説明せずに出てきた単語を少し深掘りしていきます。
行うこと
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
Network編#2 Amazon VPC間およびAmazon VPCとオンプレミスのプライベートネットワーク接続
本人情報
IT現場雑用員(SEで採用されながら一生Excel触ってる人)
半年前にAWS SAA取得済み
Amazon VPC間の接続
一つのアカウントでリージョン内に作成できるVPCの数は5つであり、環境毎やシステム毎に作成します。開発の過程でVPC間の通信が必要になった場合、主に2つの方法で接続が行われます。
VPCピアリング接続
2つのVPC間をプライベートに接続することができます。異なるリージョン、異なるアカウント間での接続も可能です。
条件
・ VPCのローカルアドレスについて、接続するVPCはそれぞれ異なるネットワーク部を持つアドレスである必要があります。
・ VPCを踏み台にして1つ先のVPCと接続することはできません、接続するVPC同士は全てVPCピアリンングを設定する必要があります。
Transit Gateway接続
VPCピアリングを用いて多くのVPC同士を接続しようとした場合、構成が複雑になってしまいます。Transit GatewayはVPC同士を接続するためのハブのような役割を果たしてくれるため、構成を簡素化することができます。
https://aws.amazon.com/jp/summits/tokyo-osaka-2019-report/
VPCピアリングの作成
VPCピアリングの作成はVPC Management Console内のピアリング接続から行うことができます。
接続を行なうVPCを2つ選択する他、アカウントやリージョンを跨いで接続を行う場合はそれらを選択して作成を行います。
また、自分のアカウント内であっても作成を行なった後にピアリング接続の承認を行う必要があります。
作成が終わった後はそれぞれのVPC内に作成されたサブネットのルートテーブルに接続先を追加する必要があります。追加する際にターゲットはピアリング接続を選択します。
疎通確認
片方のVPCにピアリング用のEC2、もう片方にCloud9を作って疎通確認を行います。
Cloud9とは
AWS上で動作する統合開発環境です。コードの作成、ビルド、実行、テスト、デバックやショートカットの割り当てや構文の色などコードエディタとしての細かな設定を行うことができます。Cloud9で環境を作成、保存しAWS CodeCommitリポジトリなどを使用して作業内容を保存することによって全ての開発作業をAWS上で完結させることができます。その結果どの端末からでも作業を行うことが可能となり、コンピュータの切り替えや人員の増加などが容易になります。
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/welcome.html
疎通
Cloud9のipアドレスを確認し
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 06:c8:f7:d8:42:11 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.176/24 brd 10.0.0.255 scope global dynamic eth0
valid_lft 2673sec preferred_lft 2673sec
inet6 fe80::4c8:f7ff:fed8:4211/64 scope link
valid_lft forever preferred_lft forever
もう一方で作成したVPC内のEC2(10.1.0.100)に向けてpingを送ります。
PING 10.1.0.100 (10.1.0.100) 56(84) bytes of data.
64 bytes from 10.1.0.100: icmp_seq=1 ttl=64 time=0.432 ms
64 bytes from 10.1.0.100: icmp_seq=2 ttl=64 time=0.461 ms
64 bytes from 10.1.0.100: icmp_seq=3 ttl=64 time=0.481 ms
無事疎通が取れていることが確認できました。
まとめ
VPCピアリンングを作成する場合は、作成、承諾、ルートテーブルの追加を行う。
Amazon VPCとオンプレミスを接続する
AWS SIte-to-Site VPN
IPsec VPNを介してVPCにプライベート接続するサービスです。実際はVGWは冗長化のために2つ設定されます。VPN Connectionの接続先としてTransit Gatewayを選択すると、1つのAWS SIte-to-Site VPNでより多くのVPCと接続することができます。IPsecによって通信自体の暗号化はされますが、インターネットを経由するため後述するDirect Connectと比べて通信が安定しません。
https://docs.aws.amazon.com/ja_jp/vpn/latest/s2svpn/how_it_works.html
AWS Direct Connect
お客様のデータセンターやオフィスを専用線を介してAWSへプライベート接続するサービスです。Direct Connect locationでお客様のネットワーク機器とDirect Connectデバイスが物理的に接続されます。先述のAWS SIte-to-Site VPNと比べてインターネットを経由せずに物理線を通って通信が行われるため、高い品質の通信を行うことができます。
https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/Welcome.html
疎通確認
Vyosとは
ハンズオン内で使用したVyosとは、インストールすることで物理マシン、仮想マシンをソフトウェアルーターとして利用することができるソフトウェアです。ハードウェアルーターと同様にIPsecやSSL、パケットフィルタリング、URLフィルタリング、WAN負荷分散アドに使用することができます。今回はEC2上にインストールし、仮のカスタマーゲートウェイとして使用していました。
またVyOS1.1系から1.2に変更されるにあたって構文が変更されたため、ダウンロードしたconfigファイルはそのままでは使えないようです。下記サイトにも記載がありますが、AWSでのテスト済みカスタマーゲートウェイデバイスの一覧にVyosは存在しないため、テスト以外での用途では使用しない方がよさそうです。
https://dev.classmethod.jp/articles/vyos1-2_aws/
疎通
オンプレミスとして作成したVPN内に作成したEC2インスタンス(192.168.0.100)に対してpingが通ることを確認することができました。
まとめ
・VGWの作成、VPCへのアタッチ
・CGWの作成
・サイト間VPNの作成
・Customer Gatewayの作成
・ルートテーブルの伝搬
を行うことによってオンプレミスとVPCをプライベートネットワークとして接続することができます。