NTT東日本 クラウドゲートウェイ アプリパッケージのOEM向け環境を検証してみた

2016.09.27

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

ども、大瀧です。
先日発表されたNTT東日本クラウドゲートウェイ アプリパッケージは、フレッツ回線とAWSとの閉域接続を提供する画期的なサービスですね!

クラウドゲートウェイ アプリパッケージにはAWS環境側をパートナー企業が提供するというOEMメニューがあり、この環境を評価する機会をいただきましたので、レポートしてみたいと思います。

クラウドゲートウェイ アプリパッケージとは

企業や組織の拠点LANとAWSを閉域で繋ぐためには、自社で閉域網を敷設する他にキャリアのIP-VPN網サービスと組み合わせるのが一般的です。キャリアのIP-VPN網サービスでは、下図のようにIP-VPN網自体の利用契約のほか、アクセス回線とDirect Connect接続といったオプション契約が必要です。

cloudgw01_1

クラウドゲートウェイ アプリパッケージは、フレッツ地域網に直結するNTT東日本のAWS Direct Connect接続サービスです。既にフレッツ光回線を敷設している拠点であれば、IP-VPNの契約なしでAWS東京リージョンのVPCに接続することができます。また、対象のフレッツ光回線には、回線認証という回線単位のアクセス制限をVPC *1とセットで設定するため、他のフレッツユーザーが契約者のAWS環境にアクセスすることはできません。

cloudgw02_1

2つの提供タイプ

クラウドゲートウェイ アプリパッケージは、AWS環境を含めてNTT東が提供する直販タイプと、Direct Connect接続サービス部分をパートナーにOEMし、パートナーが販売するOEMタイプがあります。クラスメソッドはパートナーとしてOEMタイプの提供準備を進めていますので、ご興味のある方はお問い合わせください。OEMタイプでは、フレッツ地域網に接続するEC2インスタンスとしてWindows ServerとAmazon Linuxが提供されます。

設計とデプロイ

では、OEMタイプでどんなAWS構成が組めるのか検証していきます。

VPCのIPアドレス帯域

2016年9月現在、Amazon VPCのCIDRはサービス申し込み時にNTT東より/24の帯域が指定され、任意のCIDRを選択することはできません。フレッツ網からは別途アサインされるIPv6アドレス(後述)にアクセスするので、問題になることはあまり無いと思います *2

Direct Connect接続の承諾

フレッツ網とVPCを結ぶDirect Connect接続は、一般に言う共有型です。NTT東所有のAWSアカウントからVirtual Interfaceが2つ払い出されるので、これを承諾(Accept)し、VPCにアタッチしているVGWを選択します。

ntte-apppkg01

Direct Connectからのルーティング設定はBGPで広告されるので、VPCのルーティングテーブルの伝達設定が「はい」になっていることを確認しましょう。

ntt-apppkg02

IPv6アドレスの確認

EC2インスタンスは、Windows/Linuxそれぞれ初期設定が含まれたCloudFormationテンプレートを展開して作成します。 EC2からフレッツ網へのIPv6アクセスは、Direct Connect接続の先にあるNTT東のISATAPルーターとISATAPトンネルを確立して行います。

cloudgw03

ISATAPトンネルインターフェースには、以下の形式でIPv6アドレスが設定されます。

<NTT東から提供されるIPv6プレフィックス>:0:5efe:<インスタンスのPrivate IP(IPv4)アドレス>
例(IPv6プレフィックスが2001:db8::/64、Private IPが10.216.0.101の場合):
  2001:db8::0:5efe:10.216.0.101

Linuxの場合は初期設定により/etc/rc.localファイルに以下が記載され、毎起動時に/sbin/ipコマンドが実行されます。

/etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/sbin/ip tunnel add sit1 mode isatap local 10.216.0.101
/sbin/ip tunnel prl dev sit1 prl-default 192.168.103.254
/sbin/ip addr add 2001:db8::0:5efe:10.216.0.101/64 dev sit1
/sbin/ip link set sit1 up
/sbin/route add -A inet6 default gw 2001:db8::0:5efe:192.168.103.254 sit1

sit1がISATAPインターフェース名ですね。他のサービスに比べて起動時に実行する順番が遅いので、sit1インターフェースの活性化に依存するサービスを利用する場合は注意が必要です。

$ ls -l /etc/rc3.d/S99local
lrwxrwxrwx 1 root root 11  6月 21 20:10 /etc/rc3.d/S99local -> ../rc.local
$

Windowsでは、ユーザーデータによって初回起動時にISATAPの設定が静的に投入されます。ISATAPインターフェースの設定はGUIでは確認できないことに注意しましょう。コマンドプロンプトでnetshユーティリティなどで確認します。

C:\Users\Administrator> netsh interface ipv6 show addresses

インターフェイス 1: Loopback Pseudo-Interface 1

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
その他        設定            infinite   infinite ::1

インターフェイス 14: isatap.ap-northeast-1.compute.internal

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
Manual     設定            infinite   infinite 2001:db8:0:0:5efe:10.216.0.102
その他        設定            infinite   infinite fe80::5efe:10.216.0.102%14

インターフェイス 13: ローカル エリア接続* 11

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
Public     設定            infinite   infinite 2001:0:5ef5:79fb:309c:14bb:53e7:ff99
その他        設定            infinite   infinite fe80::309c:14bb:53e7:ff99%13

インターフェイス 12: イーサネット

アドレス種類  DAD 状態    有効期間   優先有効期間 アドレス
------------  ----------- ---------- ------------ ---------------------
その他        設定            infinite   infinite fe80::4877:3c02:d790:1c2e%12
C:\Users\Administrator>

フレッツ網に接続する拠点のルーターではIPv6を有効にし、拠点LANのクライアントにIPv6アドレスが配布されることを確認しましょう。クライアントからEC2のIPv6アドレスを直に入力して接続するのは人類にはツラいと思いますので、必要に応じてDNSのAAAAレコードをIPv6アドレスに設定し、利用するのが良いでしょう。

なお、RDSやELBなどVPCに配置するAWSのマネージドサービスはISATAPトンネルを構成することができないため、フレッツ網からVPC内のそれらにIPv6で接続することはできません。

ファイヤーウォールの設定

Amazon VPCにはセキュリティグループとネットワークACLというフィルタ機能がありますが、フレッツ網からEC2へのトラフィックはISATAPトンネルを経由するため、それらの機能で対応することができません。iptablesなどOSのファイヤーウォール機能や市販のファイヤーウォール製品の利用を検討しましょう。

IPv4で接続するために

IPv4の拠点LANとVPCを相互接続したい、AWSのマネージドサービスを本サービス経由で使いたいという場合もあるかと思います。そんなときは、フレッツのIPv6網上にIPv4接続を確立するIPIP(IPv4 over IPv6)トンネルを検討することができます。拠点ルータとEC2間でIPIPトンネルを確立し、双方のネットワークのIPv4ルーティングを向けることで相互接続を実現します。拠点からの*.amazonaws.comの名前解決をできるようにすれば、マネージドサービスへの接続も可能です。以下のブログ記事が参考になります。

まとめ

クラウドゲートウェイ アプリパッケージのOEMタイプについて解説してみました。Direct Connectを安価に利用できるサービスですので、制約や構成に気をつけつつ上手く活用していきたいですね。

参考URL

脚注

  1. 厳密にはVPCにアタッチする仮想プライベートゲートウェイ(VGW)
  2. 一方、後述のIPIPトンネルでVPCと拠点のIPv4ネットワークを接続する場合には注意が必要です。