JAWS-UG CLI専門支部主催の世界初!Direct Connect Gatewayハンズオンに参加してきました
こんにちは。サービスグループの武田です。
最近AWS Certified Advanced Networking
の勉強を始め、AWS Direct Connect(以下、DX)の理解を深めるためにも、もっと手を動かしたいなぁと思っていました。そんなところ、ちょうどCLI専門支部主催の勉強会でハンズオンができるということで参加してきました。ちなみにAWS Direct Connect Gateway(以下、DXGW)は今のところ試験範囲外のはずです。
JAWS-UG CLI専門支部 #112 世界初! Direct Connect Gateway 入門 - JAWS-UG CLI専門支部 | Doorkeeper
そもそもDXとは
DXはオンプレミスとAWSクラウドを専用線で接続するためのサービスです。個人で試すには難しいサービスだと思っていますがどうでしょうか。
そんな試すのが難しいサービスですが、AWS 専用線アクセス体験ラボ という無料のハンズオンセミナーも開催されているようです。時間と場所が合えばこちらもよいですが、人気のセミナーのようですので、参加してみたい方は早めに申し込みしましょう。
DXGWとは
さて今回はDXGWの 世界初! と銘打たれハンズオンです。DXGWはre:Invent 2017で発表された新機能です。これまで複数リージョンと接続するためには、各リージョンのロケーション(相互接続ポイント)から接続する必要がありました。DXGWはDXのハブとなることで、複数リージョンの複数ロケーション から 複数リージョンの複数VPC に接続できます。
会場はAWSJの新オフィス
さて当日の開催場所ですが、アマゾンウェブサービスジャパンさんの新オフィスでした。アルコタワーのときに迷った経験があり、多少の不安もありましたが、駅から出てすぐのところで迷いようがありませんでした。
3Fでセキュリティゲートを通過し、受け付けは12Fでした。
当日の進行
受け付けは18時から少し遅れて開始。その後、環境やハンズオンの説明などがあり、18時半くらいからハンズオンを進めました。
ハンズオンは用意されたテキストどおり進めれば、基本的には問題ないように作ってありました。各作業を丁寧に教えてもらうというスタイルではないため、今自分がやっている作業はなんなのか を構成図を見ながらイメージするのが大事かと思いました。
実際に行った行程としては次の4つです。おおむね1時間半くらいでした。
- ラボ環境(オンプレ環境)と接続するための仮想インターフェイス(以下、VIF)払い出し
- ラボ環境への踏み台設置(DXを利用して接続)
- DXGWを利用した、ラボ環境から東京リージョンおよびシンガポールリージョンへの接続
- インターリージョンVPCピアリングを利用した、東京リージョンとシンガポールリージョンの接続
また、CLI専門支部のハンズオンということで、手順はすべてAWS CLIのコマンドで用意されていました。さすがです。
ハンズオンと作業メモ
ラボ環境と接続するための仮想インターフェイス払い出し
利用しているAWSアカウントIDなどを入力するとVIFが作成される、Webサイトが用意されていました。ちなみにDXの接続を持たない自分のAWSアカウントにVIFが作られるしくみについては大瀧のエントリが参考になります。
この時点で4つのVIFが作られますが、実際に使用したのは2つだけです。
ラボ環境への踏み台設置
ラボ環境へ入るための踏み台(bastion)を設置します。踏み台の構築自体はCloudFormationテンプレートが用意されていたため、それを実行すれば8割方作業は完了します。
上のクラウドは自分のAWS環境。下のDXlab
はラボ環境。VLAN ID
は参加者に個別に払い出されたVLAN ID(実際には1003などの番号)。vyos
は多分ソフトウェアルータのVyOS。
実際の作業です。
- CloudFormationのスタック作成
- スタック内で仮想プラベートゲートウェイ(以下、VGW)を作成してVPCにアタッチ
- ルートテーブルに
送信先:192.168.10.0/24
、ターゲット:作成したVGW
を追加AWS::EC2::VPNGatewayRoutePropagation
でルート伝播の有効化でもいける?(未検証)
aws cloudformation create-stack
vyos-VGW
のVIFを承諾- 承諾時にVIFと踏み台環境のVGWを紐付けている
aws directconnect confirm-private-virtual-interface
- bastion ec2(踏み台のEC2)にSSH接続
- bastion ec2からvyosにSSH接続
※実際のハンズオン手順にはキーペアの作成などもあったが、すでにあるものを使用したのでスキップ。
bastion ec2から192.168.10.10
の指定でSSHできたときは「おぉー」となりました。
DXGWを利用した、ラボ環境から東京リージョンおよびシンガポールリージョンへの接続
ここの行程は「東京リージョンでの作業」「シンガポールリージョンでの作業」「ラボ環境での作業」が発生するため、コンソールを3つ起動しておくと楽でした。
vsrx
はJuniperルータ。csr
はCiscoルータ。ubuntu
はUbuntu(疎通確認用)。
実際の作業です。
- 東京リージョンおよびシンガポールリージョンで疎通確認用のEC2起動
- 具体的には、VPC、Subnet、IGW、VGW、ルートテーブル、キーペア、セキュリティグループ、EC2インスタンスを作成
- DXGWを作成し、東京リージョンとシンガポールリージョンのVGWをそれぞれ紐付け
aws directconnect create-direct-connect-gateway
aws directconnect create-direct-connect-gateway-association
vsrx-DXGW
とcsr-DXGW
のVIFを承諾(実際にはどちらか一方で問題ない)- 承諾時にVIFとDXGWを紐付けている
- ルータの設定(自分はCiscoの設定をしました)
- インタフェースの起動
interface GigabitEthernet 1
no shutdown
- サブインタフェースにVLANとIPアドレスを設定
interface GigabitEthernet 1.3203
encapsulation dot1Q 3203
ip address 169.254.100.6 255.255.255.252
- BGPの設定
router bgp 65001
neighbor 169.254.100.5 remote-as 4294967294
neighbor 169.254.100.5 password xxxxxx
network 192.168.10.0 mask 255.255.255.0
- インタフェースの起動
ubuntu
にSSH接続して疎通確認sudo route add -net 172.16.0.0/16 gw 192.168.10.30
sudo route add -net 172.17.0.0/16 gw 192.168.10.30
ping -c 3 172.16.0.22
ping -c 3 172.17.0.22
これでひとつのVIFで異なるリージョンのVPCに接続できます!手順は長いですが、まとめてみるとやっていることはシンプルですね。
インターリージョンVPCピアリングを利用した、東京リージョンとシンガポールリージョンの接続
ハンズオンの最後は、インターリージョンVPCピアリングを利用して、先ほど作成した東京リージョンとシンガポールリージョンのVPCを相互接続します。DXGWを利用すると複数リージョンのVPCとオンプレを接続できましたが、VPCの相互接続はできません。それを可能にするのがインターリージョンVPCピアリングというわけです。
この機能は昨年のre:Invent 2017で発表され、そのときは4リージョンのみ利用可能でした。東京リージョンで利用可能になったのはその3ヵ月後と、かなり新し目のサービスです。
先ほど作成した2つのリージョンのVPCをピアリングします。
実際の作業です。
- 東京リージョンでVPCピアリング接続を作成
- 東京をリクエスタVPC、シンガポールをアクセプタVPCとしてピアリングを作成
aws ec2 create-vpc-peering-connection
- シンガポールリージョンでVPCピアリング接続リクエストを承認
aws ec2 accept-vpc-peering-connection
- 各リージョンのルートテーブルに、ピアリング先への経路を追加
- どちらかのリージョンのEC2にSSH接続して疎通確認
簡単に接続できました!
まとめ
ハンズオンに参加することで、DXおよびDXGWを体験できとてもよかったです。またCiscoのISOコマンドをたたくのも久しぶりで楽しかったです。
DXって名前は知っているけど実際に触ったことはないという方は、ぜひハンズオンに参加してみてはいかがでしょうか。