PowerVSで、「手動構成したDirect Link」の環境をPER環境に切り替える

# はじめに
下記で書いた、「手動構成したDirect Link 2.0」を使ってx86 IaaS（VPCやClassic）に接続しているPowerVS環境をPER環境に切り替える手順です。
https://qiita.com/y_tama/items/bdd602defbb9b6ce4875

:::note warn
「自動構成したCloud Connection」は、この手順でのPER切り替えは行えません。
:::

基本的には下記のdocsの通りです。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-migrate-ws-per

# PERへの移行に関する留意点
docsに記載されていますが、この手順で移行したワークスペースでは、サブネットの追加・変更・削除の際、caseを起票してサポート側でネットワーク設定に手を入れてもらう必要があります。移行前のワークスペースや、新規にPER環境として作成したワークスペースではセルフサービスで行える操作が、移行したワークスペースではcase起票が必要になる点にご留意ください。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-migrate-ws-per#add-info-per-mig

# caseを起票してPERへの移行を依頼

今回の初期状態としては、Direct Link 2.0でPowerVSとVPCを接続しています。Transit Gatewayは使っていません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/a182e8a2-b1c4-40bf-dc12-f4e321a4dfb4.png)


docsに従ってcaseを起票し、移行したいPowerVSワークスペースやサブネット、Direct Linkの情報を伝えます。（docsの手順のStep4）

PowerVSサポート側で必要な処理が行われると、caseに返信が来ます。

ワークスペースにアクセスすると、左側のメニューのNetworkingの配下から、`Cloud connections`と`VPN connections`が消えています。PER対応のワークスペースではこれらの機能は使えませんので、この事からも、ワークスペースがPERに対応した状態に切り替わったことが分かります。

Before

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/6f1f844e-31c7-c33f-4278-93d6209a03b4.png)

After
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/e79f48ad-0799-43cb-f5a3-ac486b4c0851.png)

# PER+Transit Gatewayの経路を作成

このワークスペースからPERを使う準備はできましたが、通信はまだ従来のDirect Linkを経由して行われています。
以下の作業でDirect Linkを廃止してPER経由の通信に切り替えます。

PER対応のワークスペースがx86 IaaSやオンプレミスと通信するためにはTransit Gateway経由である必要があるため、Transit Gatewayをオーダーし、PowerVSとVPCへのコネクションを作成します。（docsの手順のStep5）
caseに依頼して対応が行われる前は、該当のワークスペースは、Transit Gatewayの`Power Systems Virtual Server`のネットワークタイプには表示されませんでしたが、PER対応ワークスペースになったので、表示されるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/4dbb05b4-bd85-0ffd-23e2-8c9f7b00d23a.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/8a5e766b-c468-1320-659d-c10da9f95ac1.png)


PowerVSとVPC、双方からルーティング情報が広告されていることが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/04406367-84f2-e326-8fbd-226447acbaa4.png)


この時点で、PowerVSとVPC間は、「Direct Link経由」と「PER+Transit Gateway経由」の2つの経路でルーティング可能な状態になっています。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/80043f00-fda5-79a5-99f7-d501aaef08e4.png)

なお、PowerVSに接続したTransit Gatewayは、通常のTransit Gatewayとは異なる価格になります（一般のTransit Gatewayより安価です）。PowerVSに接続したLocalタイプのTransit Gatewayはデータ転送費用がかかりませんので、構成によりますが費用追加なく使える場合もあると思います。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-pricing-virtual-server-on-cloud#per-pricing

# Direct Linkの経路を廃止

次に、これまで使っていたDirect Link経由の経路を使わない状態にします。
具体的には、Direct Linkのフィルタリング機能で`Import route filters`で`Deny all import routes`を設定し、PowerVSからのルーティング情報をブロックします。（docsの手順のStep5）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/de5a6850-bda4-3227-e06e-88f0e66ea907.png)

Direct Link経由の経路が使えなくなったので、PER経由の経路で通信するようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/dacd2e8b-8361-9eec-ec2a-bae6816b315a.png)


VPC上のサーバーからPowerVSのLPARにpingを打ち続けながら、Direct Linkの`Deny all import routes`の設定を有効にしましたが、私の環境では、パケットロスは無く、数秒の遅延が発生する程度でした（下記の6行目）。

```
64 bytes from 172.16.50.157: icmp_seq=115 ttl=250 time=0.518 ms
64 bytes from 172.16.50.157: icmp_seq=116 ttl=250 time=0.528 ms
64 bytes from 172.16.50.157: icmp_seq=117 ttl=250 time=0.470 ms
64 bytes from 172.16.50.157: icmp_seq=118 ttl=250 time=0.515 ms
64 bytes from 172.16.50.157: icmp_seq=119 ttl=250 time=0.538 ms
64 bytes from 172.16.50.157: icmp_seq=120 ttl=250 time=4.92 ms
64 bytes from 172.16.50.157: icmp_seq=121 ttl=250 time=0.503 ms
64 bytes from 172.16.50.157: icmp_seq=122 ttl=250 time=0.475 ms
64 bytes from 172.16.50.157: icmp_seq=123 ttl=250 time=0.557 ms
64 bytes from 172.16.50.157: icmp_seq=124 ttl=250 time=0.564 ms
```

# Direct Linkを削除

Direct Linkの経路をブロックしても問題なく通信できていることが確認できたら、Direct Linkを削除します（docsの手順のStep6）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59627/ebffeac5-3c42-0193-1710-845880ba90cc.png)


Step6が完了した旨、caseで連絡し、サポート側でStep7が完了したら切り替え完了です。