AzureのMulti-access edge compute（MEC）ってなんだ？

IoTや5G、エッジコンピューティングは[GCPがIoT Coreをやめる](https://cloud.google.com/iot-core)と言って炎上したり、[AT&TがMSにNetwork Cloudを売却し5GコアネットワークをAzure for Operatorsに移行する](https://jp.sdxcentral.com/%E8%A8%98%E4%BA%8B/%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9/%E7%B1%B3att%E3%81%8C5g%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%92%E6%94%BE%E6%A3%84%E3%80%81%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88/2021/07/)と言ったり、いろいろと話題が豊富ですが、普段の業務ではあまり関係なく何が起こっているのかついていけなくなってしまったので調べてみました

# 前提：Azureは通信事業者向けのサービスも提供している

これを知らないと混乱するのですが、Azureは通信事業者向けのサービスも提供しています。

> 通信業界が5G の普及促進に向けてクラウド技術の採用を進める中、存在感を大きく高めているのがマイクロソフトだ。同社は現在、通信事業者向けのクラウド基盤として「Azure for Operators」を推進し、通信事業者やベンダー各社との協業に基づくオープンなエコシステムにより、パブリック／プライベート／ローカル5Gネットワークの構築／活用を支援している

https://japan.zdnet.com/extra/ms_azure_202208/35191419/

この記事で取り上げるMECは通信事業者向けとも少し違いますが、通信事業者の役割がかなり大きいもののように思われました

# Multi-access edge compute (MEC)

[この記事](https://www.janog.gr.jp/meeting/janog45/program/mec/)の中で宮坂 拓也 (株式会社KDDI総合研究所)さんは以下のように定義しています。

> ユーザーに近いところにエッジサーバーを設置し、ユーザーとのアプリケーションを終端することで、低遅延化・処理の分散化を実現する技術

これだとエッジコンピューティングとの違いはないようですが、区別して説明している方もいて、Red Hatの小野 佑大さん（元KDDIさん）は[この記事](https://qiita.com/ydo/items/87945c14359ca2100224)で以下のように説明されています。図もここからの引用です。

> 本稿で記載しているMECとは、通信キャリアのネットワーク上(ネットワークエッジ)に設置されるコンピューティング環境を指します。
MECの他にも、店舗やビル、工場などに設置されるオンプレミス環境であるCustomer EdgeやEnterprise Edge、スマートフォンや車の中に搭載されているECU(electronic control unit)などのデバイスそのもので処理を行うDevice Edgeなど、様々なエッジ環境が存在します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/5c51f9a0-61df-c37c-5991-5778afd8bd11.png)

ここでは小野さんの説明にある「通信キャリアのネットワーク上(ネットワークエッジ)に設置されるコンピューティング環境」をMECと呼ぶのだと理解することにします。

# Azureが提供する「MEC」の名前がつくサービス

Azureが提供する「MEC」の名前がつくサービスが2つあります。「Azure public MEC」と「Azure private MEC」です。

https://azure.microsoft.com/ja-jp/solutions/public-multi-access-edge-compute-mec/#overview

https://azure.microsoft.com/en-us/solutions/private-multi-access-edge-compute-mec/#overview

## Azure public MEC

Azure public MECはMSと通信事業者とのパートナーシップで提供されるもので、通信事業者のデータセンター内またはその近くに Azure の機能の一部を配置するものです。2022/09/02現在、対応している通信事業者はAT&Tで、地域としてはアトランタ、ダラスとなっています。

Azure public MEC内で利用できるAzureサービスとしては、2022/09/02現在以下が記載されています。

* Azure Virtual Machines
* Virtual Machine Scale Sets
* Azure Private Link
* Standard Public IP
* Azure 仮想ネットワーク
* 仮想ネットワーク ピアリング
* Azure Standard Load Balancer
* Azure Kubernetes for Edge
* Azure Bastion (親 Azure リージョン内の仮想ネットワークにデプロイ)
* Azure Managed Disks (Standard SSD をサポート)

## Azure private MEC

もともとPrivate Edge Zoneと呼ばれていたものです。Edge Zonesの名前がつくものは[こちら記事](https://project.nikkeibp.co.jp/idg/atcl/19/00134/092500001/?ST=idg-cm-network&P=2)によると、もともと以下の3種類のパターンで提供されていました。

* 「Azure Edge Zones」MSが管理と運用を行うエッジクラウド。ニューヨーク、ロサンゼルス、マイアミで利用できる。
* 「Azure Edge Zones with Carrier」MSと通信事業者との提携して実現。アトランタ、ダラス、ロサンゼルスで利用できる。
* 「Azure Private Edge Zones」は、企業のプライベートな拠点向けのサービス。データセンター事業者と提携して実現。

「Azure Edge Zones with Carrier」の後継サービスが前述の「Azure public MEC」なのでしょうか…いまは出て来ないです。「Azure Edge Zones」もいまどうなっているのか分かりませんでした。

[こちらの記事](https://azure.microsoft.com/ja-jp/blog/unlocking-the-enterprise-opportunity-with-5g-edge-compute-and-cloud/)によると、Private Edge ZoneからAzure private MECへの変化で以下が強化されたそうです。

### Azure Network Function Manager

* Azure private MEC でネットワーク機能のデプロイとプロビジョニングを行うことができる
* Azure portal を使用してアプリケーションにアクセスすることで、複数のサイトに分散したワークロードを 1 つのペインで管理できる

### Metaswitch Fusion Core

このサービスは後述のAzure Private 5G Coreと何が違うのかよく分からないです…

* Azure Marketplace で入手できる
* コンテナー化された 5G Core ソリューション
* 4G または 5G 無線ネットワーク上で IoT デバイスを接続するために必要なすべてのネットワーク機能をサポートする
* Azure Network Function Manager を使用することで、Metaswitch Fusion Core を Azure portal からデプロイおよびプロビジョニングできる

### Affirmed Private Network Service (APNS)

* APNS はフル マネージドのPrivate 携帯 ネットワークサービス
* 通信事業者は企業向けにプライベート LTE および 5G コア ネットワークを運用できる
* 複数の企業サイトをまたいで安全なモビリティを提供する事業者統合型ソリューション

### Microsoft Marketplace パートナー ソリューション

* Marketplaceからパートナー ソリューションにアクセスすることができる
* Celona、ASOCS (近日発表)、Netfoundry、Versa、Nuage Networks、VMware SD-WAN、Fortinet (近日発表)、Juniper Networks Session Smart Routing (近日発表) などがある

### Azure Private 5G Core

[公式ドキュメント](https://docs.microsoft.com/ja-jp/azure/private-multi-access-edge-compute-mec/overview)の中でPrivate MECと一緒に取り上げられているのが、Azure Private 5G Coreです。

このサービスはAzure Stack Edge（ハードウェア）とAzure Arcで管理されたKubernetes上に5G コア ネットワーク機能を提供するものとされています。以下の図は[ここ](https://docs.microsoft.com/ja-jp/azure/private-5g-core/private-5g-core-overview)からの引用です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/ebea989b-ed3d-c008-2edb-64125542ef43.png)

#### 5G コア ネットワーク機能

5G コア ネットワーク機能とは何でしょうか。以下の図はコア機能のアーキテクチャを表したもので、[ここ](https://docs.microsoft.com/ja-jp/azure/private-5g-core/private-5g-core-overview)からの引用です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16609/ccf19bb7-38f8-d6d2-a0e9-9149d116bea8.png)

Azure Private 5G Coreが通信事業者向けのサービスだからなのか分かりませんが、公式のドキュメントには各コンポーネントがなんのためのものなのかの説明はあまりありません。総務省の[サイバーセキュリティタスクフォース（第31回）](https://www.soumu.go.jp/main_sosiki/kenkyu/cybersecurity_taskforce/02cyber01_04000001_00183.html)の資料の中に用語集があるので、これを元に頻出用語の意味を確認しておきましょう。

* 5G user equipment : 5Gのユーザ端末
* gNodeB : 5Gの基地局
* RAN : Radio Access Network、無線技術を利用したアクセスネットワーク。5G で
は、複数の gNB で構成される（5G NR 参照）。
* UPF : User Plane Function、パケットのルーティングや転送など、ユーザプレーン
の操作を容易にするネットワーク機能
* SMF : Session Management Function、データ用仮想化通信パスのセッションを管理
するネットワーク機能
* AMF : Access and Mobility management Function、加入者認証、セキュリティ、位
置情報管理のためのネットワーク機能
* AUSF : Authentication Server Function、UDM に格納されている加入者情報に対し
て加入者/UE を認証するネットワーク機能。
* UDM : Unified Data Management、加入者データとプロファイルを保持する AUSF
のネットワーク機能の一つ
* UDR : 加入者情報を保持・管理
* PCF : Policy Control Function、ネットワークスライスへの加入者アクセス、サービ
ス、サービス、QoS、データ使用量などの側面を制御するサービスおよびセ
キュリティポリシーの中央執行ポイント
* NRF : Network Repository Function、利用可能なネットワークサービス、ネットワ
ーク機能、およびそれらのプロファイルに関する情報を保存する中央ネット
ワークレジストリ。NF 登録、ディスカバリー、認証、認可などの主要なサービスを容易にする
* Data Network : 5GC外部のデータネットワーク（インターネット等）
* Application Function : 外部アプリケーションサーバ（例：動画などのコンテンツ配信）

4G関連

* 4G user equipment : 4Gのユーザ端末
* eNodeB : 4Gの基地局
* MME : モバイル管理エンティティ
* MME-Proxy : 4Gの端末に5Gネットワーク機能が対応できるようにする

Azure Private 5G CoreはRANの提供はされないものの、それ以外の5G Core機能をKubernetes上のアプリケーションとして提供することができる、というサービスのようです

### Azure private MECで提供されるAzureのアプリケーション機能

[公式](https://docs.microsoft.com/ja-jp/azure/private-multi-access-edge-compute-mec/overview#application-services)にはAzure private MECでは以下のAzureのアプリケーション機能が機能が提供されると記載されています。

* Azure IoT Edge ランタイム
* Azure IoT Central
* Azure Digital Twins

## Azure private MECの優位性

MSの[記事](https://japan.zdnet.com/extra/ms_azure_202208/35191419/)の中で繰り返し言及されるのは導入にかかる期間とコストです。

> 専門エンジニアが1カ月以上張り付いて構築作業を行わなければならない5G製品が多い中、Azure Private 5G Coreはインストールがすぐに終わって準備が完了し、RANも2週間程度で構築が完了して使える

> 一般に、ローカル5GのPoCを行うための環境を整えようとすれば数千万円〜数億円のコストがかかると言われるが、今回のデモで利用したAzure Stack Edgeならば1台20万円／月のサブスクリプション料金で使うことができる

## Azure private MECの使い道

Azure private MECは何に使えばいいのでしょうか。Vice PresidentのTad Brockway氏の記事では以下の例が書かれています。

https://azure.microsoft.com/ja-jp/blog/azure-private-mec-a-thriving-partner-ecosystem/

### Accenture「リアルタイム品質検査」

自動車の組み立てラインで、移動する車両の画像をキャプチャし、5G ネットワークを使用してリアルタイムに画像を処理することで監視チームに警告を発したり、検査チームがデータをリアルタイムで分析することで迅速な修理を実現している

### Avanade 「危険な場所で働く労働者の安全管理」

倉庫、港湾、物流施設、採掘、公益事業、エネルギー分野など、危険な場所で働く労働者の健康と安全をほぼリアルタイムで監視している

### Cognizant「危険な場所や許可されていない場所への侵入検知」

カメラを使用して作業員の位置を含む空間の鳥瞰図を提供し、事前定義された危険ゾーンの近くにいたり、許可されていない場所に立ち入るとアラートを発する。船舶と Azure クラウドの間に接続がない場合はスタンドアロン モードで動作する

### Capgemini「複雑なメンテナンスや修理の作業支援」

高解像度の 5G ビデオ通話、コラボレーション ツール、および 3D 手順を使用した、リモート アシスタンスとガイド付き手順のユース ケースを提供し、複雑なメンテナンスや修理をリアルタイムで行うためにフィールド オペレーションを支援する

### HCL「空港のバイオセキュリティ」

Private 5G を利用して空港にバイオセキュリティを導入し、荷物の取り扱いやセキュリティ スクリーニングなどの乗客のチェックポイントを高速化している。バイオセキュリティ アプリケーションは、航空会社が労働者不足、高い旅行需要、健康診断要件の増加を管理するのに役立っている

### Tech Mahindra「施設に出入り時のコンテナの状態を監視する」

物流会社や港湾当局が施設への出入り時のコンテナの状態をリアルタイムで把握し、虚偽の主張を排除し、評判の低下を回避する

# 調べてみて

改めて通信事業者が4Gや5Gのために強いられている膨大な投資と、巨大な資本がない限り参入できない分野なんだなというのを痛感しました

先日AKSで発生した全世界的なAzure障害のことを思うと、Azureが管理するKubernetes上でキャリアの求める品質を提供できるかは疑問に思うところもありますが、すでにAT&Tが利用をしはじめているのであれば、いずれ求められる品質にたどり着くのかもしれません