【IBM Cloud】Direct Link Connectのオーダーと通信速度の変更を試してみた

## はじめに
今回はIBM Cloudで提供する専用線であるDirect Linkをオーダーし、最初設定した速度から他の速度に変更する流れについて整理しています。

## Direct Linkとは？
Direct LinkはIBM Cloudに接続するための専用線であり、インターネット経由で通信する一般的なクラウドの接続方法に比べよりセキュアで安定した通信が可能となるサービスです。
IBM CloudではClassic環境にしか接続できない`Direct Link Classic`とVPCを含めた全ての環境に接続できる`Direct Link 2.0`の２種類を提供していますが、今回は`Direct Link 2.0`を前提に作成しています。繰り返しとなりますが、`Direct Link 2.0`はClassicやVPCなど全ての環境にアクセスでき、IBM Cloudで提供する接続コンポーネントである`Transit Gateway`に接続できるなどメリットが多いため、新規オーダー時には`Direct Link 2.0`をご検討いただければと思います。
![スクリーンショット 2025-03-17 16.59.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/95bd3324-e36b-464e-ada4-06fdbeb2fc6c.png)

今回の検証には[IBM Cloudアカウント](https://cloud.ibm.com/docs/account?topic=account-accounts)のほか、Direct Link作成時に設定するVPC環境が前提となります。まだの方は、[こちらの記事](https://qiita.com/Sungyun_Moon/items/82e4fbe5056c7918bc54)をご参考ください。

## Direct Linkの作成の流れ
まずはDirect Linkを作成するためにコンソールに入り、左上の`ナビゲーション・メニュー`→`インフラストラクチャー`→`ネットワーク`→`Direct Link`にアクセスします。
![スクリーンショット 2025-03-17 17.20.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/2184f8b2-abc8-445a-b730-70213930aaf3.png)

右上の`Direct Linkの注文`をクリックします。
![スクリーンショット 2025-03-17 17.25.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/b2af1bb0-dccb-4fd9-bbe1-d6289dd95f0d.png)

そうするとDirect Linkのタイプを選択する画面が表示されますが、今回は`Direct Link Connect`で実施しました。
![スクリーンショット 2025-03-17 17.25.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/57ac0c22-ff13-4ca8-98af-5f6f0a70abb7.png)

:::note info
ConnectとDedicatedの違いはネットワークテナントの違いです。
すでに設置されている専用線をマルチテナントの形で利用される場合には`Connect`、特定の環境と環境のみを接続するシングルテナントの形として専用線を新たに引く際には`Dedicated`を選択ください。なお、`Dedicated`の場合、新たに専用線を指定して設置するため、`Connect`より時間を要します。

**Direct Link Connect**

ローカルのIBM Cloudデータ・センターを通じて、IBM Cloudインフラストラクチャーと、サービス・プロバイダーにリンクされているその他のクラウドへのプライベート・アクセスを提供します。 このオプションは、単一環境に複数のクラウド接続を作成する場合に最適です。 IBMは、共有帯域幅トポロジーを使用することで、顧客をIBM Cloud Privateネットワークに接続する。 他の Direct Link 製品と同様に、すべての IBM Cloud ロケーションへのプライベート・ネットワーク・トラフィックを可能にするグローバル・ルーティングを追加できます。

**Direct Link Dedicated**

シングルテナントでファイバーベースのクロスコネクトをIBM Cloudネットワークに接続することができます。 IBM Cloud PoPs およびデータ・センターの横にあるコロケーション・オンプレミスのお客様は、このオファリングを使用できます。 お客様のオンプレミスまたはその他のデータ・センターに回線を提供するネットワーク・サービス・プロバイダーも、このオファリングを使用できます。
:::

direct Link Connectの作成画面が表示されたら、各設定を行います。
Direct Link名やゲートウェイ、プロバイダー、速度、課金形式、BGP設定などを行います。
今回は東京リージョンにてプロバイダーは`At Tokyo`、速度は最低速度の`50Mbps`、課金形式は`計測`にしています。
また、BGP ASN（Border Gateway Protocol Autonomous System Number）の設定が必要ですが、今回はプライベートASNの`65100`にしています。こちらはすでにASNを持っていたり、特定の値の設定が必要な場合には適宜変更ください。

また、接続方式には`直接リソース`と`Transit Gateway`の２種類がありますが、今回は事前に用意したVPC環境に直接接続しました。
前提となったVPCを選択し、ロケーションや接続名などを設定します。

:::note info
課金形式には`計測`と`定額制`の２種類がありますが、言葉通り`計測`は通信料の従量課金制であり、`定額制`は一定金額による使い放題形式となります。
:::

![FireShot Capture 081 - Direct Link - [cloud.ibm.com].png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/7d158726-2450-466a-abb2-6cae2de4ac90.png)

全ての設定が終わって作成したら、Direct Linkのリストに作成したDirect Linkが表示されるようになります。作成したDirect Linkをクリックすると詳細ページに移動できます。
![スクリーンショット 2025-03-17 16.03.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/3a6dab5e-3c16-47bf-92e4-39629e545b08.png)

詳細画面に入るとオーダーの際に設定したDirect Linkの詳細が表示されます。
Direct Linkはオーダー後に稼働まで数分程度の時間がかかる場合がありますが、すぐ立ち上がるかと思います。
![スクリーンショット 2025-03-17 16.03.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/5e20a15c-a50c-4133-b776-948dcf88a09e.png)

プロビジョニングが完了すると上端に`プロビジョニング済み`と表示されます。
![スクリーンショット 2025-03-17 16.09.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/21b7fdfa-7085-45ae-9d8e-9fbf9878b9fd.png)

:::note warn
Direct Linkの作成の際、どこまで自動的に作成されるかはサービスプロバイダー側に依存するため、接続先によっては作成される範囲が異なります。そのため、必要に応じてCER（Customer Edge Router）とXCR（Cross Connect Router）の間でGBPの経路交換を実施し、疎通確認が必要な場合があります。
:::

これでDirect Linkの作成は完了です。

## Direct Linkの速度変更を行う流れ
Direct Linkの速度を含めた設定変更は、コンソールとCLIの両方利用可能です。具体的な手順は以下を参考ください。

### ① コンソール上で変更する方法 
まずはコンソール上で変更する方法です。

プロビジョニングされたDirect Linkの詳細画面に速度が表示されていますが、`アップグレード`をクリックすることで速度を変更することができます。（プロビジョニング前にはグレーアウトされています）
![スクリーンショット 2025-03-17 16.09.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/2eb88ea7-1b39-47db-83aa-f36fb36e56a0.png)

`アップグレード`をクリックするとDirect Linkの設定変更画面が表示されますが、ここでDirect Link名やルーティング形式（ローカル、グローバル）、速度、課金形式などを変更することができます。今回は`100Mbps`に変更設定しています。
希望の設定に変更したら、下の`送信`をクリックします。
![スクリーンショット 2025-03-17 17.51.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/cc44234a-fb29-40dd-b004-aeabf871e623.png)

:::note warn
接続方式を変更するためには、一度すべてのVirtual Connectionを削除し、接続方式を再設定する必要があります。Direct Linkのインスタンス自体を削除する必要はありません。
![スクリーンショット 2025-03-17 16.31.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/36388dc6-4902-484b-a2e0-155818a85d88.png)
:::

設定変更を行うと再度Direct Linkのプロビジョニングが走り始めます。詳細画面の速度欄に変更した`100Mbps`が表示されていることがわかります。
![スクリーンショット 2025-03-17 16.31.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/884d8f6e-66b5-40b0-8210-53379fb0a5b9.png)

数分後に再度`プロビジョニング済み`と表示されたら、速度変更の設定は完了です。
![スクリーンショット 2025-03-17 16.34.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/008c9f82-8638-4a40-a77b-1716cdc0dc95.png)

### ② Direct Link CLIで変更
次はDirect Link CLIを利用して変更する手順です。

ターミナルにてIBM Cloudでログインします。
右上のプロフィールアイコンをクリックし、`CLIとAPIにログイン`をクリックしますと、以下のログインCLIが表示されます。
IBM Cloud CLIをコピーしコマンド入力にてログインを行います。その後、対象リージョンを選択します。
![スクリーンショット 2023-01-27 14.52.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/85389613-4b70-eda8-43d4-a0da1211064c.png)
![スクリーンショット 2023-01-27 14.52.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/04c3ad3e-31da-6abc-804c-506a5536429d.png)

```shell:IBM Cloudログイン結果
moonsy@moon ~ % ibmcloud login -a https://cloud.ibm.com -u passcode -p xxxxxxxxxx
API エンドポイント: https://cloud.ibm.com
認証中です...
OK

ターゲットのアカウント itz-cp-jpn (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) <-> xxxxxxx


リージョンを選択します (または Enter キーを押してスキップします):
1. au-syd
2. in-che
3. jp-osa
4. jp-tok
5. eu-de
6. eu-es
7. eu-gb
8. ca-mon
9. ca-tor
10. us-south
11. us-south-test
12. us-east
13. br-sao
数値を入力してください> 4
ターゲットのリージョン jp-tok


API エンドポイント:   https://cloud.ibm.com
Region:               jp-tok
ユーザー:             S.Moon@ibm.com
アカウント:           itz-cp-jpn (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) <-> xxxxxxx
リソース・グループ:   リソース・グループがターゲットになっていません。'ibmcloud target -g RESOURCE_GROUP' を使用してください
```

その後、Direct Link CLIを利用するために以下のコマンドにてインストールを行います。
```
ibmcloud plugin install dl-cli
```
```shell:結果
moonsy@moon ~ % ibmcloud plugin install dl-cli
Looking up 'dl-cli' from repository 'IBM Cloud'...
Plug-in 'dl-cli[dl] 0.5.10' found in repository 'IBM Cloud'
Attempting to download the binary file...
 12.70 MiB / 12.70 MiB [===========================================================================================================] 100.00% 0s
13317634 bytes downloaded
Installing binary...
OK
Plug-in 'dl-cli 0.5.10' was successfully installed into /Users/moonsungyun/.bluemix/plugins/dl-cli. Use 'ibmcloud plugin show dl-cli' to show its details.
```

:::note
Direct Link CLIを利用するためにはIBM Cloud CLIのインストールが必要です。まだの方は以下のコマンドにてまずはIBM Cloud CLIをインストールください。
```
curl -fsSL https://clis.cloud.ibm.com/install/osx | sh
```
:::

すでに作成したDirect Linkの詳細を確認するために、以下のコマンドを入力しGatewayIDと速度を確認します。
最初に設定したとおり、50Mbpsと表示されていることがわかります。
```
ibmcloud dl gateways
```
```shell:結果
moonsy@moon ~ % ibmcloud dl gateways

Listing Gateways under account itz-cp-jpn as user xxxxxx@ibm.com...
GatewayID                              Name           BGP ASN   BGP Status   Location   Operational Status   Speed(mbps)   Type      Provider Created   MACsec Enabled
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx   test-dl-moon   65001     active       tok02      provisioned          50            connect   no                 no
```

以下のコマンドを使って速度変更を行います。`<GATEWAY_ID>`には上記のDirect Link詳細で確認したGatewayIDを入力し、その後オプションとして希望の速度をMbps単位で入力します。今回は100Mbpsに変更しています。
```
ibmcloud dl gateway-update GATEWAY_ID [--speed-mbps SPEED_MBPS]
```
```shell:結果
moonsy@moon ~ % ibmcloud dl gateway-update f9f2f4de-908f-4383-81ae-3d232e4161eb --speed-mbps 100
Updating Gateway xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx under account itz-cp-jpn as user S.Moon@ibm.com...
                              
GatewayID                     xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Name                          test-dl-moon
BGP ASN                       65001
BGP CER CIDR                  xxx.xxx.x.x/xx
BGP IBM ASN                   xxxxx
BGP IBM CIDR                  xxx.xxx.x.x/xx
BGP Status                    active
Billing                       metered
Connection Mode               direct
Created AT                    2025-03-17T16:03:00.867+09:00
CRN                           crn:v1:bluemix:public:directlink:tok02:a/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx::connect:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
Default Export Route Filter   permit
Default Import Route Filter   permit
Location Long Name            Tokyo 2
Location Name                 tok02
Operational Status            configuring
Port ID                       xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Provider Created              no
Resource Group ID             xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Routing                       local
Speed(mbps)                   100
Type                          connect
VLAN                          xxxx
Cross Account                 no
```

変更後、再度以下のコマンドにてDirect Linkの詳細を確認すると、速度が100Mbpsに変更になっていることがわかります。
```
ibmcloud dl gateways
```
```shell:結果
moonsy@moon ~ % ibmcloud dl gateways

Listing Gateways under account itz-cp-jpn as user xxxxxx@ibm.com...
GatewayID                              Name           BGP ASN   BGP Status   Location   Operational Status   Speed(mbps)   Type      Provider Created   MACsec Enabled
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx   test-dl-moon   65001     active       tok02      provisioned          100            connect   no                 no
```

:::note info
もしDirect Link CLIのインストールができず以下のような結果が表示された場合、言語変更をすることで解決できる可能性があります。（エラーや解決の明確な理由は把握できていないですが、おそらくDevチームのテスト環境の言語が違うため起きる現象かと推測します）

```shell:エラーの例
moonsy@moon ~ % ibmcloud plugin install dl-cli
リポジトリー 'IBM Cloud' から 'dl-cli' を検索しています...
プラグイン 'dl-cli[dl] 0.5.10' がリポジトリー 'IBM Cloud' 内で見つかりました
バイナリー・ファイルをダウンロードしようとしています...
 12.70 MiB / 12.70 MiB [===========================================================================================================] 100.00% 1s
13317634 バイトがダウンロードされました
バイナリーをインストールしています...
失敗
プラグインのメタデータを取得できません。 エラー: exit status 2
```

```shell:言語変更のコマンド
LANG=C
```
```shell:言語変更後の結果
moonsy@moon ~ % LANG=C
moonsy@moon ~ % ibmcloud plugin install dl-cli
Looking up 'dl-cli' from repository 'IBM Cloud'...
Plug-in 'dl-cli[dl] 0.5.10' found in repository 'IBM Cloud'
Attempting to download the binary file...
 12.70 MiB / 12.70 MiB [===========================================================================================================] 100.00% 0s
13317634 bytes downloaded
Installing binary...
OK
Plug-in 'dl-cli 0.5.10' was successfully installed into /Users/moonsungyun/.bluemix/plugins/dl-cli. Use 'ibmcloud plugin show dl-cli' to show its details.
```
:::

## 参考
- [IBM Cloud Docs - Direct Link CLI](https://cloud.ibm.com/docs/dl?topic=dl-dl-cli)