[新サービス] SORACOM Doorを試してみた #scd2016 #soracom

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

市田です。
本日開催されているイベント「SORACOM Discovery2016」にて発表された新サービス「SORACOM Door」を早速試してみたので、そのレポートをしたいと思います。

本記事はテストフェーズの環境で検証したものです。サービスのベータ/プレビューフェーズとは仕様が異なる場合があります

SORACOM Doorって?

こんなことができるようになります。

SORACOM Door image

これまでのSORACOM Canalでは、VPCピアリングで自分のVPC環境とセキュアに接続することができましたが、VPCピアリングの為、異なるリージョン間では接続することができませんでした。

今回発表されたSORACOM Doorを使うと、SORACOMのVPCと自分のVPCをインターネットVPN経由で接続することができるので、異なるリージョン間でも利用することができるようになりました。

SORACOM Doorを確認するまでの流れ

  1. 自分のVPCにカスタマーゲートウェイとしてのVPNインスタンスを構築
  2. VyOS用にElatsic IPを払い出してSORACOM側でVPN Connectionを作成(ルータコンフィグを生成してダウンロード)
  3. 疎通確認用のインスタンスを作成(VyOS経由でアクセス)
  4. 3Gドングル経由でプライベートIPで上記インスタンスに接続確認

VPC環境の構築

下記のような環境を用意します。VPCは簡単にデフォルトVPCで作ってます。

VPC環境

VyOSインスタンスの作成

MarketplaceからVyOSインスタンスを作成します。インスタンスが作成できたら、まずは下記を設定しておきます。

  • Elastic IPの付与
    • SORACOM側にカスタマーゲートウェイとして登録する為です。
  • 送信元/送信先チェックの無効化

VyOSバージョンアップ

MarketplaceのVyOSバージョンはバグがあるので、最新版にアップデートします。
VyOSにはvyosユーザでログインします。

ssh -i <VyOSインスタンスのSSH鍵> vyos@<VyOSのElastic IP>

最新バージョンをダウンロードしてバージョンアップします。

vyos@VyOS-AMI:~$ add system image http://packages.vyos.net/iso/release/1.1.7/vyos-1.1.7-amd64.iso

ここまでの状態では、まだver1.1.0のままです。デフォルトでver1.1.7として起動するように再起動します。

vyos@VyOS-AMI:~$ show system image

The system currently has the following image(s) installed:

   1: VyOS-1.1.7 (default boot)
   2: 1.1.0 (running image)

VyOSを再起動します。

vyos@VyOS-AMI:~$ reboot

Proceed with reboot? (Yes/No) [No] y    

コンンフィグ投入

次にSORACOM側でVPN接続を作成して、VyOSのコンフィグをダウンロードします。
ダウンロードしたコンフィグは下記を修正します。

(変更前)
set vpn ipsec site-to-site peer ***** local-address [VyOSのEIP]
set protocols bgp 65000 network 0.0.0.0/0

(変更後)
set vpn ipsec site-to-site peer ***** local-address [VyOSのプライベートIP]
set protocols bgp 65000 network 172.31.0.0/20

今回は、VyOSを設置するサブネットがデフォルトVPCの為、アドバタイズするネットワークを上記のようにしていますが、設置するサブネットに合わせて修正してください。

ルーティングテーブルの設定

SORACOM側への戻りのルーティングがVyOSになるように設定します。
下記の図の「ターゲット」にvyosを指定します。「送信先」のSORACOM側のIPは自分の環境用のものを設定してください。

vpc-routetable

VPN接続の確認

VPN環境の設定が完了したら、VyOSからVPN接続の状況を確認します。
下記のように「State」が「up」になっていることを確認します。

vyos@VyOS-AMI:~$ show vpn ipsec sa

Peer ID / IP                            Local ID / IP
------------                            -------------
xx.xx.xx.xx                             172.31.2.9

    Description: VPC tunnel 1

    Tunnel  State  Bytes Out/In   Encrypt  Hash    NAT-T  A-Time  L-Time  Proto
    ------  -----  -------------  -------  ----    -----  ------  ------  -----
    vti     up     4.3K/4.2K      aes128   sha1    no     924     3600    all


Peer ID / IP                            Local ID / IP
------------                            -------------
xx.xx.xx.xx                             172.31.2.9

    Description: VPC tunnel 2

    Tunnel  State  Bytes Out/In   Encrypt  Hash    NAT-T  A-Time  L-Time  Proto
    ------  -----  -------------  -------  ----    -----  ------  ------  -----
    vti     up     28.1K/27.3K    aes128   sha1    no     2120    3600    all

apインスタンスの作成

最後に構成図にある「ap」インスタンスを作成します。
このインスタンスに対してSORACOM Door経由で疎通できることを確認したいだけなので、Amazon Linuxで構築します。中身は何も触っていません。

3Gドングル

ここまではVPCの設定でしたが、いよいよ本題に入っていきます。

今回は、自分のPCからSORACOM経由でapインスタンスにアクセスできることを確認したいので、SORACOMにアクセスできる3Gドングルを用意します。

早速ですが、今回はエイビット社のドングル「AK-020」を使いました。

AK-020ドングルSORACOMスターターキット5,980円で販売を始めました! - SORACOM Blog

3Gドングル

中にはSORACOMのSIMを入れてます。
SIM

ドングルのセットアップは各環境毎に行ってください。
Mac OS XのEl Capitanを利用の場合は下記が参考になるかと思います。
AK-020 を Mac OS X 10.11 (El Capitan) で使う - Qiita

SORACOM Doorを試す!

それでは、実際にアクセスしてみたいと思います。
(上記リンクにあるドングルのセットアップが完了しているものとします。)

SORACOMに接続する

私のMacの環境では、ドングルをUSBポートに挿す度に「AK-020 Dialer」がCD-ROMとしてマウントされるので、これを取り出します。 AK-020を取り出す

次に接続アプリの「AK-020 Dialer」を起動して、右下の表示が「NTT DOCOMO」に変わるまで待ちます。最初は「ドングルが見つかりません」と表示されています。 AK-020を接続する

表示が変わったら「AK-020 Dialer」はそのままにしておいて、OS の「システム環境設定」>「ネットワーク」を選択します。
ここで「USB Modem Port」を選択して、「接続」をクリックします。 ak020-4

接続が完了するとSORACOM側からプライベートIPが割り当てられます。 ak020-5

SORACOM DoorでVPCにアクセスする

これで準備が整いました。
下記のように、自分のPCからVPC上にあるapサーバにプラベートIPでアクセスできることを確認できれば完了です。

VPCへのping

最後に

これまでは、自分のVPCをSORACOMと繋ぐ時は同じリージョン間に限られていましたが、SORACOM Doorを使えば、どこのリージョンでも自由に接続することができるようになりました。
まさに「どこでもドア!」といった感じですね。

以上になります。