通信の新時代MEC:AWS Wavelengthと通常環境の速度差をiPerfで検証


この記事は [NTTコムウェア AdventCalendar 2023](https://qiita.com/advent-calendar/2023/nttcomware) 23日目の記事です

## 1.はじめに

初めまして。NTTコムウェアでネットワーク系の部署に所属している森と申します。

みなさん、MECをご存じでしょうか？

MECとはMulti-access Edge Computingの略称で、平たく言うとデータを処理するサーバーを
端末に近い位置に配置することにより、低遅延な通信が可能になるものです。

私は業務でMECに関わる機会があるのですが、本当に通信って速くなるの？と思い
AWSのMECサービスを利用して検証を行ったので、どういったことを行ったのか
備忘もかねて書いていきたいと思います！

## 2.MECって何、、？
先ほども少し述べましたが、MECとはMulti-access Edge Computingの略称でデータ処理を行うサーバーをエッジ（利用する端末の近く）に配置することで、低遅延な通信を実現できるものとなっています。

※edge-computingは端末により近い場所にサーバーを分散配置するネットワークアーキテクチャです。


MECについて調べていくと、文献やサイトではそう書いてあっても本当に通信って速くなるの、、？という気持ちが湧きました。そこで、実際にMEC環境を作って確かめようと思います。

MECサービスはいくつかあるのですが、今回はAWSのWavelengthというものを利用していこうと思います。

### AWS Wavelengthとは
 AWS Wavelengthとは、AWS Wavelengthは、AWSによるエッジコンピューティングサービスで、ユーザーがAWSのコンピューティングとストレージサービスを通信サービスプロバイダーのデータセンター近くに配置することを可能にするものです。

 AWS Wavelengthは、低遅延な通信が可能であったり、通常のAWSサービス同様に操作できる柔軟性に強みを持っています。
 
なぜMECサービスの中でもAWSのWavelengthを選んだのかといいますと、他のサービスと比較して簡単に利用できるため、今回はAWS Wavelengthを利用することとします。

https://aws.amazon.com/jp/wavelength/



## AWS上での環境構築
今回は通常のAvailability zone（以下、AZと記載）とWavelength zoneのそれぞれにEC2を構築し、端末からEC2までの通信速度を測定・比較します。
（注意点としては、日本ではKDDI網からしか直接の接続ができません）

まずはAWS上で下記構成の環境を構築します。

構築の順番としては、
Wavelengthを有効化⇒VPCの作成⇒通常AZ側の構築（subnetやEC2等）⇒Wavelength側の構築(subnetやEC2等)
で構築していきます！



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641898/039dbc37-d9b1-38d0-52ff-655501b19cc7.png)



それでは具体的に環境の構築の手順に移ります。

### 3-1.Wavelengthの有効化
まずは、AWSのWavelength zoneの有効化をonにする必要があります。
リージョンが東京になっていることを確認できたら、EC2ダッシュボードから"ゾーン"と書かれているところを選択し、Wavelengthを有効化する（デフォルトだと無効になっている）



![MicrosoftTeams-image (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641898/ec433136-f5ae-157a-345e-289371aa9dbc.png)



ステータスが有効になればok
数分程待つだけで有効化し使えるようになります！


### 3-2.VPCの作成
構成図の通り通常AZのsubnetとWavelength zoneのsubnetどちらも同じVPC内なので,
VPCを1つ作成します。

作成するリソース：VPCのみ
IPv4CIDRブロック：IPv4CIDRの手動入力
IPv6CIDRブロック：IPv6CIDRブロックなし
テナンシー：デフォルト

と設定、そのほかの項目は任意で設定


![vpc_create.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641898/94eb5efc-8633-2d43-de75-b6206fd25fe7.png)

### 3-3.subnet（通常AZ）の作成

3-2で作成したVPCと紐づけ、アベイラビリティーゾーンをap-northeast-1aを選択して作成
![MicrosoftTeams-image (18).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641898/fd774352-9c34-4a06-714e-202cfe4c874f.png)




### 3-4.インターネットゲートウェイの作成
インターネットゲートウェイの作成自体には特殊な手順はありませんが、作成後にルートテーブルにsubnetを紐づける必要があります。

インターネットゲートウェイを作成したらルートテーブルに移動し、インターネットゲートウェイが載っているルートテーブルを選択。
サブネットの関連付けを押下し""通常AZ””のsubnetに紐づけます


### 3-5.EC2(通常AZ)の作成
通常AZのsubnetに配置するEC2を作成します。 
    
#### 3-5-1.基本設定
AMI:ubuntu22.04
インスタンスタイプ：t3.mediumu
キーペア：ファイル方式は.pem、キーペアのタイプはED25519を選択するように
       　　　　　（AMIにubuntuを選択しているため）
       ストレージ：gp2を選択すること
       ※Wavelengthではgp3は使用できないので、Wavelengthと条件を合わせます

#### 3-5-2.セキュリティグループの設定内容
・SSH
　タイプ：ssh
　プロトコル：TCP
　ポート範囲：22
　ソースタイプ：カスタム
　ソース：任意
 
・カスタムTCP
　タイプ：カスタムTCP
　プロトコル：TCP
　ポート範囲：5201
　ソースタイプ：カスタム
　ソース：任意  
 
・ICMP
　タイプ：すべてのICMP
　プロトコル：ICMP
　ポート範囲：0~65535
　ソースタイプ：カスタム
　ソース：任意  
 
・UDP
　タイプ：UDP
　プロトコル：ICMP
　ポート範囲：0~65535
　ソースタイプ：カスタム
　ソース：任意  

:::note warn
ソースタイプ：カスタムで設定していますが、環境に合わせて設定してください
::: 


これで通常AZ側の構築は完了です！続いてWavelength側の構築を行っていきます。


### 3-6.subnet（Wavelength zone）の作成
subnetを作成し3-2で作成したVPCと紐づけるのですが、Wavelength zoneを利用するにあたって1点大事なポイントがあります。

3-1でWavelengthを有効化しているので、subnetのアベイラビリティーゾーンでWavelength zoneを選ぶことができます。
（東京リージョンだと、アジアパシフィック（KDDI)-東京とアジアパシフィック（KDDI)-大阪が選べます。）

![MicrosoftTeams-image (15).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641898/3486c59f-fc0c-a476-faa5-5a6527d5682a.png)

選択するだけでWavelength zoneを利用できるようになるので、非常に便利です


### 3-7.キャリアゲートウェイの作成
VPCダッシュボード内キャリアゲートウェイから作成します。
 任意の名前を設定しVPCは3-2で作成したものを選択します。
 
 ![MicrosoftTeams-image (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641898/516664a5-94fe-4855-e944-0092b409161e.png)
 
### 3-8.EC2(Wavelength zone)の作成
Wavelength zoneのsubnetに配置するEC2を作成します。 


   
   #### 3-8-1.基本設定
AMI:ubuntu22.04
インスタンスタイプ：t3.mediumu
キーペア：ファイル方式は.pem、キーペアのタイプはED25519を選択するように
       　　　　　（AMIにubuntuを選択しているため）
       ストレージ：gp2を選択すること
       ※Wavelengthではgp3は使用できないので、Wavelengthと条件を合わせます

#### 3-8-2.セキュリティグループの設定内容
・SSH
　タイプ：ssh
　プロトコル：TCP
　ポート範囲：22
　ソースタイプ：カスタム
　ソース：任意
・カスタムTCP
　タイプ：カスタムTCP
　プロトコル：TCP
　ポート範囲：5201
　ソースタイプ：カスタム
　ソース：任意  
・ICMP
　タイプ：すべてのICMP
　プロトコル：ICMP
　ポート範囲：0~65535
　ソースタイプ：カスタム
　ソース：任意  
・UDP
　タイプ：UDP
　プロトコル：ICMP
　ポート範囲：0~65535
　ソースタイプ：カスタム
　ソース：任意  

:::note warn
ソースタイプ：カスタムで設定していますが、環境に合わせて設定してください
::: 

これでWavelength側のEC2の作成は完了です。

### 3-9.ssh接続
subnetやEC2を2つ作成した理由にもなるのですが、Internet経由だと直接Wavelength zoneのEC2に直接アクセスができないため下記のルートでアクセスします。

通常AZのEC2にssh接続してから、WavelengthのEC2にssh接続します

:::note warn
通常AZのEC2⇒WavelengthのEC2に接続する際、指定するIPはキャリアIPではなくローカルIPになります！
::: 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641898/e4f80cc5-1aca-f2bc-8609-463121d847da.png)



## 4.試験内容について
試験はiperfを利用し、下記のルートで計測します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3641898/b3958ce3-059d-42a2-2709-a9882e00cd3a.png)



## 5.試験結果
試験をした結果は以下となりました。

■計測方法
・スマートフォンアプリのiperfクライアントとEC2のiperfサーバを使用
・KDDIの4G/5G電波が利用可能なスマートフォンを利用
・電波はスマートフォン設定から4G/5G電波切替と、5GはKDDI 5Gエリアマップを見ながらそれぞれの電波地点へ徒歩移動してから計測

https://www.au.com/mobile/area/map/


■Internet経由のiperf(端末→通常AZのEC2)
（ss:セッション多重度）

| 電波      | RTT(msec) | Upload(Mbps) : 1ss | Download(Mbps):1ss | Upload(Mbps) : 8ss | Download(Mbps):8ss | 
| --------- | --------- | ------------------ | ------------------ | ------------------ | ------------------ | 
| 4G        | 40        | 17.9               | 47.7               | 15.4               | 66.8               | 
| 5G NR     | 34        | 53.3               | 55.1               | 17.1               | 62.7               | 
| 5G sub6   | 34        | 8.36               | 154.0              | 8.72               | 338.0              | 
| 5G ミリ波 | 42        | 30.2               | 165.0              | 61.7               | 198.0              | 


■KDDI網経由のiperf(端末→Wavelength zoneのEC2)
（ss:セッション多重度）

 | 電波|RTT(msec)| Upload(Mbps) : 1ss | Download(Mbps):1ss | Upload(Mbps) : 8ss 　　| download(Mbps):8ss | 
| --------- | --------- | ------------------ | ------------- | ------------------ | ------------------ | 
| 4G        | 54        | 20.7               | 77.8               | 17.3               | 78.4               | 
| 5G NR     | 40        | 31.3               | 59.3               | 23.5               | 142.0              | 
| 5G sub6   | 26        | 8.48               | 171.0              | 7.32               | 340.0              | 
| 5G ミリ波 | 34        | 28.7               | 147.0              | 56.5               | 199.0              | 


:::note warn
各電波において複数回測定したのち、一般的な1回の値を記載しています。
:::

全体的に言える結果として
Internet経由とKDDI網経由でそこまで通信速度が変わらない
ことが言えるかと思います
（想定外でした、、）


## 6.考察
想定していた値とは異なる値が出て驚きましたが、今後に向けての示唆も得られたのかと思っています。

今回、AWSは東京のAZ、東京のWavelength zoneだったのですが、試験を行った場所も東京であったため通信の距離があまり変わらなかったことが考えられます。

Wavelength zoneは大阪のものも利用できるので、今後は大阪のものを利用した試験であったり他リージョンでの構築など、異なるリージョンでの構築試験を行い結果に差が出るのか試していきたいです。



///////////////////////////////////////////////////////////////////////////////////////////////
※記載されている会社名、製品名、サービス名は、各社の商標または登録商標です
※画面等、記載の内容は2023年12月19日時点のものとなります