7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS Wavelength を構築してみた

Last updated at Posted at 2022-02-27

はじめに

AWS Wavelength は、モバイルネットワークを利用したときに、従来のリージョンと比べてより低遅延でアクセスが出来る用になるサービスです。下のイメージ図がわかりやすいと思います。従来、5G や 4G ネットワークを使って AWS リージョンにアクセスすると、いわゆる「the internet」を経由していました。Wavelength で提供される Zone を利用することで、キャリアネットワークに閉じたアクセス経路になるため、より低遅延にアクセスが出来るようになります。

image-20220227164650847.png

引用 : https://www.slideshare.net/AmazonWebServicesJapan/aws-wavelength20210414

Wavelength のユースケースは、スマートファクトリー、コネクテッドカー、リアルタイムゲームなどが挙げられています。今回の記事では、Wavelength を使って KDDI 網の端末からアクセスを行ってみる内容になります。5G の端末は用意できなかったので、性能測定は行いませんのでご了承下さい。

Wavelength を有効化

デフォルトでは、Wavelength は無効化されているので、有効化をしていきます。以前は事前承認が必要でしたが、オプトイン形式で簡単に有効化が出来るようになりました。

EC2 Dashboard を開き、右側にある Zones を選択します

image-20220227101313221.png

Wavelength Zones にある Manage を押します

image-20220227101332766.png

KDDI のものを Enabled を押します

image-20220227101358129.png

Enable と入力して Ok を押します

image-20220227101421412.png

自分の環境では、数分後 Enabled となりました

image-20220227101502486.png

VPC の作成

Wavelength Zone の東京と大阪は、Tokyo Region の VPC に所属する Zone となります。KDDI さんの Slideshare から引用しますが、次の図にある通り、Wavelength Zone は、東京リージョンの VPC の中で、AZ と横並びに存在する Zone となっています。大阪リージョンの Wavelength Zone についても、大阪ではなく東京リージョンの VPC に所属する点は、若干紛らわしいので覚えておきましょう。

image-20220227102321655.png

VPC 内の AZ と Wavelength Zone は相互通信可能です。KDDI 網に参加している端末が、Wavelength の EC2 インスタンスにアクセスできます。(通常のインターネットの回線からは、ICMP しか通りません)

image-20220227123742059.png

ということで、まずは VPC を東京リージョン側で作成していきましょう。既に VPC を持っている場合は、既存のものを利用できます。

Create VPC を押します。

image-20220227124304288.png

名前や CIDR を入力して、Create VPC を押します。

image-20220227124506761.png

VPC が作成されました

image-20220227124611441.png

Subnet の作成

Wavelength Zone に紐づく Subnet を作っていきます。通常の AZ で作成するときの手順と同じです。

Create Subnet を押します。

image-20220227124830247.png

作成した VPC を選択します

image-20220227124900669.png

パラメータを入れて Create Subnet を押します

  • Subnet の名前
  • Availability Zone の選択で、Wavelength Zone の東京を選ぶ
  • CIDR を入力

image-20220227125033397.png

Wavelength Zone Tokyo の Subnet が出来ました。

image-20220227125207633.png

同様に Wavelength Zone の Osaka 側も作成しました

image-20220227125417155.png

通常の Tokyo Region の AZ も作成しました

image-20220227125528434.png

Carrier Gateway の作成

Wavelength として必要な Carrier Gateway を作成します。KDDI さんのスライドを借りると、KDDI 網と接続するための Gateway です。通常の AZ だと Internet Gateway を使ってインターネットと通信をしますが、Wavelength の場合は、Carrier Gateway を使います。

image-20220227102321655.png

それでは、Carrier Gateway を作成していきましょう。VPC のページで、Carrier Gateway の作成をしていきます。

image-20220227130932346.png

名前と VPC を選択して、Create を押します

image-20220227131053921.png

作成されました

image-20220227131110633.png

Route Table を Subnet に紐づける

Carrier Gateway を作成したことで、自動的に 1 個の Route Table が作成されています。この Route Table を Subnet に紐づけます。

image-20220227131321644.png

東京と大阪の Wavelength Zone に紐づく Subnet を選択します。

image-20220227131438591.png

Wavelength Zone に EC2 インスタンスを作成

それでは、実際に Wavelengh Zone で EC2 インスタンスを作成していきます。通常の AZ と同様の操作で構築できます。EC2 のページで Launch instances を選択します

image-20220227131837010.png

Amazon Linux 2 を選びます

image-20220227134207840.png

次に、EC2 インスタンスタイプを選んでいくのですが、Wavelength Zone で利用可能なインスタンスタイプについてです。次の URL で公開されています。

image-20220227134313167.png

上記の URL にある通り、次の 4 つを選択できます。

  • t3.medium
  • t3.xlarge
  • g4dn.2xlarge
  • r5.2xlarge

なお、上記以外の インスタンスタイプを選択すると、エラーになります。

image-20220227134500706.png

今回は、t3.medium を選択していきます。

image-20220227134817549.png

VPC と Subnet を、Wavelength のものを選択します。

image-20220227134923493.png

ストレージ容量などを選択して Next を押します

image-20220227135037823.png

Security Group の設定です。一旦、VPC 内部に限定したものを設定します。

image-20220227135149773.png

Launch を押します

image-20220227135246266.png

キーペアを選択します。

image-20220227135317479.png

EC2 Instance が、Wavelength Zone 上で構成されました

image-20220227135416002.png

同様に Wavelength Zone の大阪と、東京リージョン側の通常 AZ にも、EC2 Instance を作成しました

image-20220227135802884.png

Wavelength Zone のインスタンスに SSH

Wavelength Zone に作成したインスタンスが正常に稼働しているか SSH をしてみましょう。自宅の PC はインターネットにつながっていますが、KDDI 網には接続していないので、東京リージョンの AZ に立てたインスタンスを踏み台にしてアクセスをしていきます。(記事では省略しますが、AZ 側ではInternet Gateway や Security Group など、SSH 接続をするための設定変更をしています)

東京AZ → Wavelength Zone 東京

Ping が正常に届きます。

[ec2-user@ip-10-10-100-102 ~]$ ping 10.10.0.55
PING 10.10.0.55 (10.10.0.55) 56(84) bytes of data.
64 bytes from 10.10.0.55: icmp_seq=1 ttl=64 time=5.56 ms
64 bytes from 10.10.0.55: icmp_seq=2 ttl=64 time=5.18 ms
64 bytes from 10.10.0.55: icmp_seq=3 ttl=64 time=5.16 ms
64 bytes from 10.10.0.55: icmp_seq=4 ttl=64 time=5.20 ms
^C
--- 10.10.0.55 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 5.161/5.278/5.560/0.178 ms
[ec2-user@ip-10-10-100-102 ~]$

Wavelength Zone 東京で稼働している EC2 インスタンスに、SSH が出来ました

[ec2-user@ip-10-10-100-102 ~]$ ssh ec2-user@10.10.0.55
Last login: Sun Feb 27 05:11:28 2022 from 10.10.100.102

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/

東京AZ → Wavelength Zone 大阪

Ping が出来ています

[ec2-user@ip-10-10-100-102 ~]$ ping 10.10.1.248
PING 10.10.1.248 (10.10.1.248) 56(84) bytes of data.
64 bytes from 10.10.1.248: icmp_seq=1 ttl=64 time=11.6 ms
64 bytes from 10.10.1.248: icmp_seq=2 ttl=64 time=11.4 ms
64 bytes from 10.10.1.248: icmp_seq=3 ttl=64 time=11.4 ms
64 bytes from 10.10.1.248: icmp_seq=4 ttl=64 time=11.6 ms
64 bytes from 10.10.1.248: icmp_seq=5 ttl=64 time=11.4 ms
^C
--- 10.10.1.248 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 11.402/11.536/11.690/0.125 ms
[ec2-user@ip-10-10-100-102 ~]$

Wavelength Zone 大阪で稼働している EC2 インスタンスに、SSH が出来ました

[ec2-user@ip-10-10-100-102 ~]$ ssh ec2-user@10.10.1.248
Last login: Sun Feb 27 05:14:04 2022 from 10.10.100.102

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-10-1-248 ~]$

WZ 大阪 → WZ 東京

なお、Wavelength Zone 東京と Wavelength Zone 大阪間は通信できません

[ec2-user@ip-10-10-1-248 ~]$ ping 10.10.0.55
PING 10.10.0.55 (10.10.0.55) 56(84) bytes of data.
^C
--- 10.10.0.55 ping statistics ---
8 packets transmitted, 0 received, 100% packet loss, time 7172ms

[ec2-user@ip-10-10-1-248 ~]$

Elastic IP の作成

Elastic IP を作成して、Wavelength Zone の EC2 インスタンスに付与していきます。これを付与することで、KDDI 網から直接 Wavelength Zone のインスタンスへ接続が可能です。

Allocate Elastic IP address を選びます

image-20220227142239099.png

Wavelength Zone 東京の Elastic IP を取得するために、Network Border Group の欄で、 ap-northeast-1-wl1-nrt-wlz-1 を選びます。大阪の場合は ap-northeast-1-wl1-kix-wlz-1 です。

image-20220227142327958.png

Wavelength Zone の東京と大阪側の両方を取得しました

image-20220227142541494.png

取得した Elastic IP を選択して、EC2 インスタンスに Associate していきます

image-20220227142908146.png

Associate をします

image-20220227142958188.png

同様に、Osaka の Elastic IP も EC2 インスタンスに付与します。

自宅から Ping で疎通確認

Wavelength Zone で稼働している EC2 インスタンスは、インターネットを経由しても ICMPであれば通信可能です。TCP/UDP はダメです。ここまでの設定の確認のため、自宅PC から Ping を行い、正常に通信できるか確認してみましょう

東京と大阪のそれぞれに Ping を打ちます。正常に疎通できれば、ここまでの設定は正しくできています。

ping <elastic IP>

Nginx のインストール

Wavelength Zone でうごかしている 東京と大阪のEC2 インスタンスへ、Nginx を導入します

sudo amazon-linux-extras install nginx1 -y

root ユーザーにスイッチします

sudo su -

Index.html を書き換えます。テストページです from Wavelength 東京 の文字は、大阪のときは書き換えます

cat <<'EOF' > /usr/share/nginx/html/index.html
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title>テストページです from Wavelength 東京</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <style type="text/css">
            /*<![CDATA[*/
            body {
                background-color: #fff;
                color: #000;
                font-size: 0.9em;
                font-family: sans-serif,helvetica;
                margin: 0;
                padding: 0;
            }
            h1 {
                text-align: center;
                margin: 0;
                padding: 0.6em 2em 0.4em;
                background-color: #294172;
                color: #fff;
                font-weight: normal;
                font-size: 1.75em;
                border-bottom: 2px solid #000;
            }
            h1 strong {
                font-weight: bold;
                font-size: 1.5em;
            }
            /*]]>*/
        </style>
    </head>

    <body>
        <h1>テストページです from Wavelength 東京</h1>
    </body>
</html>
EOF

root から戻ります

exit

Nginx のサービスを起動します

sudo systemctl restart nginx
sudo systemctl enable nginx

アクセス確認

KDDI 回線を持っている端末から、実際にアクセスしてみましょう。

まず東京です。正常にアクセスできました!環境的に 4G 回線になりますが、これでも正常にアクセスできています。なお、通常のインターネット回線からは接続できません。

image-20220227164000524.png

次に大阪です。これも同様にアクセスができました!

image-20220227164050041.png

検証を通じてわかったこと

  • Wavelength Zone は、ネットワークキャリア網に参加している端末からアクセス可能
  • 5G でも 4G でも接続可能
  • the internet からはアクセスできない (ICMP のみ可能)
  • Wavelength Zone の東京と大阪は、Tokyo Region の VPC に所属する
  • Tokyo Region の AZ と、Wavelength Zone 間は問題なく通信可能
  • Wavelength Zone の東京と大阪間は通信できない
7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?