SORACOM VPGとAWS EC2間の接続を理解する

はじめに

SORACOMというIoTプラットフォームを提供する会社があります。
SORACOM AirとSORACOM Canal/Gate/Junctionを利用することで、とても安価かつ簡単にAWSとデバイス間をプライベートネットワーク接続することができます。

環境構築する中でWebコンソールに表示されているSORACOMから払い出されたIPアドレスが何であるのか、それに対してAWS側に何の設定を入れているのかなど、少し難しく感じたので誰かの役に立つことを願いまとめてみます。

構成

以下のような試験環境を構築しました。

f:id:nananao_dev:20181220014129p:plain

環境構築

環境構築手順に関しては本家のドキュメントに譲ります。
各項目で難しく感じた箇所をまとめます。

dev.soracom.io

dev.soracom.io

SORACOM Canalの設定について

SORACOM Canalとは

SORACOM CanalはAWS上に構築したお客様の仮想プライベートクラウド環境とSORACOM プラットフォームを直接接続するプライベート接続サービスです。

CanalはAWSと接続するためのVPG(Type-C)と呼ばれるゲートウェイを提供しているサービスです。
このVPGというゲートウェイはデバイス(SIM)に割当てるIPアドレスの管理/ルーティングや、インターネット or AWSに対するルーティング情報を設定できます。

バイスサブネットIPアドレスレンジ

VPGを作成する際に入力する項目です。
ここに設定したIPアドレスレンジの中からSIM(デバイス)に対してIPアドレスが割当てられます。

f:id:nananao_dev:20181219163412p:plain

IPアドレスマップというSIMに対して/32の固定的にIPアドレスアサインする機能を使わない限り、このデバイスサブネットIPアドレスレンジで設定したアドレスレンジの中から動的にIPアドレスアサインされるようです。

また、デバイスサブネットIPアドレスレンジはVPG作成時にしか設定できないためレンジを変更したい場合はVPGの作り直しが必要となります。

VPCのアドレスレンジ

VPCピア接続の追加を行う際に入力する項目です。
言葉の通りAWS VPCのアドレスレンジを指しているのはわかりますが「あれ?なんでこの情報をSORACOMに渡す必要があるの?」と感じました。

f:id:nananao_dev:20181220003932p:plain

ピアリングするVPCのアドレスレンジはSORACOM VPGに設定され宛先IPアドレスに応じて適切なインターネット or AWS VCPへルーティングされます。

SORACOM Gateの設定について

SORACOM Gateとは

SORACOM GateはSORACOM Airで接続された IoT デバイスとのデバイス LAN 接続サービスを提供するサービスです。当サービスを利用することでリモートからデバイスへセキュアに直接アクセス、およびデバイス間通信を行うことができます。

Canalと合わせて利用することでピアリングしたAWSからデバイスサブネットIPアドレスレンジに対して通信することができるようになるサービスです。
Gate Peerと呼ばれる設定でVPGとAWS EC2間でVXLANを張ることができ、EC2上からデバイスサブネットIPアドレスレンジを宛先IPアドレスに指定した通信が可能となります。

VPGのGate Peer

VPGを作成した時点でSORACOMから払い出されるアドレスです。

f:id:nananao_dev:20181220011137p:plain

トンネル接続用IPアドレスはVPG自体のIPアドレスで、デバイスサブネット内IPアドレスは先ほど設定した 「デバイスサブネットIPアドレスレンジ」の中から払い出されたVXLAN用のIPアドレスです。

お客様のGate Peer

先の「VPGのGate Peer」の対向するEC2の設定情報です。 各項目ともVPGのGate Peerと同様でトンネル接続用IPアドレスにはEC2のプライマリ IPアドレス(EC2作成時にネットワークインターフェースにあてるIPアドレス)を、デバイスサブネット内IPアドレスには「デバイスサブネットIPアドレスレンジ」から1つ選び入力します。

f:id:nananao_dev:20181220011552p:plain

TBD:図を書く)

SORACOM Junction(Redirection)の設定について

SORACOM Junction(Redirection)とは

リダイレクション機能は、VPGを通過するユーザパケットが常にお客様が指定したサーバを経由するように経路を変更して転送します。

指定した宛先に対してパケットをまるっと転送してくれるサービスです。
SIM(デバイス)からの通信がVPGのアドレス(100.64.X.X)に変換されることなく、SIMに割当てられたIPアドレスを送信元IPアドレスとして転送してもらえるます。

SORACOM Junction:リダイレクション設定

転送したい宛先を指定します。
先ほど設定した「お客様のGate Peer」の「デバイスサブネット内IPアドレス」に転送します。

f:id:nananao_dev:20181220013343p:plain

まとめ

SORACOM VPGとAWS EC2間の接続を理解するために各設定項目の役割を見てみました。
SORACOM Canal/Gate/Junction は月額約4万円程度(別途通信量等発生します)で、AWSへ閉域で接続するその他サービスと比較すると圧倒的に安価かつ簡単です。

EC2だけでなく他のサービスとの連携についてもまとめていきたいと思います。

以上