Meraki Virtual MX (vMX) は MX の仮想ソリューションとなります。仮想ソリューションといっても、他のクラウドサービスとネットワーク間を拠点間 Virtual Private Network (VPN) で簡単に繋ぐことを目的にしているため、オンプレの仮想マシンとして動かすことはできません。また、現在 Azure と Amazon Web Service (AWS) でしか稼働させられません。AWS のネットワークの設定は Meraki の責任範囲外ということもあり、公式ドキュメントでは Virtual Private Cloud (VPC) の設定は詳細に記載されていません。ハイブリッド環境が増えているため、vMX を AWS でどのように設定すればいいのかという質問が増えると予想しています。なので、簡単な例にはなってしまいますが、VPC を一から構築した時、どのような設定が必要なのか紹介したいと思います。
ネットワーク構成
下図のネットワークを構築し、Meraki のネットワークに存在するクライアントが Elastic Compute Clound (EC2) 上のインスタンスに Secure Shell Host (SSH) できることをゴールとします。
設定
大まかな設定手順は下記の通りになります。インスタンスの設定や Meraki ダッシュボードの設定をまとめればより効率的に設定できると思います。
- vMX へサブスクライブ
- vMX を EC2 へデプロイ (VPC を作成)
- 送信元/送信先の変更チェックを無効
- VPC の設定
- vMX へ Elastic IP を付与
- Meraki のダッシュボードで vMX を追加
- AutoVPN を設定
- vMX を起動・接続試験
Meraki 側の設定を実施するためには vMX のライセンスが必要となります。vMX のライセンスがない場合は、vMX のネットワークを作成することができません。AWS 側はアカウントを持っていれば問題ありませんが、vMX を動作させて発生した費用はユーザが支払う必要があります。
1. vMX へサブスクライブ
AWS マネジメントコンソールから Marketplace にアクセスし、Cisco Meraki vMX100 を検索し、サブスクライブする必要があります。サブスクライブが完了するとそれを通知するメールが AWS から送信されます。私は 10 分程度でサブスクライブが完了し、vMX をデプロイできるようになりました。
2. vMX を EC2 へデプロイ (VPC の設定含む)
サブスクライブが完了すると、vMX を Marketplace からデプロイすることが可能です。私は us-west-1 (北カリフォルニア) にデプロイします。
北カリフォルニアでは VPC を作成していないので、ウィザードに従って 10.0.0.0/23 の VPC、10.0.0.0/24 のサブネットを作成します。インスタンスサイズやディスクの種類は変更することができないので、ウィザードで設定するのは VPC の部分のみとなります。GIF 中では、インバウンドルールで全てのトラフィックを許可していますが、これも必要ありません。
この時点では、ウィザードで設定したサブネット内の適当なプライベート Internet Protocol (IP) アドレスが vMX に割り当てられているはずです。私が起動させた vMX には 10.0.0.75 という IP が割り当てられました。
3. 送信元/送信先の変更チェックを無効
起動後、EC2 のページへ移動し、インスタンスの設定を変更するために一度停止させてください。そして、「アクション」>「送信元/送信先の変更チェック」を選択し、送信元/送信先のチェックを無効にする必要があります。
4. VPC の設定
次に VPC の Internet Gateway (IGW) と Router (ルートテーブル) を設定しませす。インスタンスの詳細からインスタンスが設置されている VPC へ遷移します。「Internet Gateway」>「インターネットゲートウェイの作成」から IGW を作成し、「アクション」>「アタッチ」から指定の VPC へ IGW をアタッチします。また、vMX がインターネットに抜けられるためにルートテーブルに「Destination」0.0.0.0/0、「Target」IGW を追加します。
同時に図の Meraki Network 側のサブネットもルートテーブルに載せます。192.168.200.0/24 のトラフィックは vMX に転送しなければいけないので、ルートテーブルに Destination」192.168.200.0/24、「Target」vMX のインスタンス ID を追加します。
5. vMX へ Elastic IP を付与
VPC へ Internet Gateway をアタッチしたので、EC2 インスタンスに Elastic IP (パブリック IP) を割り当てることが可能になりました。EC2 のページにて「Elastic IP」> 「新しいアドレス割り当て」からパブリック IP を確保し、「アクション」>「アタッチ」にて vMX へ付与します。私の vMX には 54.183.102.26 が設定されました。
6. Meraki のダッシュボードで vMX を追加
Meraki ダッシュボードで vMX 専用のネットワークを作成します。このネットワークを作成するためには vMX のライセンスが必要です。「オーガナイゼーション」>「ネットワーク作成」より作成してください。
EC2 でデプロイした vMX とダッシュボードで作成した vMX を紐づける必要があります。「セキュリティ & SD-WAN」>「機器のステータス」の「Generate authentication token…」をクリックし、トークンを発行します。その次に、AWS マネジメントコンソールに移動し、vMX のインスタンスを選択し、「アクション」>「インスタンスの設定」>「ユーザーデータの表示/変更」にトークンを入力します。トークンは 1 時間で期限が切れてしまうため、1 時間以内にインスタンスを設定・起動しなければいけません。
7. AutoVPN を設定
vMX が管理している 10.0.0.0/23 を MX Network 拠点の MX に通知しなければいけないですし、Meraki Network 拠点が管理している 192.168.200.0/24 を vMX 側に通知しなければいけません。それぞれのダッシュボードのネットワークの「セキュリティ & SD-WAN」>「サイト間 VPN」から、通知するサブネットを設定します。下画像は vMX の設定です。
Meraki Network の MX は「ルーティングモード」で設定されているため、192.168.200.0/24 が VLAN として登録されています。なので、「VPN 設定」ではそのサブネットの「VPNの利用」を「yes」に設定します。
8. vMX を起動・接続試験
最後に AWS マネジメントコンソールよりインスタンスを選択し、「アクション」>「インスタンスの状態」>「開始」から vMX インスタンスを起動します。ダッシュボードでの設定が同期されたら、Meraki Network から 10.0.0.0/24 に設置されているリソースに SSH できます。