JAWS-UG CLI専門支部主催の世界初!Direct Connect Gatewayハンズオンに参加してきました

AWS Direct Connectの理解を深めるためにも、もっと手を動かしたいなぁと思っていました。そんなところ、ちょうどCLI専門支部主催の勉強会でハンズオンができるということで参加してきました。
2018.07.29

こんにちは。サービスグループの武田です。

最近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クラウドを専用線で接続するためのサービスです。個人で試すには難しいサービスだと思っていますがどうでしょうか。

Amazon Direct Connectの”実際の”接続プランガイド

そんな試すのが難しいサービスですが、AWS 専用線アクセス体験ラボ という無料のハンズオンセミナーも開催されているようです。時間と場所が合えばこちらもよいですが、人気のセミナーのようですので、参加してみたい方は早めに申し込みしましょう。

【完全無料】AWS公式の専用線アクセス体験ハンズオンラボがごっつ良かった件

DXGWとは

さて今回はDXGWの 世界初! と銘打たれハンズオンです。DXGWはre:Invent 2017で発表された新機能です。これまで複数リージョンと接続するためには、各リージョンのロケーション(相互接続ポイント)から接続する必要がありました。DXGWはDXのハブとなることで、複数リージョンの複数ロケーション から 複数リージョンの複数VPC に接続できます。

[新機能] AWS Direct Connect Gatewayで世界中のAWSリージョンとプライベート接続する

会場はAWSJの新オフィス

さて当日の開催場所ですが、アマゾンウェブサービスジャパンさんの新オフィスでした。アルコタワーのときに迷った経験があり、多少の不安もありましたが、駅から出てすぐのところで迷いようがありませんでした。

3Fでセキュリティゲートを通過し、受け付けは12Fでした。

当日の進行

受け付けは18時から少し遅れて開始。その後、環境やハンズオンの説明などがあり、18時半くらいからハンズオンを進めました。

ハンズオンは用意されたテキストどおり進めれば、基本的には問題ないように作ってありました。各作業を丁寧に教えてもらうというスタイルではないため、今自分がやっている作業はなんなのか を構成図を見ながらイメージするのが大事かと思いました。

実際に行った行程としては次の4つです。おおむね1時間半くらいでした。

  • ラボ環境(オンプレ環境)と接続するための仮想インターフェイス(以下、VIF)払い出し
  • ラボ環境への踏み台設置(DXを利用して接続)
  • DXGWを利用した、ラボ環境から東京リージョンおよびシンガポールリージョンへの接続
  • インターリージョンVPCピアリングを利用した、東京リージョンとシンガポールリージョンの接続

また、CLI専門支部のハンズオンということで、手順はすべてAWS CLIのコマンドで用意されていました。さすがです。

ハンズオンと作業メモ

ラボ環境と接続するための仮想インターフェイス払い出し

利用しているAWSアカウントIDなどを入力するとVIFが作成される、Webサイトが用意されていました。ちなみにDXの接続を持たない自分のAWSアカウントにVIFが作られるしくみについては大瀧のエントリが参考になります。

[図解]AWS Direct ConnectのShared Virtual Interfacesとは

この時点で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-DXGWcsr-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ヵ月後と、かなり新し目のサービスです。

AWS東京リージョンでインターリージョンVPCピア接続、海外リージョンとのプライベート通信が可能になりました

先ほど作成した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って名前は知っているけど実際に触ったことはないという方は、ぜひハンズオンに参加してみてはいかがでしょうか。