【Azure/NetworkEdge/Metal】AzureとベアメタルサービスをNetworkEdgeで閉域接続③

今年日本にローンチされた仮想ネットワークサービス**NetworkEdge**を利用して、**Microsoft Azure**とBMaaS(Baremetal as a Service)である**Equinix Metal**を接続してみました。
NetworkEdgeを利用することで、**物理機器を導入することなくAzureとベアメタルサーバ環境を接続**することができます。

NetworkEdge、EquinixMetalについては以下リンクを参照ください。
[**・NetworkEdge**](https://www.equinix.co.jp/services/edge-services/network-edge?target=_blank)
[**・Equinix Metal**](https://metal.equinix.com/?target=_blank)

====

* [第１回　概要・Network Edge構築編](https://qiita.com/ktsuruta_eq/items/351549448dc17099f88f)
* [第２回　Network Edge - Azure間接続編](https://qiita.com/ktsuruta_eq/items/e78110691a88fe27ae1d)
* [第３回　Network Edge - Equinix Metal 間接続・疎通確認編](https://qiita.com/ktsuruta_eq/items/e4b5a2c2b3be62978fa1)　★本記事

====

## [再掲]各環境の論理設計について

ざっくりとした構成図・論理設計は以下です。
こちらに基づき構築していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/37468ac1-2682-ed34-fa1c-b75dd6dc06ef.png)

## Equinix Metal環境の構築

Equinix Metal環境には、NWリソースのVLAN/Connectionと、VyOS/Ubuntuサーバを1台ずつ構築します。
以下のイメージで、サーバに接続されたVLANを経由して、VyOSサーバとEquinix Fabric/Network Edge間を接続します。

```
【VyOSサーバ(GW)】 - [VLANリソース] - [Connectionリソース] - 【Equinix Fabric/Network Edge】
```
Equinix Metal側環境構築については本記事の趣旨から外れるため割愛しますが、terraformを使ったデプロイが便利です。

|リソース種別|用途|備考|
|:---:|:---:|:---:|
|VLAN(L2NW)#1|Equinix Fabric接続用|VyOSのみアタッチ|
|VLAN(L2NW)#2|MetalサーバNW用|VyOS/Ubuntuにアタッチ|
|Connection|Equinix Fabric接続用|VLAN#1をアタッチ|
|Metalサーバ#1|GWサーバ(VyOS)|サーバクラス：c3.small.x86|
|Metalサーバ#2|Computeサーバ(Ubuntu20.04)|サーバクラス：c3.medium.x86|

GWサーバのVyOSには、Equinix Fabricと接続するためのIP/BGP設定を行っておきます。

### Equinix Metal - Connectionリソースの作成

Equinix Fabricと接続するためのMetal側リソースである、**Connection**を作成します。
Metalポータルから以下の操作でConnectionリクエストを作成してください。

<img width="398" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/3a26f959-52ac-cc07-31e9-1e48d57392fd.png">   <img width="398" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/62cd1b09-3148-6fb6-b2e4-6f146c19e0a9.png">

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/b37fa79a-d61c-e18c-50e1-de7e86cc6a31.png">

リクエスト完了後、画面上にEquinix Fabric用トークン(ECX Token)が表示されます。
こちらを使ってEquinix Fabric側でVCを構成していきます。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/4be17878-91cc-4aa1-aa37-3bf16601a5db.png">

## Network Edge側でVC作成

Connectionリクエスト後に発酵されたトークンを利用して、Azureと同様にEquinix Fabric/Network Edge上で**Virtual Circuit(VC/仮想回線)**を構成します。
Azureで行った時と同じく、Network Edgeデバイス画面から[接続の作成]を開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/e11d4a57-09f4-f4de-2bc4-1125fabaf461.png)
<img width="250" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/2bc3ccc7-54bb-d617-d87e-57e185e480c2.png">  →　![nes3_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/5ffe873d-bbb2-5b35-50f7-f20617110535.png)
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/4cf0dd61-9d37-574c-f262-13c890e81498.png">

仮想回線名、Equinix Metalで発行したTokenを入力します。
キャプチャ画面外にありますが、回線速度も選択してください。※今回は50Mbpsで構成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/a08abb9a-5da2-af6b-634d-1cb38b84f63c.png)

仮想回線のレビュー画面でメールアドレスを入力し、作成を完了します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/e49f856d-4c3c-3941-ecbe-bf945e5dfc0a.png)

仮想回線作成後、Equinix Metal側エンジニアの設定作業のため1-2営業日ほど待ちます。
設定完了メール到着後、再びEquinix MetalポータルよりConnectionへのVLANアタッチ操作を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/6cb486e4-46f6-dda1-5487-c6e88e051355.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/638323af-a378-c59f-0501-096b679fad44.png)


操作後、ConnectionのポートへVLANが割り当てられたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/edd81b65-4fb6-b873-7ed3-cc96e9f842fb.png)

Equinix Metal側でConnectionへのVLANアタッチ後、NetworkEdge側の仮想回線設定画面へ移動し、BGP設定を入力します。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/db6f180e-3ae6-70c6-bd30-57553a02e1f9.png">
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/2a3916b2-bf80-3e87-1563-852bc7189def.png">

BGP状態が有効→設立となれば、BGPセッション確立となります。
​​​​​​​以上でEquinix Metalとの接続作業は完了です。

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/22bc8492-ec95-1287-e8b1-a76b1caffd91.png">

## NetworkEdgeへのFW設定追加 

今回はFortigateを使用したため、Firewallポリシーの追加を行います。　※ルーター系NFVを使用する場合は不要です。
事前に[ユーザーアクセス設定](https://docs.equinix.com/ja/Content/Interconnection/NE/deploy-guide/NE-services-user-access.htm)でユーザ追加を行った状態で、fortigateのパブリックIPへアクセスして管理画面へログインします。

今回作成した仮想回線はPort7,8,10のインターフェースで使用されているため、[cloud_zone]という名称のゾーンへ自動追加されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/09e6086d-cbe3-939d-aca5-4c0ffd45959f.png)

[cloud_zone]に含まれる仮想回線同士の通信を許可するよう、ファイアウォールポリシーを追加します。
今回は検証のため全通信を許可しますが、一般的なForitgate設定操作と同様のポリシー設定操作で通信制御することもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/74802bde-e5da-f733-c523-f630e5774726.png)

## 通信動作確認

### NetworkEdgeの確認
FortigateVMのルーティングモニターでは、Azure側NW(172.16.100.0/22)、Metal側NW(172.16.200.0/24)のルート情報がBGP広報されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/c7698bd7-e53a-caf7-5eec-c30a48c63f1d.png)

### Azureの確認
前回構築したAzure環境で、ExpressRouteサーキットのルートテーブルを確認してみます。

NetworkEdgeから、プライマリ、セカンダリともにMetal側NW（172.16.200.0/24）のルート情報がBGP広報されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/b45d7b97-c58d-327b-c0b5-815d843e5fbf.png)

また、ExpressRouteと接続されたVNet上のAzureVMから、Metal側Computeサーバ宛のping疎通も確認できます。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/0c1f80b9-dc7e-5b79-429f-29312447124a.png">

### Equinix Metalの確認
Equinix Metal側では、GW役のVyOSサーバ上でBGPピア状態を確認します。
NetworkEdgeから、Azure側NW(172.16.100.0/22)のルート情報がBGP広報されています。
<img width="700" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/976b90f9-a8bc-6789-aa60-2a8174c17fdb.png">

また、GWサーバのバックエンドに配置されたComputeサーバからも、AzureVM宛のping疎通が確認できます。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1662665/3c9a22a5-a0ca-91fc-4c28-b04bd6d0aa2c.png">

## まとめ、やってみた感想

NetworkEdgeを利用して、Azureとベアメタルクラウドサービスを接続してみました。
NetworkEdgeについては、以下の点で**スピーディに基盤構築できるソリューション**と感じました。

* 接続プロバイダー側のラック契約/機器導入等、構築リードタイムが無い
* ユーザ側操作だけで一貫して閉域接続環境を構成できる

また、NFVで使用可能な機種は主要NWベンダー機器(仮想アプライアンス)のため、これまで培ってきたNWスキルがそのまま活かせる/学習コストを抑えられる点も助かりますね。

AzureとEquinix Metalとを接続すれば、低遅延で高品質なベアメタル環境がAzure上のサービスと連携できます。
今後も良い活用方法を探っていきたいと思います。