# インストールガイド / アマゾン ウェブ サービス（AWS）編

ここでは、パブリッククラウドサービスのアマゾン ウェブ サービス（AWS）環境上に、本製品をセットアップする手順を説明します。
Note

以下の説明には、AWS固有の用語が多く含まれています。AWSの各種用語や概念、より詳細な情報については、AWSのドキュメントを参照してください。また、掲載している画面例は作成時のものであり、変更される場合があります。あらかじめご了承ください。

## 手順概要

本製品をAWS上にセットアップする大まかな手順は次のとおりです。

1. Amazonマシンイメージの作成
   本製品のVHDイメージファイルをAmazon EC2にアップロードし、Amazonマシンイメージ（以下、AMI）を作成します。
2. インスタンスの作成
   作成したAMIから本製品のインスタンス（仮想マシン）を作成します。
3. SSH接続設定
   PuTTYなどのSSHクライアントを使用してSSH経由で本製品のインスタンスにアクセスします。
4. ユーザーネットワーク 、 テナントネットワーク との接続
   シングルモードの場合、ユーザーネットワークとの間にIPsec VPNを構築し、本製品とユーザーネットワーク上のAMF対応機器が安全に通信できるようにします。
   また、マルチテナントモードの場合は、各テナントネットワークとの間にL2TPv3 + IPsec VPNを構築し、本製品上のAMFコンテナとテナントネットワーク上のAMF対応機器が安全に通信できるようにします。

## Amazonマシンイメージの作成

AWS EC2上に本製品のインスタンス（仮想マシン）を作成するには、仮想マシンのテンプレートであるAmazonマシンイメージ（AMI）を作成しておく必要があります。
ここでは、AWSに本製品のVHDイメージファイルをアップロードし、AMIを作成する方法を説明します。
Note

このプロセスが必要なのは本製品の初回インストール時だけです。AWS上で本製品の使用を開始した後で、本製品のファームウェアを更新するときには、software-upgradeコマンドを使用します（「ファームウェアの更新」参照）。

### 前提条件

AMIを作成するには、以下のものが必要です。

- Linux（UbuntuまたはDebian）が動作するインターネットに接続可能なPC（本マニュアルではOSとしておもにUbuntuを使用）
  Note

  Windows PCは未サポートです。

- Amazon EC2とAmazon S3のFull Access権限を持つAWS APIキー（AKIDとSAK、APIを利用するためのIDとパスワード）
  このキーの作成方法は次節「AWSのAPIキーの作成」で説明しています。
- 本製品のファームウェアイメージファイルと補助ファイル
  ファイルの入手方法については「インストールガイド」/「はじめに」をご参照ください。
  使用するファイルは以下のとおりです。
  - VHDイメージファイル（AMIの元となるディスクイメージファイル。「X.Y.Z-A.B」の部分にはバージョンが入ります）

        vaa-X.Y.Z-A.B.vhd

  - PYファイル（VHDイメージファイルからAMIを作成する時に必要なPythonアップロードスクリプトファイル）

        upload_vhd.py

- Amazon EC2 APIツール（コマンドラインからEC2に対する各種操作を行うためのツール）

### APIキーの作成

AMIを作成するには、AWSのAPIキーが必要です。
Note

APIキーを作成するには、ユーザーアクセスと暗号化キーの管理サービス「Identity and Access Management（以下、IAM）」の実行権限を持っている必要があります。詳細はAmazon社のユーザーガイドを参照してください。

Note

ナビゲーションウィンドウの [ロール] の設定を行っている場合、vmimportという名前のロールを作成し、このロールを VM Import が引き受けることを信頼関係ポリシードキュメントで指定して、IAM ポリシーをロールにアタッチする必要があります。詳細はAmazon社のユーザーガイドを参照してください。

1. AWSマネジメントコンソールのホーム画面メニュー一覧から [Identity and Access Management] を選択します。

2. ナビゲーションウィンドウで、 [ユーザー] を選択します。

3. IAMユーザー名を選択します（チェックボックスではありません）。
4. [認証情報] タブで、 [アクセスキーの作成] をクリックします。

5. [ユーザーのセキュリティ認証情報を表示] をクリックし、認証情報を確認してください。

   認証情報は、次のように表示されます。

6. [認証情報のダウンロード] をクリックします。
   Note

   - アクセスキーは安全な場所に保管してください。
   - 作成したキーは一回しかダウンロードできません。また、キーをメールなどで送信したりしないように注意してください。
   - AWSまたはAmazon.comから問い合わせが来ても、キーの情報を渡さないでください。Amazon社の正規代表者でも、キーを求めてくることはありません。
7. これでAWS APIキーの作成は完了です。

### 必要なパッケージのインストール

Linux（UbuntuまたはDebian）PCに必要なパッケージをインストールします。
AWSに本製品のVHDイメージファイルをアップロードしてAMIを作成するには、以下のパッケージが必要です。

- Python version 2.7
- Ec2-api-tools
- boto3
- Python-pip

たとえば、Ubuntu上でこれらをインストールするには以下のコマンドを入力します。

    ubuntu@ubuntu-pc:~/tmp$ sudo apt-get install ec2-api-tools
    ubuntu@ubuntu-pc:~/tmp$ sudo apt-get install python2.7
    ubuntu@ubuntu-pc:~/tmp$ sudo apt-get install python-pip
    ubuntu@ubuntu-pc:~/tmp$ sudo pip install "boto3>=1.3.0,<=1.4.4"

### VHDイメージファイルとPythonスクリプトファイルの準備

PC上に一時フォルダーを作成し、あらかじめ用意したVHDイメージファイル「vaa-5.5.6-0.1.vhd」とPythonスクリプト「upload_vhd.py」をコピーしてください。
ここでは、次の確認画面例にあるとおり、ログインユーザーのホームディレクトリー直下の tmp フォルダーにこれらのファイルを置いたものとします。

    ubuntu@ubuntu-pc:~/tmp$ ls -l
    total 432268

    -rw-r--r-- 1 ubuntu ubuntu 442629632  4月  8 13:19 vaa-5.5.6-0.1.vhd
    -rwxrwxr-x 1 ubuntu ubuntu      7206  4月  8 13:19 upload_vhd.py

### VHDイメージファイルのアップロードとAMIの作成

VHDイメージファイルをAWSにアップロードしてAMIを作成するには、Pythonスクリプト「upload_vhd.py」を使用します。
同スクリプトを実行するためのコマンドライン書式および引数は次のとおりです。

    書式
    python upload_vhd.py IMAGEFILE AMINAME --region NAME --bucket NAME --akid KEY --sak KEY

    引数
      IMAGEFILE     : インポートする本製品のVHDイメージファイル（例：vaa-5.5.6-0.1.vhd）
      AMINAME       : AMI名（例：vaa-5.5.6）
      --region NAME : 使用するAWSリージョン（例：ap-northeast-1）
                      ※リージョン名の一覧はAmazon社のユーザーガイドを参照してください。
      --bucket NAME : 一時的にVHDファイルをアップロードするAWS S3バケット（例：vaa.upload）
                      ※存在しない場合、バケットは自動的に作成されます。
      --akid KEY    : APIキーのアクセスキーID（EC2とS3へのアクセス用）（例：AKIDABCDF）
      --sak KEY     : APIキーのシークレットキー（EC2とS3へのアクセス用）（例：SAKABCDF）

VHDイメージファイルは、一時的にAWS S3バケットにアップロードされます。
Note

S3の使用で発生する料金についてはAmazon社のユーザーガイドを参照してください。

Note

バケット名はS3全体で一意でなくてはなりません（他のS3ユーザーが使っているバケット名は使用できません）。バケット名の命名規則についてはAmazon社のユーザーガイドを参照してください。

次に実行例を示します。
Note

スクリプト実行時に表示される内容は一例です。AWS側の設定その他によって表示内容は異なることがあります。

    ubuntu@ubuntu-pc:~/tmp$ python upload_vhd.py vaa-5.5.6-0.1.vhd vaa-5.5.6 --region ap-northeast-1 --bucket vaa.upload --akid AKIDABCDF --sak SAKABCDF
    create_role: Creating vmimport role
    upload_image: Creating Bucket
    upload_image: Uploading disk image
    upload_image: 10% (17MB/168MB)
    upload_image: 20% (33MB/168MB)
    upload_image: 30% (50MB/168MB)
    upload_image: 40% (67MB/168MB)
    upload_image: 50% (84MB/168MB)
    upload_image: 60% (101MB/168MB)
    upload_image: 70% (117MB/168MB)
    upload_image: 80% (134MB/168MB)
    upload_image: 90% (151MB/168MB)
    upload_image: 100% (168MB/168MB)
    import_snapshot: Converting disk image to EBS snapshot
    import_snapshot: ImportTaskId=import-snap-fg9mk5uk
    import_snapshot: 3%
    import_snapshot: 19%
    import_snapshot: 32%
    import_snapshot: 35%
    import_snapshot: 41%
    import_snapshot: 43%
    import_snapshot: 73%
    import_snapshot: 89%
    import_snapshot: 92%
    import_snapshot: 95%
    import_snapshot: 97%
    import_snapshot: 100%
    import_snapshot: Snapshot created snap-0551ce3b0f962fd3b
    import_snapshot: Deleting disk image from S3
    register_image: Creating AMI
    register_image: AMI created ami-8da526eb

本製品が正常にAWSにアップロードされたときは、以下のメッセージが表示されます（XXXXXXXXの部分は自動的に割り当てられます）。

    register_image: AMI created ami-XXXXXXXX

また、AMIはアップロード先のAWSリージョンで確認することができます。

## インスタンスの作成

次に、本製品のインスタンス（仮想マシン）を作成するための手順について説明します。

### 前提条件

インスタンスを作成するためには、テンプレートとなるAMIが必要です。
以下では、前述の「Amazonマシンイメージの作成」はすでに完了しているものと仮定しています。
また、ネットワーク構成、SSHキー、アクセス制御などは事前の検討、計画が必要ですが、これらも完了している前提で進めます。

### インスタンスの作成開始

ここでは、まだインスタンスを作成していない新規のアカウントを使う前提で手順を説明します。
EC2ダッシュボード画面で、 [インスタンスの作成] をクリックします。

### AMIファイルの選択

[マイAMI] を選択し、前述の「インストール」の章で作成した本製品のAMIを選択します。

### インスタンスタイプの選択

使用するインスタンスタイプを選択して、 [次の手順： 環境設定インスタンスの詳細の設定] をクリックしてください。
ご使用環境によって要件が異なりますので、「インストールガイド」/「はじめに」の「動作環境」を参照し、適切なインスタンスタイプを選んでください。
Note

本製品のインスタンスは64ビットです。本マニュアルの例ではt2.microを使用していますが、実際には必要動作環境にそったものをご使用ください。

### インスタンスの詳細の設定

[ステップ 3: インスタンスの詳細の設定] 画面でインスタンスの詳細を設定する上ではいくつかの注意点があるため、以下の手順をよく読み設定してください。

#### VPCの作成

まず、本製品を使用するために新しいVPCを作成します。
Note

- AWSでは、多くの仮想マシンインスタンスネットワークの構成方法について紹介しています。Amazon Virtual Private Cloud（以下、VPC）については、Amazon社のユーザーガイドを参照してください。
- デフォルト設定のAWSは、新しいアカウント上の仮想マシン用に設定された172.31.0.0/16のVPCをすでに持っていますが、このサブネットはAMFが同じエリア内のAMFノード間の内部通信に使用するデフォルトのマネージメントサブネットであるため、使用しないでください。デフォルトのVPCを使用する必要がある場合は、本製品と同じエリア内のすべてのAMFノードが異なるAMFサブネットを使用するように再構成する必要があります。本製品の起動時に、AWSから172.31.0.0/16範囲内のIPアドレスを受信検出した場合、自動的にAMFマネージメントサブネットを10.255.0.0/16に変更します。また、同一エリア内の他のAMFノードは、このサブネットを使用するように再構成する必要があります。AMFマネージメントサブネットの詳細については、本マニュアルの「AMF」/「導入」編を参照してください。デフォルトVPCの詳細については、Amazon社のユーザーガイドを参照してください。
- AWSでは、RFC1918で指定されているように、プライベートアドレスの範囲内でのVPCの作成を推奨しています。プライベートアドレスを使う場合、お客様ご自身のネットワークで使用しているプライベートアドレスと重複しないVPC設定を確認してください。

1. [新しいVPCの作成] をクリックします。
   下記画面では「非VPC」という注が表示されていますが、デフォルトVPCを削除していない限りこちらは表示されません。また、本設定ではデフォルトVPCは削除する必要はありません。

2. [VPC ダッシュボード] 画面が新しいウィンドウで開きますので、 [VPCの作成] をクリックします。

3. [VPCの作成] ウィンドウが表示されたら、 [ネームタグ] にVPCの名前を入力し、本製品で使用するための [CIDRブロック] を割り当て、 [作成] をクリックします。

4. 画面左側のメニューから、 [VPC] を選択し、設定されたVPCの詳細が正しいことを確認します。

5. 次に、画面左側のメニューから、 [サブネット] を選択し、 [サブネットの作成] をクリックします。

6. [サブネットの作成] ウィンドウが表示されたら、 [サブネットの作成] を選択し、必要な情報を入力後、 [作成] をクリックします。

   Note

   サブネットをVPCと同じサイズにする必要はありません。詳細はAmazon社のユーザーガイドを参照してください。

7. [状態] の表示が「available」となっていることを確認します。

#### インターネットゲートウェイの作成と設定

VPCは、デフォルトではインターネットに接続されていません。
VPC・インターネット間の通信を可能にするには、以下の手順でインターネットゲートウェイを作成してVPCにアタッチし、VPCのルートテーブルにデフォルトルートを設定する必要があります。

1. 画面左側のメニューから、 [インターネットゲートウェイ] を選択し [インターネットゲートウェイの作成] をクリックします。

2. [インターネットゲートウェイ] ウィンドウが表示されたら、 [ネームタグ] に任意の名前を付け、 [作成] をクリックします。

3. 作成したインターネットゲートウェイを選択して右クリックし、 [VPCにアタッチ] を選択します。

4. [VPCにアタッチ] ウィンドウが表示されたら、前述の「VPCの作成」で作成したVPCを選択し、 [アタッチ] をクリックします。

5. [状態] の表示が「attached」となっていることを確認します。

6. 次に、ルートテーブルを作成してデフォルトルートを登録し、インターネットゲートウェイ経由でVPCからインターネットへの通信ができるよう設定します。
   - 画面左側のメニューから、 [ルートテーブル] を選択し [ルートテーブルの作成] をクリックします。

   - [ルートテーブル] ウィンドウが表示されたら、 [ネームタグ] に任意の名前を付け、 [作成] をクリックします。

   - 次に、作成したルートテーブルの項目にチェックを入れます。その後、画面下部の [ルート] タブをクリックし、 [編集] ボタンをクリックします。

   - 「別のルートの追加」をクリックすると、新しいルートが追加できるようになり、 [送信先] 欄に「0.0.0.0/0」を入力し、 [ターゲット] 欄は空欄をクリックすると予測で出てくる該当項目を選択し、 [保存] をクリックします。

   - 下図のようにルートが追加されますので、 [Main-VPC-Route-Table] を選択し、「メインテーブルとして設定」をクリックしてください。

7. これでVPCの作成は完了です。
   [VPC ダッシュボード] 画面のウィンドウを閉じてください。
8. 再び [ステップ 3: インスタンスの詳細の設定] ウィンドウに戻って、作成したばかりのVPCを選択します。
   下図赤枠部分の更新ボタンをクリックすると、[ネットワーク] ドロップダウンメニューの選択肢が更新され、ここまでの手順で作成した Main-VPC が選べるようになりますので、それを選択してください。

9. [サブネット] でサブネット範囲を設定し、 [自動割り当てパブリックIP] のドロップダウンメニューを、 [サブネット設定を使用（無効）] から [有効化] に変更します。
   Main-VPC を選択することにより、同VPCのサブネットが自動的に選択されるはずですが、そうなっていない場合は [サブネット] ドロップダウンメニューから適切なものを選択してください。
   Note

   インスタンスのIPアドレスを固定設定するには、次の2つの方法がありますが、2を推奨します。

   1. インスタンス（AW+）側でIPアドレスを設定
   2. AWSで設定
   AWS上のAMF Cloudは、起動時にeth0でDHCPクライアントが自動的に有効になるため、AmazonのDHCPサーバーから上記手順で設定したプライマリIPを受信することができます。

10. インスタンスの詳細を確認し、 [次の手順： ストレージの追加] をクリックします。

### ストレージの追加

ストレージは追加せず、デフォルトのままで [次の手順： インスタンスのタグ付け] をクリックします。

### インスタンスのタグ付け

[タグの作成]をクリックし、[キー] に Name、[値] に適切なインスタンス名を入力し、 [次の手順： セキュリティグループの設定] をクリックしてください。
この例では「AMF-VAA」という名前を付けています。

### セキュリティグループの設定

セキュリティグループは、インスタンスの通信に適用する仮想的なファイアウォールです。
セキュリティグループは、デフォルトで外部から（インバウンド）の通信はすべて拒否、内部から（アウトバウンド）の通信はすべて許可しますので、外部からの必要な通信を許可する設定が必要です。
ここでは、[セキュリティグループ名] を「Permitted-IP-Hosts」とし、任意のアドレスからのSSHを許可するデフォルトのルールに加え、ユーザーネットワークからの全トラフィックを許可するルールを追加して、[確認と作成]をクリックします。
次に、本手順で作成するセキュリティグループの設定をまとめます。

タイプ | プロトコル | ポート範囲 | ソース | 説明
SSH | TCP | 22 | カスタム 0.0.0.0/0 | Allow SSH
すべてのトラフィック | すべて | 0 - 65535 | カスタム 192.168.1.0/24 | Allow From User Network

Note

デフォルトのルールではすべてのIPアドレスからSSHアクセスを許可していますが、実際の運用時には必要なIPアドレスからのみSSHアクセスを許可するよう設定してください。

### インスタンス作成の詳細確認

「ステップ 7: インスタンス作成の確認」画面でインスタンスの作成に関する詳細を確認し、[作成]をクリックします。

### SSHキーペアの設定

次に、このインスタンスにSSHでアクセスするときに使うSSHキーペアの選択・作成画面が開きます。
すでにAWSにSSH公開鍵を登録済みの場合は、[既存のキーペアの選択] が選択された状態のまま、[キーペアの選択] ドロップダウンメニューから使用するキーペアを選択してください。
まだAWSに公開鍵を登録していない場合は、次の手順にしたがって新しいキーペアを作成してください。

1. 1つ目のドロップダウンメニューから [新しいキーペアの作成] を選択します。

2. 次に、 [キーペア名] の欄に任意のキーペア名を入力し、 [キーペアのダウンロード] をクリックします。これにより、キーペア（パブリックキーとプライベートキー）が作成され、PEM形式の鍵ファイルのダウンロードが開始されます。

   Note

   プライベートキーファイルは安全な場所に保存してください。AWSから再度プライベートキーをダウンロードすることはできません。保存したプライベートキーファイルを利用して本製品にSSH接続する方法については、次節「SSH接続設定」をご覧ください。

### インスタンスの作成開始

キーペアの選択または作成が完了したら、[インスタンスの作成] をクリックしてインスタンスの作成を開始します。
インスタンスの作成を開始すると次の画面が表示されるので、 [インスタンスの表示] をクリックします。インスタンスの最初の起動が完了するまでには数分かかることがあります。

### インスタンスの起動確認

作成したインスタンスのステータスやパブリックIPアドレスなどは、EC2ダッシュボードの [インスタンス] から確認することができます。

Note

AWSは、インスタンスにアクセスするための仮想コンソールを提供していません。インスタンスの制御はSSHでのみ可能です。ただし、AMF Cloudの内部コンソールに出力されたメッセージを読み取り専用のログとして閲覧することは可能です。これには、本製品のインスタンスを選択して右クリックし、 [インスタンスの設定] から [システムログの取得] を選択します。

読み取り専用のログが表示されますので、次のように起動時のメッセージが表示されることを確認してください。

Note

読み取り専用のログに何も表示されていない場合は、数分待ってから表示を更新してみてください。ログファイルはリアルタイムではなく、AWS側で決められたリフレッシュタイマーにしたがって更新されます。

Note

本製品の稼働確認をPingで行うためには、VPCのインターネットゲートウェイ、デフォルトルートが正しく設定されていることに加え、本製品インスタンスに適用されているセキュリティグループのインバウンドルールでPing（ICMP Echo）を許可するよう設定する必要があります。詳細はAmazon社のユーザーガイドを参照してください。

これで本製品が正常に起動したことを確認できました。
これ以降のセクションでは、以下について説明します。

- 本製品にリモートログインするため、SSHキーとSSHクライアントを設定します。
- 本製品と、AMF機器が実際に存在しているユーザーまたはテナントのネットワークをVPNで接続します。

## SSH接続設定

AWSではインスタンス（仮想マシン）へのコンソールアクセスを提供していないため、AWS上にセットアップした本製品の設定、管理はSSH（Secure Shell）経由で行う必要があります。
ここでは、SSHクライアントとしてWindows用の「PuTTY」およびUbuntu（Linux）のsshコマンドを使う場合を例に、SSHキーペアを利用した公開鍵認証で本製品のCLIにアクセスする方法を説明します。
なお、SSHキーペアは設定済みであると仮定とします（前述の「SSHキーペアの設定」参照）。
また、本製品でのSSHサーバーおよびクライアント機能の詳細については、本マニュアルの「Secure Shell」を参照してください。

### SSHキーペア

データの暗号化に使うキーと復号化（解読）に使うキーが異なる暗号方式を「非対称暗号」といい、その方式で使われる2つのキーをまとめてキーペア（公開鍵ペア）と呼びます。
非対称暗号では、キーペアの一方のキーで暗号化されたデータは、ペアのもう一方のキーでしか解読できません。

SSHでは、この性質を利用した「公開鍵認証」をサポートしており、この認証方式で使用するキーペアをSSHキーペアと呼びます。
SSHキーペアは次の2つのキーで構成されます。

- パブリックキー（公開鍵）
  パブリックキーは秘密にしておく必要がないキーです。
  SSHの公開鍵認証では、ユーザーのパブリックキーをあらかじめアクセス先のホスト（サーバーなど）にインストールしておきます。
  パブリックキーは公開可能なため、複数のホストに同じパブリックキーをインストールしても問題ありません。
  本製品では、インスタンス作成時に設定したキーペアのパブリックキーが、最初の起動時にmanagerユーザー用のパブリックキーとして自動的にインストールされるため、該当パブリックキーとペアになったプライベートキーを用いて、リモートから本製品にmanagerユーザーとしてログインすることができます。
- プライベートキー（秘密鍵）
  プライベートキーは、その所有者が安全に保管し、絶対他者には公開すべきでないキーです。
  プライベートキーは、パブリックキーで暗号化されたデータを復号化できる唯一のキーであるため、SSH公開鍵認証においてサーバーはこの性質を利用し、アクセスしてきたユーザーがサーバーにインストールされたパブリックキーとペアになった適切なプライベートキーを保有しているかどうか判断し、その結果にもとづいてアクセスを許可または拒否します。
  SSH経由で本製品のインスタンスにアクセスするには、インスタンス作成時に入力したパブリックキーに対応するプライベートキーを使用して認証を受けるようSSHクライアントソフトウェアを設定する必要があります。

### 「PuTTY」を使用したSSH経由での本製品へのアクセス

以下では、Windows用の代表的なSSHクライアントである「PuTTY」にSSHプライベートキーをインポートし、本製品にSSH接続するための方法を説明します。
より詳細な内容についてはAmazon社やPuTTYのユーザーガイドを参照してください。

#### 前提条件

次のURLからPuTTYをダウンロードしてインストールします。
http://www.chiark.greenend.org.uk/~sgtatham/putty/
MSI形式のインストーラーやZIPアーカイブにはPuTTYと付属ユーティリティーがすべて含まれていますが、個々のプログラムを個別にダウンロードすることもできます。その場合は最低限下記のプログラムをダウンロードしてください。

- putty.exe（SSH接続に使います）
- puttygen.exe（PEM形式プライベートキーファイルをPuTTYが扱えるPPK形式に変換するために使用します）

#### PuTTYgenによるプライベートキーの形式変換

PuTTYはAWSからダウンロードしたPEM形式のプライベートキーを扱えないため、最初に「PuTTYgen」というユーティリティーを使ってPPK形式に変換する必要があります。

1. PuTTYgenの起動
   以下のいずれかの方法でPuTTYgenを起動してください。
   - [スタート] メニューで [すべてのプログラム] > [PuTTY] > [PuTTYgen] をクリック
   - 「ファイル名を指定して実行」で「c:\Program Files\PuTTY/puttygen.exe」を入力
   PuTTY Key Generatorウィンドウが表示されます。

2. PEM形式プライベートキーファイルの読み込み。
   [Conversions] > [Import Key] をクリックします。

   PEM形式プライベートキーファイルの場所をたずねるウィンドウが表示されるので、AWSからダウンロードしたPEM形式プライベートキーファイルを指定して [開く] をクリックします。
   PuTTYgenは、指定されたプライベートキーを読み込むと、上図「Key」枠内にPEMファイルに格納されている各種情報（パブリックキー、プライベートキーの指紋、キーコメントなど）を表示します。
3. キーコメントの修正
   わかりやすさのため、 [Key comment]欄のコメントをデフォルトの「Imported-openssh-key」から、前述の「SSHキーペアの設定」 で指定したキーペアの名前に変更してください。
4. パスフレーズの設定
   [オプション] [Key passphrase]欄にプライベートキーを保護するためのパスフレーズを入力します。
   ここでパスフレーズを設定しておけば、万一他者がプライベートキーを入手しても、パスフレーズを入力しない限りプライベートキーを使うことはできません。

5. PPK形式プライベートキーファイルの書き出し
   上図の [Save private key] ボタンをクリックします。
   新しいウィンドウが開くので、PPK形式プライベートキーの保存先とファイル名を指定してください。
   これで、PuTTYで使える形式のプライベートキーがファイルに保存されました。

#### PuTTYとPPKプライベートキーを使って本製品にSSH接続する

1. PuTTYを開くと下図のようなウィンドウが表示されますので、 [Host Name] 欄に「manager@（本製品インスタンスのパブリックIPアドレス）」を入力します。
   Note

   本製品（AMF Cloud）インスタンスのパブリックIPアドレスは、EC2ダッシュボードのインスタンス画面 から確認できます。

2. 次に左側のパネルにある [Connection] の [SSH] から「Auth」をクリックします。

3. [Authentication parameters] > [Private key file for authentication: ] ＞ [Browse] をクリックし、さきほど（PEMファイルから変換して）保存したプライベートキーのPPKファイルを指定してロードした後、本製品インスタンスへのSSHセッションを開始するために、 [Open] をクリックします。

4. 本製品のインスタンスに接続するのが初めての場合は、接続先のホストを信頼するかどうかを尋ねるセキュリティアラートダイアログボックスが表示されます。

5. これで、SSHによる本製品への接続が完了し、AlliedWare PlusのCLI画面が表示されます。

### Ubuntu（Linux）のSSHクライアントを使って本製品にSSH接続する

以下では、多くのLinuxおよびUNIXライク環境で標準的なOpenSSHのSSHクライアント（sshコマンド）を使用して本製品にSSH接続する方法を説明します。
詳細については、sshコマンドのマニュアルページを参照してください。

1. コマンドシェル上で、インスタンス作成時にAWSからダウンロードしたプライベートキーファイルのある場所にカレントディレクトリーを移動します。

       ubuntu@ubuntu-pc:~/tmp$ cd ~/.ssh

   Note

   セキュリティー上の理由から、プライベートキーファイルのパーミッションがファイル所有者にのみ読み込み可に設定されていることを確認してください。
   プライベートキーファイルのパーミッションを推奨設定に変更するには、「chmod 400 ファイル名」を入力します。

       ubuntu@ubuntu-pc:~/.ssh$ chmod 400 vaa-atkk-test.pem
       ubuntu@ubuntu-pc:~/.ssh$ ls -la vaa-atkk-test.pem
       -r-------- 1 vaa vaa 1696 Feb 15 15:06 vaa-atkk-test.pem

2. 次のコマンドで本製品にSSH接続します。-iオプションで指定する vaa-atkk-test.pem はAWSでのキーペア作成時にダウンロードしたPEMファイル、manager はAW+上のユーザー名、XX.XXX.XX.XXXは本製品インスタンスのパブリックIPアドレスです。
   Note

   本製品（AMF Cloud）インスタンスのパブリックIPアドレスは、EC2ダッシュボードのインスタンス画面 から確認できます。

       ubuntu@ubuntu-pc:~/.ssh$ ssh -i vaa-atkk-test.pem manager@XX.XXX.XX.XXX

3. 初めてサーバー（本製品）に接続するときは、サーバーのパブリックキー（ホスト鍵）を確認するよう求められますので、「yes」を入力し、 [Enter] キーを押します。

       The authenticity of host 'XX.XXX.XX.XXX (XX.XXX.XX.XXX)' can't be established.
       ECDSA key fingerprint is 7f:4e:5c:04:e2:bc:b1:dc:e5:27:b4:86:17:33:9c:0c.
       Are you sure you want to continue connecting (yes/no)? yes
       Warning: Permanently added 'XX.XXX.XX.XXX' (ECDSA) to the list of known hosts.

4. これで、SSHによる本製品への接続が完了し、AlliedWare PlusのCLI画面が表示されます。

       Last login: Mon Jul 31 05:27:39 UTC 2017 from xx.x.xxx.xx

       AlliedWare Plus (TM) 5.5.6 XX/XX/XX XX:XX:XX

       ip-172-30-0-139>

## ユーザーネットワークとの接続（シングルモード）

シングルモードにおいて、ユーザーネットワークから本製品を利用するためには、AWS（VPC）とユーザーネットワークを接続する必要があります。
これには次の2つの方法があります。

- AMF Cloud のVPN機能を使う方法
  AMF Cloud自身とユーザーネットワークのVPNルーターの間にIPsecトンネルを構築します。
- AWS（VPC）のVPN機能を使う方法
  AWS（VPC）の仮想プライベートゲートウェイとユーザーネットワーク上のVPNルーターの間にIPsecトンネルを構築します。

ここでは、ユーザーネットワーク側のVPNルーターとして弊社のAT-AR4050S（以下、「ARルーター」）を使う場合を例に、それぞれの方法を説明します。
なお、以下の説明は、前述の「インスタンスの作成」で説明したとおりにインターネットゲートウェイが設定されていることを前提としています。

### AMF CloudのVPN機能を使う方法

本製品（AMF Cloud）のVPN機能を使って本製品とユーザーネットワークを接続する場合の基本構成は次のとおりです。
この構成では、本製品自身がVPNルーターとなって、ユーザーネットワーク側VPNルーター（ARルーター）との間にIPsecトンネルを構築します。
そのため、VPN接続の設定は本製品自身に対して行います。仮想プライベートゲートウェイなど、AWS（VPC）側の設定は基本的に不要ですが、セキュリティグループに関しては、ARルーターからのVPN通信を許可するようルールを追加してください。
なお、以下は参考例ですので、実環境では適宜設定を調節してください。

表 2：ユーザーネットワークとの接続パラメーター
| 本製品 | ARルーター
トンネルインターフェース名 | tunnel0 | tunnel0
トンネル動作モード | IPsec (IPv4) | IPsec (IPv4)
トンネル終端アドレス（本製品から見た場合） | 172.30.0.5 （eth0のプライベートIP） | 10.1.1.1 （パブリックIP）
トンネル終端アドレス（ARルーターから見た場合） | 10.0.0.5 （インスタンスのパブリックIP） | 10.1.1.1 （パブリックIP）
トンネルI/Fに設定するアドレス | 172.16.0.1/30 | 172.16.0.2/30
ISAKMPフェーズ1 ID | vaa0（ホスト名形式文字列） | 10.1.1.1（IPアドレス）
ISAKMP事前共有鍵 | abcdefghijklmnopqrstuvwxyz1234

Note

本製品インスタンスのパブリックIPアドレスは、EC2ダッシュボードのインスタンス画面 から確認できます。

#### AWS側の設定

本製品のインスタンスに適用されているセキュリティグループに対し、ARルーターからのVPN通信を許可するインバウンドルールを追加します。

タイプ | プロトコル | ポート範囲 | ソース | 説明
カスタム UDP ルール | UDP | 500 | 10.1.1.1（ARルーターのパブリックIPアドレス） | ISAKMP
カスタム UDP ルール | UDP | 4500 | 10.1.1.1（ARルーターのパブリックIPアドレス） | NAT-T (UDP-encap ISAKMP/ESP)

#### AMF Cloud側の設定

本製品には、ARルーターと同等のVPN機能が実装されているため、設定内容は後述するARルーターのものと類似しています。
ただし、本製品自身にはプライベートIPアドレス（172.30.0.5）が設定されており、本製品のパブリックIPアドレス（10.0.0.5）はAWSのNAT機能で変換されたものであることから、ARルーター側でISAKMP接続時に本製品を正しく識別できるよう、tunnel local nameで自装置の名前（ホスト名形式文字列）を送信するよう設定する必要があります。

1. ARルーター（10.1.1.1）との間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。

       crypto isakmp key abcdefghijklmnopqrstuvwxyz1234 address 10.1.1.1

2. IPsecトンネルインターフェース tunnel0 を作成します。
   これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
   ・ローカル側トンネル終端アドレス（tunnel source） - 本製品の eth0 インターフェースを指定します
   ・リモート側トンネル終端アドレス（tunnel destination） - ARルーターのパブリックIPアドレスを指定します
   ・ISAKMPローカル名（tunnel local name） - ARルーターが本製品を識別できるよう任意の文字列を指定します
   ・トンネリング方式（tunnel mode ipsec）
   ・トンネルインターフェースに対するIPsec保護の適用（tunnel protection ipsec）
   ・トンネルインターフェースのIPアドレス（ip address）
   ・トンネルインターフェースのMTU（mtu）

       interface tunnel0
        tunnel source eth0
        tunnel destination 10.1.1.1
        tunnel local name vaa0
        tunnel mode ipsec ipv4
        tunnel protection ipsec
        ip address 172.16.0.1/30
        mtu 1300

3. ユーザーネットワーク（192.168.1.0/24）への経路を設定します。これにはip routeコマンドを使います。
   ただし、VPN接続が有効になるまでは、同経路を使用できないように設定します。

       ip route 192.168.1.0/24 tunnel0
       ip route 192.168.1.0/24 null 254

#### ARルーター側の設定

次にユーザーネットワーク側のVPNルーターである、ARルーター側のVPN設定について説明します。
ここでは、ARルーターがppp0インターフェースでインターネットと接続しているものと仮定します。
また、インターネット接続設定や、AMF Cloud側の設定 は、完了していることを前提とします。
前述のとおり、本製品自身にはプライベートIPアドレス（172.30.0.5）が設定されており、本製品のパブリックIPアドレス（10.0.0.5）はAWSのNAT機能で変換されたものであることから、ARルーター側ではISAKMP接続時に本製品を正しく識別できるよう、tunnel remote nameで本製品に設定したのと同じ文字列を指定する必要があります。

1. 本製品との間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。
   本製品のパブリックIPは実際にはNAT変換されたものであるため、ここでは本製品をホスト名形式の文字列IDで識別しています。

       crypto isakmp key abcdefghijklmnopqrstuvwxyz1234 hostname vaa0

2. IPsecトンネルインターフェース tunnel0 を作成します。
   これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
   ・ローカル側トンネル終端アドレス（tunnel source） - ARルーターの ppp0 インターフェースを指定します
   ・リモート側トンネル終端アドレス（tunnel destination） - 本製品のパブリックIPアドレスを指定します
   ・ISAKMPリモート名（tunnel local name） - NAT経由で相手を識別するため、本製品に設定したのと同じ文字列を指定します
   ・トンネリング方式（tunnel mode ipsec）
   ・トンネルインターフェースに対するIPsec保護の適用（tunnel protection ipsec）
   ・トンネルインターフェースのIPアドレス（ip address）
   ・トンネルインターフェースにおけるMSS書き換え設定（ip tcp adjust-mss）
   ・トンネルインターフェースのMTU（mtu）

       interface tunnel0
        tunnel source ppp0
        tunnel destination 10.0.0.5
        tunnel remote name vaa0
        tunnel mode ipsec ipv4
        tunnel protection ipsec
        ip address 172.16.0.2/30
        ip tcp adjust-mss 1260
        mtu 1300

3. 本製品（172.30.0.5/32）への経路を設定します。これにはip routeコマンドを使います。
   ただし、VPN接続が有効になるまでは、同経路を使用できないように設定します。

       ip route 172.30.0.5/32 tunnel0
       ip route 172.30.0.5/32 null 254

ここまでくれば、AWS上の本製品とユーザーネットワークのIP通信ができるようになっています。

### AWS（VPC）のVPN機能を使う方法

AWS（VPC）のVPN機能を使ってVPCとユーザーネットワークを接続する場合の基本構成は次のとおりです。

この構成では、AWS（VPC）によって提供されている仮想プライベートゲートウェイをVPNルーターとして利用します。
そのため、VPN接続の設定はAWS（VPC）に対して行います。本製品側の設定は不要です。

#### AWS側の設定

AWSとユーザーネットワークの間でVPN接続を行うために必要なAWS側のコンポーネントは次のとおりです。
AWS（VPC）におけるVPN用語についての詳細は、Amazon社のユーザーガイドを参照してください。

- 仮想プライベートゲートウェイ - AWS側の仮想VPNルーター
- VPN接続 - AWSとユーザーネットワークのVPN接続に必要な情報をまとめたもの

以下、それぞれの設定方法を説明します。

##### 仮想プライベートゲートウェイの作成

AWS側のVPNルーターである仮想プライベートゲートウェイを作成します。

1. VPCダッシュボードから [VPN接続] を選択し、 [仮想プライベートゲートウェイ] をクリックします。

2. 「仮想プライベートゲートウェイの作成」ウィンドウが表示されますので、 [ネームタグ] 欄に適切なゲートウェイ名を入力し、 [作成] をクリックします。

3. 作成した仮想プライベートゲートウェイは、どのサブネットにも接続されていない状態です。

4. 作成した仮想プライベートゲートウェイを選択して右クリックし、 [VPCにアタッチ] を選択します。

5. 前述の「インスタンスの作成」の「VPCの作成」で作成したVPCを選択し [アタッチ] をクリックします。

##### VPN接続の作成

VPCダッシュボードから [VPN接続] を選択し、 [VPN接続の作成] をクリックします。

1. 下図のように [VPN接続の作成] ウィンドウが表示されますので、 [名前タグ] 欄に適切なVPN接続名を入力します。
2. [仮想プライベートゲートウェイ] 欄では、前の手順で作成したゲートウェイを選択します。
3. [カスタマーゲートウェイ] 欄は、[新規] を選択して、[IPアドレス] 欄にユーザーネットワーク側VPNルーターのパブリックIPアドレスを入力します。
4. [BGP ASN] 欄は、デフォルトの65000（プライベートASN）のままでかまいません。
5. [ルーティングオプション] 欄では [静的] を選択し、[静的IPプレフィックス] 欄にユーザーネットワークのLAN側IPアドレス範囲を入力してください。
6. 最後に「作成」をクリックします。

7. VPN接続の作成が完了すると、以下のようにVPN接続が表示され、 [状態] が [available] になります。

##### スタティックIPプレフィックスの追加

ARルーターからトンネル経由でAWSへの通信（pingなど）を行いたい場合は、AWS側のVPNゲートウェイにトンネル上で使われているリンクローカルアドレスの範囲を教えてあげる必要があります。そうしないと、ARルーターからAWSにはパケットが届いても、戻りのパケットがVPNゲートウェイで捨てられてしまうためです。
これは、静的ルートとしてリンクローカルプレフィックスを追加することで対応できます。
作成したVPN接続で使用されているリンクローカルアドレスは、次項「ARルーター側の設定 / トンネル設定」で調べることができます。
下図は、VPNインターフェースを経由するすべてのトンネルのリンクローカルトラフィックを指定した例です。
VPCダッシュボードから [VPN接続] を選択し、作成したVPN接続を選択し、 [静的ルート] タブから、 [編集] をクリックし、IPプレフィックスを追加し、 [保存] をクリックします。

##### ルート伝達の有効化

VPNスタティックIPプレフィックス（スタティックルート）が、正しくルーティングテーブルにインストールされるためには、ルート伝達を有効にする必要があります。それ以外の場合は、VPNスタティックルートトラフィックは、正しくルーティングされないことがあります。
下図のようにVPCダッシュボードから [ルートテーブル] を選択し、 [ルート伝達] タブから、 [編集] をクリックし、 [伝達] にチェックを入れて [保存] をクリックします。

#### ARルーター側の設定

次にユーザーネットワーク側のVPNルーターである、ARルーターのIPsec関連設定について説明します。
ネットワーク構成については、シングルモードのネットワーク構成を参照してください。
ここでは、ARルーターがppp0インターフェースでインターネットと接続しているものと仮定します。
また、AWS側の設定 は、完了していることを前提とします。
AWS側のVPN設定が完了すると、AWSのダッシュボードから各種VPNルーター用の設定サンプルをダウンロードできるようになります。
以下では、Cisco Systems社のISRシリーズの設定サンプルをもとに、AR4050Sの設定を行う方法を説明します。
汎用的な設定サンプルではなく、ISRシリーズ用の設定サンプルをもとにするのは、後者のほうがAR4050Sの設定に近いためです。

1. VPCダッシュボードから [VPN接続] を選択し、 [設定のダウンロード] をクリックします。

2. Cisco Systems社のISRシリーズの設定をダウンロードします。

   ダウンロードした設定サンプルには多くのセクションがありますが、本マニュアルでは重要な部分だけを抜粋し、ISRシリーズ用とAR4050S用の設定を対比する形で示していきます。

設定サンプル内で重要なのは次のセクションです。

- カスタムISAKMPプロファイル
- キー
- カスタムIPSECプロファイル
- トンネルピアへのプロファイル割り当て
- トンネル

##### ISAKMP プロファイル設定（Ciscoでの「Policy」）

Cisco ISR用設定サンプルの該当箇所

    crypto isakmp policy 200
     encryption aes 128
     authentication pre-share
     group 2
     lifetime 28800
     hash sha
     exit

AR4050Sの設定

    awplus(config)# crypto isakmp profile AWS-ISAKMP-Phase-1
    awplus(config-isakmp-profile)# transform 1 integrity sha1 encryption aes128 group 2
    awplus(config-isakmp-profile)# lifetime 28800
    awplus(config-isakmp-profile)# dpd-interval 10
    awplus(config-isakmp-profile)# version 1 mode main
    awplus(config-isakmp-profile)# end
    awplus#

Note

IKE交換モードについて、Ciscoでは両方のモード（aggressive、main）を自動的に試みますが、AR4050Sでは手動で設定する必要があります。

設定内容の確認はshow isakmp profileコマンドで行います。

    awplus# show isakmp profile AWS-ISAKMP-Phase-1
    ISAKMP Profile: AWS-ISAKMP-Phase-1
      Version:        IKEv1
      Mode:           Main
      Authentication: PSK
      Expiry:         8h
      DPD Interval:   10s
      DPD Timeout:    150s
      Transforms:
           Integrity   Encryption  DH Group
        1    SHA1        AES128       2

##### ISAKMP事前共有鍵設定

Cisco ISR用設定サンプルの該当箇所

    crypto keyring keyring-vpn-4234d12b-0
     local-address 10.1.1.1
     pre-shared-key address 10.0.0.1 key j3mqY_4dtzOHG7uP9mREjNkQxyeqnmEc
     exit

AR4050Sの設定

    awplus(config)# crypto isakmp key j3mqY_4dtzOHG7uP9mREjNkQxyeqnmEc address 10.0.0.1

設定内容の確認はshow isakmp keyコマンドで行います。

    awplus# show isakmp key
    Hostname/IP address             Key
    ----------------------------------------------------
    10.0.0.1                        j3mqY_4dtzOHG7uP9mRE
                                      jNkQxyeqnmEc

##### AWSピアへのカスタムISAKMPプロファイル割り当て

AR4050Sの設定

    awplus(config)# crypto isakmp peer address 10.0.0.1 profile AWS-ISAKMP-Phase-1

設定内容の確認はshow isakmp peerコマンドで行います。

    awplus# show isakmp peer
    Peer Profile (* incomplete) Key
    ---------------------------------------------------------------------
    10.0.0.1 AWS-ISAKMP-Phase-1 PSK

##### IPsec設定

Cisco ISR用設定サンプルの該当箇所

    crypto IPsec transform-set IPsec-prop-vpn-4234d12b-0 esp-aes 128 esp-sha-hmac
     mode tunnel
     exit

AR4050Sの設定

    awplus(config)# crypto IPsec profile AWS-IPSEC-Phase-2
    awplus(config-IPsec-profile)# transform 1 protocol esp integrity sha1 encryption aes128
    awplus(config-IPsec-profile)# pfs 2
    awplus(config-IPsec-profile)# lifetime seconds 3600
    awplus(config-IPsec-profile)# exit
    awplus(config)# exit
    awplus#

設定内容の確認はshow ipsec profileコマンドで行います。

    awplus# show ipsec profile AWS-IPSEC-Phase-2
    IPsec Profile: AWS-IPSEC-Phase-2
      Replay-window:  32
      Expiry:         1h
      PFS group:      2
      Transforms:
           Protocol  Integrity   Encryption
        1    ESP       SHA1        AES128

##### トンネル設定

Cisco ISR用設定サンプルの該当箇所

    interface Tunnel1
     ip address 169.254.XX.XX 255.255.255.252
     ip virtual-reassembly
     tunnel source 10.1.1.1
     tunnel destination 10.0.0.1
     tunnel mode IPsec ipv4
     tunnel protection IPsec profile IPsec-vpn-4234d12b-0
     ! This option causes the router to reduce the Maximum Segment Size of
     ! TCP packets to prevent packet fragmentation.
     ip tcp adjust-mss 1387
     no shutdown
     exit

AR4050Sの設定

    awplus(config)# int tunnel1
    awplus(config-if)# mtu 1434
    awplus(config-if)# ip address 169.254.XX.XX/30
    awplus(config-if)# tunnel source 10.1.1.1
    awplus(config-if)# tunnel destination 10.0.0.1
    awplus(config-if)# tunnel mode IPsec ipv4
    awplus(config-if)# tunnel protection IPsec profile AWS-IPSEC-Phase-2
    awplus(config-if)# ip tcp adjust-mss 1387
    awplus(config-if)# end

設定内容の確認はshow ip interfaceコマンドやshow interfaceコマンドで行います。

    awplus# show ip interface brief
    Interface             IP-Address         Status          Protocol
    eth1                  unassigned         admin up        running
    eth2                  unassigned         admin up        down
    lo                    unassigned         admin up        running
    vlan1                 unassigned         admin up        down
    vlan10                192.168.1.0/24     admin up        running
    tunnel1               169.254.XX.XX/30   admin up        running
    ppp0                  10.1.1.1/32        admin up        running

    awplus# show interface tunnel1
    Interface tunnel1
      Link is UP, administrative state is UP
      Hardware is Tunnel
      IPv4 address 169.254.XX.XX/30 point-to-point 169.254.XX.XX
      index 14 metric 1 mtu 1434
      IPv4 mss 1387
      <UP,POINT-TO-POINT,RUNNING,MULTICAST>
      SNMP link-status traps: Disabled
      Tunnel source 10.1.1.1, destination 10.0.0.1
      Tunnel name local 10.1.1.1, remote 10.0.0.1
      Tunnel protocol/transport IPsec ipv4, key disabled, sequencing disabled
      Checksumming of packets disabled, path MTU discovery disabled
      Tunnel protection via IPsec (profile "AWS-IPSEC-Phase-2")
        input packets 0, bytes 0, dropped 0, multicast packets 0
        output packets 0, bytes 0, multicast packets 0 broadcast packets 0
      Time since last state change: 0 days 00:21:30

Note

トンネルインターフェースが「UP」の間は、トンネルはピアの状態を追跡しません。つまり、トンネルは、接続を開始する準備、またはピアの開始に応答する準備ができているということです。トンネルが動作しているかどうかを確認するには、AT-AR4050SからAWSルーター（169.254.XXX.XXX）のリンクローカルアドレスにpingを実行してみてください。pingが成功した場合、トンネルはアップしていて作動しています。ルーティングが希望通りに動作しているかどうかを確認するために、他の所望のネットワークにpingを実行してみて、必要に応じてスタティックルーティングを設定してください。

##### ルーティング設定

この例では、AR4050Sにデフォルトルートを設定していませんので、次のコマンドでAWSルーターのパブリックIPアドレスおよび本製品が所属するサブネットへのスタティックルートを登録します。

    ip route 0.0.0.0/0 ppp0
    ip route 172.30.0.0/24 169.254.XX.XX

AR4050Sから開始された通信について、本製品からAR4050Sへの戻りパケットを正しく返送するための設定は、AWS VPNのスタティックIPプレフィックスの項で説明済みです（「IPsec設定」参照）。
ここまでくれば、AWS上の本製品とお客様側AMFネットワークの間でIPの通信ができるようになっています。
AMFの設定については、本インストールガイドでは触れていません。本製品とAMFネットワーク間の仮想リンクの設定については、本マニュアルの「AMF」を参照してください。

## テナントネットワークとの接続（マルチテナントモード）

次に、AMFマルチテナント機能を使う構成（マルチテナントモード）で必要となる追加設定を示します。
マルチテナントモードにおいて、各テナントネットワークから本製品を利用するためには、該当テナント向けのAMFコンテナとテナントネットワークの間で通信が可能になっている必要があります。
これには、AMF CloudのVPN機能を使います。
具体的には、AMF Cloud自身とテナントネットワークのVPNルーターの間にIPsecで保護したL2TPv3トンネルを構築し、AMF Cloudのブリッジ機能を利用してL2TPv3トンネルを各コンテナにブリッジします。
この構成では、各コンテナ・テナントネットワーク間の通信経路が完全に分離されているため、各テナントにおいて独自のIPアドレス設計が可能です（テナント間でIPアドレスが重複してもかまいません）。
ここでは、テナントネットワーク側のVPNルーターとして弊社のAT-AR4050S（以下、「ARルーター」）を使う場合を例に、AMF CloudとテナントネットワークをL2TPv3＋IPsec VPNで接続する方法を説明します。
なお、以下の説明は、ここまでに説明したシングルモード用の基本設定が完了していることを前提としていますが、AMF Cloud・ユーザーネットワーク間の接続が不要な場合はその部分を省略可能です。

### AMF CloudのVPN機能を使う方法

AMF CloudのVPN機能を使ってAMF Cloudとテナントネットワークを接続する場合の基本構成は次のとおりです。
この構成では、AMF Cloud自身がVPNルーター兼ブリッジとなって、テナントネットワーク側VPNルーターとの間にL2TPv3＋IPsecトンネルを構築し、AMF Cloudのブリッジ機能を利用してL2TPv3トンネルを各コンテナにブリッジします。
そのため、VPN接続の設定はAMF Cloud自身に対して行います。仮想プライベートゲートウェイなど、AWS（VPC）側の設定は基本的に不要ですが、セキュリティグループに関しては、ARルーターからのVPN通信を許可するようルールを追加してください。
また、この構成では、各コンテナ・テナントネットワーク間の通信経路が完全に分離されているため、各テナントにおいて独自のIPアドレス設計が可能です（テナント間でIPアドレスが重複してもかまいません）。
なお、以下は参考例ですので、実環境では適宜設定を調節してください。

表 4：テナントAネットワークとの接続パラメーター
| AMF Cloud | ARルーター
トンネルインターフェース名 | tunnel1 | tunnel0
トンネル動作モード | L2TPv3 + IPsec (IPv4) | L2TPv3 + IPsec (IPv4)
トンネル終端アドレス（AMF Cloudから見た場合） | 172.30.0.5 （eth0のプライベートIP） | 10.10.10.1 （パブリックIP）
トンネル終端アドレス（ARルーターから見た場合） | 10.0.0.5 （インスタンスのパブリックIP） | 10.10.10.1 （パブリックIP）
コンテナ名（ブリッジ） | ConA（br1） | -
トンネルI/Fに設定するアドレス | - | 172.16.0.2/24
コンテナのeth1に設定するアドレス | 172.16.0.1/24 | -
ISAKMPフェーズ1 ID | vaa1（ホスト名形式文字列） | 10.10.10.1（IPアドレス）
ISAKMP事前共有鍵 | efghijklmnopqrstuvwxyz1234abcd
L2TPv3 ID | 11 | 12

表 5：テナントBネットワークとの接続パラメーター
| AMF Cloud | ARルーター
トンネルインターフェース名 | tunnel2 | tunnel0
トンネル動作モード | L2TPv3 + IPsec (IPv4) | L2TPv3 + IPsec (IPv4)
トンネル終端アドレス（AMF Cloudから見た場合） | 172.30.0.5 （eth0のプライベートIP） | 10.20.20.1 （パブリックIP）
トンネル終端アドレス（ARルーターから見た場合） | 10.0.0.5 （インスタンスのパブリックIP） | 10.20.20.1 （パブリックIP）
コンテナ名（ブリッジ） | ConB（br2） | -
トンネルI/Fに設定するアドレス | - | 172.16.0.2/24
コンテナのeth1に設定するアドレス | 172.16.0.1/24 | -
ISAKMPフェーズ1 ID | vaa2（ホスト名形式文字列） | 10.20.20.1（IPアドレス）
事前共有鍵 | ijklmnopqrstuvwxyz1234abcdefgh
L2TPv3 ID | 21 | 22

Note

本製品（AMF Cloud）インスタンスのパブリックIPアドレスは、EC2ダッシュボードのインスタンス画面 から確認できます。

Note

本構成では、各AMFコンテナのネットワークが独立していることを示すため、AMFコンテナ「ConA」と「ConB」およびテナントA、Bのネットワークで同じIPアドレスを設定していますが、これはAMFコンテナ間でVLAN、IPアドレスの重複設定が可能であることを示すためのもので、必須の設定ではありません。

Note

以下の説明は、前述した シングルモードの構成 をベースにしていますが、AMF Cloud・ユーザーネットワーク間の接続が不要な場合はその部分を省略可能です。

#### AWS側の設定

AMF Cloudのインスタンスに適用されているセキュリティグループに対し、各テナントのARルーターからのVPN通信を許可するインバウンドルールを追加します。

タイプ | プロトコル | ポート範囲 | ソース | 説明
カスタム UDP ルール | UDP | 500 | 10.10.10.1（テナントAルーターのパブリックIPアドレス） | ISAKMP A
カスタム UDP ルール | UDP | 500 | 10.20.20.1（テナントBルーターのパブリックIPアドレス） | ISAKMP B
カスタム UDP ルール | UDP | 4500 | 10.10.10.1（テナントAルーターのパブリックIPアドレス） | NAT-T (UDP-encap ISAKMP/ESP) A
カスタム UDP ルール | UDP | 4500 | 10.20.20.1（テナントBルーターのパブリックIPアドレス） | NAT-T (UDP-encap ISAKMP/ESP) B

#### AMF Cloud側の設定

AMF Cloudには、ARルーターと同等のVPN機能が実装されているため、設定内容は後述するARルーターのものと類似しています。
ただし、AMF Cloud自身にはプライベートIPアドレス（172.30.0.5）が設定されており、AMF CloudのパブリックIPアドレス（10.0.0.5）はAWSのNAT機能で変換されたものであることから、ARルーター側でISAKMP接続時にAMF Cloudを正しく識別できるよう、tunnel local nameで自装置の名前（ホスト名形式文字列）を送信するよう設定する必要があります。
なお、ここでは、AMF Cloud とテナントA、BネットワークのVPNルーターとの間に L2TPv3 + IPsecトンネルを確立する設定までを示します。
構築した L2TPv3 + IPsec トンネルを各コンテナの eth1 にブリッジする設定は、AMF応用編 において、AMFコンテナの作成手順の中で解説します。また、各コンテナの設定についても同じく、AMF応用編 で説明します。

1. テナントA、テナントBのARルーター（10.10.10.1、10.20.20.1）との間で使用するISAKMPの事前共有鍵を設定します。
   これにはcrypto isakmp keyコマンドを使います。

       crypto isakmp key efghijklmnopqrstuvwxyz1234abcd address 10.10.10.1
       crypto isakmp key ijklmnopqrstuvwxyz1234abcdefgh address 10.20.20.1

2. L2TPv3トンネルインターフェース tunnel1（テナントA用）、tunnel2（テナントB用）を作成します。
   これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
   ・ローカル側トンネル終端アドレス（tunnel source） - AMF Cloud の eth0 インターフェースを指定します
   ・リモート側トンネル終端アドレス（tunnel destination） - ARルーターのパブリックIPアドレスを指定します
   ・ISAKMPローカル名（tunnel local name） - ARルーターがAMF Cloudを識別できるよう任意の文字列を指定します
   ・L2TPv3ローカルID（tunnel local id） - 対向側とペアになるようにして任意の数値を割り当てます
   ・L2TPv3リモートID（tunnel remote id） - 対向側とペアになるようにして任意の数値を割り当てます
   ・トンネリング方式（tunnel mode ipsec）
   ・トンネルインターフェースに対するIPsec保護の適用（tunnel protection ipsec）

       interface tunnel1
        tunnel source eth0
        tunnel destination 10.10.10.1
        tunnel local name vaa1
        tunnel local id 11
        tunnel remote id 12
        tunnel mode l2tp v3
        tunnel protection ipsec

       interface tunnel2
        tunnel source eth0
        tunnel destination 10.20.20.1
        tunnel local name vaa2
        tunnel local id 21
        tunnel remote id 22
        tunnel mode l2tp v3
        tunnel protection ipsec

#### ARルーター側の設定

次にテナントネットワーク側のVPNルーターである、ARルーター側のVPN設定について説明します。
ここでは、ARルーターがppp0インターフェースでインターネットと接続しているものと仮定します。
また、インターネット接続設定や、AMF Cloud側の設定 は、完了していることを前提とします。
前述のとおり、AMF Cloud自身にはプライベートIPアドレス（172.30.0.5）が設定されており、AMF CloudのパブリックIPアドレス（10.0.0.5）はAWSのNAT機能で変換されたものであることから、ARルーター側ではISAKMP接続時にAMF Cloudを正しく識別できるよう、tunnel remote nameでAMF Cloud側に設定したのと同じ文字列を指定する必要があります。

##### テナントA側ARルーター

1. AMF Cloudとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。
   AMF CloudのパブリックIPは実際にはNAT変換されたものであるため、ここではAMF Cloudをホスト名形式の文字列IDで識別しています。

       crypto isakmp key efghijklmnopqrstuvwxyz1234abcd hostname vaa1

2. L2TPv3トンネルインターフェース tunnel0 を作成します。
   これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
   ・ローカル側トンネル終端アドレス（tunnel source） - ARルーターの ppp0 インターフェースを指定します
   ・リモート側トンネル終端アドレス（tunnel destination） - AMF CloudのパブリックIPアドレスを指定します
   ・ISAKMPリモート名（tunnel local name） - NAT経由で相手を識別するため、AMF Cloudに設定したのと同じ文字列を指定します
   ・L2TPv3ローカルID（tunnel local id） - 対向側とペアになるようにして任意の数値を割り当てます
   ・L2TPv3リモートID（tunnel remote id） - 対向側とペアになるようにして任意の数値を割り当てます
   ・トンネリング方式（tunnel mode ipsec）
   ・トンネルインターフェースに対するIPsec保護の適用（tunnel protection ipsec）
   ・トンネルインターフェースのIPアドレス（ip address）

       interface tunnel0
        tunnel source ppp0
        tunnel destination 10.0.0.5
        tunnel remote name vaa1
        tunnel local id 12
        tunnel remote id 11
        tunnel mode l2tp v3
        tunnel protection ipsec
        ip address 172.16.0.2/24

##### テナントB側ARルーター

1. AMF Cloudとの間で使用するISAKMPの事前共有鍵を設定します。これにはcrypto isakmp keyコマンドを使います。
   AMF CloudのパブリックIPは実際にはNAT変換されたものであるため、ここではAMF CloudをISAKMPリモート名で識別しています。

       crypto isakmp key ijklmnopqrstuvwxyz1234abcdefgh hostname vaa2

2. L2TPv3トンネルインターフェース tunnel0 を作成します。
   これには、interfaceコマンドでトンネルインターフェースを作成し、以下の情報を設定します。
   ・ローカル側トンネル終端アドレス（tunnel source） - ARルーターの ppp0 インターフェースを指定します
   ・リモート側トンネル終端アドレス（tunnel destination） - AMF CloudのパブリックIPアドレスを指定します
   ・ISAKMPリモート名（tunnel local name） - NAT経由で相手を識別するため、AMF Cloudに設定したのと同じ文字列を指定します
   ・L2TPv3ローカルID（tunnel local id） - 対向側とペアになるようにして任意の数値を割り当てます
   ・L2TPv3リモートID（tunnel remote id） - 対向側とペアになるようにして任意の数値を割り当てます
   ・トンネリング方式（tunnel mode ipsec）
   ・トンネルインターフェースに対するIPsec保護の適用（tunnel protection ipsec）
   ・トンネルインターフェースのIPアドレス（ip address）

       interface tunnel0
        tunnel source ppp0
        tunnel destination 10.0.0.5
        tunnel remote name vaa2
        tunnel local id 22
        tunnel remote id 21
        tunnel mode l2tp v3
        tunnel protection ipsec
        ip address 172.16.0.2/24

これ以降の設定については、AMF応用編をご参照ください。

## ファームウェアの更新

本製品のファームウェアを更新するには、software-upgradeコマンドを使います。

### 前提条件

あらかじめ更新先バージョンのファームウェアイメージファイル（ISOイメージファイル）を用意し、AWS上の本製品にアップロードしておく必要があります。

### ISOファイル、VHDファイルについて

本製品のファームウェアイメージファイルはいくつかの形式で配布されていますが、それぞれ次のように用途が異なります。
AWS環境のファームウェア更新に使うのはISOイメージファイルのほうです。

- VHDイメージファイル（.vhd）は、AWSにアップロードして本製品のAMIを作成するためのものです。
  詳しくは、「Amazonマシンイメージの作成」をご参照ください。
- ISOイメージファイル（.iso）は、すでにAWS上で動作している本製品のファームウェアを更新するためのものです。

### 更新手順

本製品のファームウェアを更新するには、本製品のCLIにログインして、下記の手順を実行します。

1. ファイルシステム上にISOイメージファイルが存在することを確認します。

       awplus# dir
       4096 drwx Mar 14 2016 03:00:00 atmf/
       2401 -rw- Mar 13 2016 23:10:34 V60153A591FFD2F0.bin
       143 -rw- Mar 13 2016 09:58:49 reboot.log
       551 -rw- Mar 13 2016 09:57:48 default.cfg
       25499648 -rw- Feb 16 2016 20:45:45 vaa-5.5.6-0.2.iso ← 新しいファームウェア

2. software-upgradeコマンドでISOイメージファイルを指定します。確認メッセージが表示されるので「y」を入力してください。

       awplus# software-upgrade vaa-5.5.6-0.2.iso
       Install this release to disk? (y/n): y
       Upgrade succeeded, the changes will take effect after rebooting the device.

3. 新しいファームウェアで再起動します。

       awplus# reboot

## トラブルシューティング

### ネットワーク接続が失われた場合

ネットワーク接続が失われた場合の自動復旧手段として、本製品にはフェイルセーフモードという仕組みが用意されています。
本製品は、AWSとの接続が失われたことを検出するとフェイルセーフモードに入ります。
本製品は、AWS上に存在する既定のいくつかのサーバーに接続できない場合、管理機能へのアクセスができなくなったと見なして、5分間の監視タイマーをスタートさせます。
接続が回復しないまま5分が経過した場合、本製品はデフォルト設定で再起動します。
この機能は、おもに次の理由による接続不能からの自動復旧を目的としています。

- eth0ポートのシャットダウン
- eth0に対する誤ったIPアドレスの静的設定
- ルーティングの問題

デフォルト設定で起動した本製品には、インスタンス作成時に割り当てたオリジナルのSSHキーペアを使ってSSHアクセスできます。
なお、再起動前の設定ファイルは「default_backup.cfg」にリネームされて残されます。

### SSHサーバー機能が無効化された場合

本製品は、SSHサーバー機能が無効化された場合も同様に5分間の監視タイマーをスタートさせます。本製品の管理機能はSSHでしかアクセスできないためです。
SSHサーバー機能が無効のまま5分が経過した場合、本製品はデフォルト設定で再起動します。
なお、再起動前の設定ファイルは「default_backup.cfg」にリネームされて残されます。

### 復旧不能時への備え

前記の仕組みでも本製品への接続を復旧できない場合に備え、正常に動作しているインスタンスイメージのスナップショットをとっておくには、以下の手順を実行します。

1. EC2 ダッシュボードで [インスタンス] をクリックします。
2. 目的のインスタンスを選択して右クリックし、 [イメージ] から [イメージを作成] を選択します。

作成したスナップショットイメージは、 [イメージ] ＞ [AMI] で確認できます。
このスナップショットからマシンを作成するには、前述の「インスタンスの作成」で説明した手順と同様、[マイAMI] の下の [スナップショット] から新しいインスタンスを作成します。

Note

スナップショットからインスタンスを作り直した場合、MACアドレスとIPアドレスは以前と異なったものになります。そのため、手動による仮想リンクの再設定やアニュアルライセンスの再登録が必要になります。