[index] AT-AR4000S-Cloud リファレンスマニュアル 5.5.5

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

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

> Note

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

## 手順概要

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

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

## 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キーの作成」で説明しています。
- 本製品のCDに収録されているVHDイメージファイル（AMIの元となるディスクイメージファイル）
- 本製品のCDに収録されているPYファイル（VHDイメージファイルからAMIを作成する時に必要なPythonアップロードスクリプトファイル）
- Amazon EC2 APIツール（コマンドラインからEC2に対する各種操作を行うためのツール）

### APIキーの作成

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

> Note

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

> Note

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

1. AWSマネジメントコンソールのホーム画面で、「サービス」＞「すべてのサービス」＞「IAM」の順に選択します。

2. IAMダッシュボード画面で、左メニュー「アクセス管理」の下にある「ユーザー」をクリックします。

3. IAMユーザー名をクリックします。

4. 「認証情報」タブに切り替え、「アクセスキーの作成」をクリックします。

5. 「アクセスキーの作成」画面が表示されるので、「.csvファイルのダウンロード」をクリックして、アクセスキーID、シークレットアクセスキーの情報を保存します。

   あるいは、前記画面でシークレットアクセスキーの横の「表示」をクリックするとシークレットアクセスキーが表示されるので、アクセスキーIDとシークレットアクセスキーの情報をコピー＆ペーストで保存します。

   > Note

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

6. これで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上に一時フォルダーを作成し、本製品のCDに収録されているVHDイメージファイル「AR4000S-Cloud-5.5.5-2.1.vhd」とPythonスクリプト「upload_vhd.py」をコピーしてください。
ここでは、次の確認画面例にあるとおり、ログインユーザーのホームディレクトリー直下の tmp フォルダーにこれらのファイルを置いたものとします。

    ubuntu@ubuntu-pc:~/tmp$ ls
    AR4000S-Cloud-5.5.5-2.1.vhd  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イメージファイル（例：AR4000S-Cloud-5.5.5-2.1.vhd）
      AMINAME       : AMI名（例：AR4000S-Cloud-5.5.5）
      --region NAME : 使用するAWSリージョン（例：ap-northeast-1）
                      ※リージョン名の一覧はAmazon社のユーザーガイドを参照してください。
      --bucket NAME : 一時的にVHDファイルをアップロードするAWS S3バケット（例：AR4000S-Cloud.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 AR4000S-Cloud-5.5.5-2.1.vhd AR4000S-Cloud-5.5.5 --region ap-northeast-1 --bucket AR4000S-Cloud.upload --akid AKIDABCDF --sak SAKABCDF
    upload_image: Creating Bucket
    upload_image: Uploading disk image
    upload_image: 10% (12MB/120MB)
    upload_image: 20% (24MB/120MB)
    upload_image: 30% (36MB/120MB)
    upload_image: 40% (48MB/120MB)
    upload_image: 50% (60MB/120MB)
    upload_image: 60% (72MB/120MB)
    upload_image: 70% (84MB/120MB)
    upload_image: 80% (96MB/120MB)
    upload_image: 90% (108MB/120MB)
    import_snapshot: Converting disk image to EBS snapshot
    import_snapshot: ImportTaskId=import-snap-0153ad4f76fb9e4bb
    import_snapshot: 2%
    import_snapshot: 43%
    import_snapshot: 100%
    import_snapshot: Snapshot created snap-0a20e8cb894a2f65d
    import_snapshot: Deleting disk image from S3
    register_image: Creating AMI
    register_image: AMI created ami-038777b2b30e26eb6

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

    register_image: AMI created ami-XXXXXXXX

また、AMIはEC2ダッシュボードで確認することができます。

1. AWSマネジメントコンソールのホーム画面で、「サービス」＞「すべてのサービス」＞「EC2」の順に選択します。

2. EC2ダッシュボード画面で、左メニュー「イメージ」の下にある「AMI」をクリックします。

## インスタンスの作成

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

### 前提条件

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

### VPCの作成

1. AWSマネジメントコンソールのホーム画面で、「サービス」＞「すべてのサービス」＞「VPC」の順に選択します。

2. VPCダッシュボード画面で「VPCを作成」をクリックします。

3. 「VPCを設定」画面で以下のように設定し、「VPCを作成」をクリックします。

4. VPCが正常に作成されると次のような画面が表示されます。

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

1. AWSマネジメントコンソールの「サービス」メニューから「すべてのサービス」＞「EC2」の順に選択してEC2ダッシュボード画面を開き、「インスタンスを起動」＞「インスタンスを起動」の順にクリックします。

2. 「インスタンスを起動」画面で以下のように設定します。
   - 名前とタグ
     インスタンス名を入力します。

   - アプリケーションおよびOSイメージ (Amazonマシンイメージ)
     「自分のAMI」タブをクリックすると、先ほど作成したAMIが選択されます。
     もし異なるものが選択された場合はドロップダウンリストから先ほど作成したAMIを選択してください。

   - インスタンスタイプ
     ご使用環境によって要件が異なりますので、「インストールガイド」/「はじめに」の「動作環境」を参照し、適切なインスタンスタイプを選んでください。

   - キーペア (ログイン)
     SSH接続時に使用する公開鍵ペアを作成します。「新しいキーペアの作成」をクリックしてください。

     「キーペアを作成」画面が表示されるので、以下のように設定し、「キーペアを作成」をクリックします。

   - ネットワーク設定
     「編集」をクリックして、以下のように設定します。

     - VPC
       先ほど作成したものを選択します。
     - サブネット
       「新しいサブネットの作成」をクリックします。

       「サブネットを作成」画面が表示されるので、以下のように設定し、「サブネットを作成」をクリックします。

       サブネットが正常に作成されると次のような画面が表示されます。

     - パブリックIPの自動割り当て
       「有効化」を選択します。

     - ファイアウォール (セキュリティグループ)
       「セキュリティグループを作成する」を選択します。

       下記のようにセキュリティグループルールを2つ設定します。

   - ストレージを設定
     デフォルトのままでかまいません。
   - 高度な詳細
     デフォルトのままでかまいません。

3. 「インスタンスを起動」をクリックします。

4. インスタンスが正常に作成されると次のような画面が表示されます。

   SSH接続時などに使用するインスタンスのパブリックIPアドレスもこの画面で確認できます。

> Note

> > AWSは、インスタンスにアクセスするための仮想コンソールを提供していません。インスタンスの制御はSSHでのみ可能です。ただし、AR4000S-Cloudの内部コンソールに出力されたメッセージを読み取り専用のログとして閲覧することは可能です。
> > これには、VPCダッシュボード画面（「サービス」＞「すべてのサービス」＞「VPC」）の左メニューから「仮想プライベートクラウド」の下にある「お使いのVPC」をクリックし、先ほど作成したVPCを選択してから、画面上部の「アクション」＞「インスタンスの設定」＞「システムログの取得」を選択します。

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

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

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

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

1. AWSマネジメントコンソールの「サービス」メニューから「すべてのサービス」＞「VPC」の順に選択してVPCダッシュボード画面を開き、左メニューから「仮想プライベートクラウド」の下にある「インターネットゲートウェイ」をクリックし、「インターネットゲートウェイの作成」をクリックします。

2. 「インターネットゲートウェイの作成」画面が表示されるので、以下のように設定し、「インターネットゲートウェイの作成」をクリックします。

3. インターネットゲートウェイが正常に作成されると次のような画面が表示されるので、右上の「VPCへアタッチ」をクリックします。

4. 「VPCにアタッチ」画面が表示されるので、先ほど作成したVPCを選択し、「インターネットゲートウェイのアタッチ」をクリックします。

5. インターネットゲートウェイのアタッチが正常に終了すると次のように表示されます。

### ルートテーブルの作成

次に、ルートテーブルを作成してデフォルトルートを登録し、インターネットゲートウェイ経由でVPCからインターネットへの通信ができるよう設定します。

1. VPCダッシュボードの左メニューで「仮想プライベートクラウド」の下にある「ルートテーブル」をクリックし、「ルートテーブルを作成」をクリックします。

2. 「ルートテーブルを作成」画面が表示されるので、以下のように設定し、「ルートテーブルを作成」をクリックします。

3. ルートテーブルが正常に作成されると次のような画面が表示されます。

4. 左メニューの「仮想プライベートクラウド」＞「ルートテーブル」をクリックし、先ほど作成したルートテーブルを選択してから、「ルート」タブをクリックし、「ルートを編集」をクリックします。

5. 「ルートを編集」画面が表示されるので、「ルートを追加」をクリックします。

6. 以下のように追加のルートを設定し、「変更を保存」をクリックします。

   - 送信先：0.0.0.0/0
   - ターゲット：「インターネットゲートウェイ」を選択すると先ほど作成したインターネットゲートウェイが表示されるのでそれを選択

7. ルート編集が正常に完了すると次のような画面が表示されます。

8. 左メニューの「仮想プライベートクラウド」＞「ルートテーブル」をクリックし、先ほど作成したルートテーブルを選択してから、「アクション」＞「メインルートテーブルを設定」をクリックします。

9. 「メインルートテーブルを設定」画面が表示されるので、「設定」と入力し、「OK」をクリックします。

10. メインルートテーブル設定が正常に完了すると次のような画面が表示されます。

これでインスタンスの作成は完了です。
これ以降のセクションでは、以下について説明します。

- 本製品にリモートログインするため、SSHキーとSSHクライアントを設定します。
- 本製品とユーザーネットワークをVPNで接続します。

## SSH接続設定

AWSではインスタンス（仮想マシン）へのコンソールアクセスを提供していないため、AWS上にセットアップした本製品の設定、管理はSSH（Secure Shell）経由で行う必要があります。
ここでは、SSHクライアントとしてWindows用の「PuTTY」およびUbuntu（Linux）のsshコマンドを使う場合を例に、SSHキーペアを利用した公開鍵認証で本製品のCLIにアクセスする方法を説明します。
なお、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

   > > 本製品（AR4000S-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 ar4000s-cloud-atkk-test.pem
   > >     ubuntu@ubuntu-pc:~/.ssh$ ls -la ar4000s-cloud-atkk-test.pem
   > >     -r-------- 1 vaa vaa 1696 Jul 15 15:06 ar4000s-cloud-atkk-test.pem

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

   > Note

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

       ubuntu@ubuntu-pc:~/.ssh$ ssh -i ar4000s-cloud-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.5 XX/XX/XX XX:XX:XX

       ip-172-30-0-139>

## ユーザーネットワークとの接続

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

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

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

### AR4000S-CloudのVPN機能を使う方法

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

表 1：ユーザーネットワークとの接続パラメーター
| 本製品 | 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)

#### AR4000S-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 arcloud
        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インターフェースでインターネットと接続しているものと仮定します。
また、インターネット接続設定や、AR4000S-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 arcloud

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 arcloud
        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. AWSマネジメントコンソールの「サービス」メニューから「すべてのサービス」＞「VPC」の順に選択してVPCダッシュボード画面を開き、左メニューから「仮想プライベートネットワーク (VPN)」の下にある「仮想プライベートゲートウェイ」をクリックし、「仮想プライベートゲートウェイを作成」をクリックします。

2. 「仮想プライベートゲートウェイを作成」画面が表示されるので、以下のように設定し、「仮想プライベートゲートウェイを作成」をクリックします。

3. 仮想プライベートゲートウェイが正常に作成されると次のような画面が表示されます。

4. 「アクション」を選択し、「VPCへアタッチ」をクリックします。

5. 「VPCへアタッチ」画面が表示されるので、先ほど作成したVPCを選択し、「VPCへアタッチ」をクリックします。

6. VPCへのアタッチが正常に完了すると次のような画面が表示されます。

##### VPN接続の作成

1. VPCダッシュボード画面の左メニューから「仮想プライベートネットワーク (VPN)」の下にある「Site-to-Site VPN接続」をクリックし、「VPN接続を作成する」をクリックします。

2. 「VPN接続を作成する」画面が表示されるので、以下のように設定し、「VPN接続を作成する」をクリックします。

3. VPN接続が正常に作成されると次のような画面が表示されます。

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

ARルーターからトンネル経由でAWSへの通信（pingなど）を行いたい場合は、AWS側のVPNゲートウェイにトンネル上で使われているリンクローカルアドレスの範囲を教えてあげる必要があります。そうしないと、ARルーターからAWSにはパケットが届いても、戻りのパケットがVPNゲートウェイで捨てられてしまうためです。
これは、静的ルートとしてリンクローカルプレフィックスを追加することで対応できます。
静的ルートは次の手順で登録します。

1. VPCダッシュボード画面の左メニューから「仮想プライベートネットワーク (VPN)」の下にある「Site-to-Site VPN接続」をクリックし、「静的ルート」タブの「ルートを編集」をクリックします。

2. 「静的ルートを編集」画面が表示されるので、スタティックIPプレフィックスを追加して、「変更を保存」をクリックします。
   トンネル上で使われているリンクローカルアドレスは、次項「ARルーター側の設定 / トンネル設定」で調べてください。

3. スタティックIPプレフィックス正常に追加されると次のような画面が表示されます。

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

VPNスタティックIPプレフィックス（スタティックルート）が、正しくルーティングテーブルにインストールされるためには、ルート伝達を有効にする必要があります。それ以外の場合は、VPNスタティックルートトラフィックは、正しくルーティングされないことがあります。

1. VPCダッシュボード画面の左メニューから「仮想プライベートクラウド」の下にある「ルートテーブル」をクリックし、先ほど作成したルートテーブルを選択して、「ルート伝播」タブをクリックし、「ルート伝播の編集」をクリックします。

2. 「ルート伝播の編集」画面が表示されるので、「伝播」欄の「有効化」チェックを入れ、「保存」をクリックします。

3. ルート伝播の編集が正常に完了すると次のような画面が表示されます。

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

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

1. VPCダッシュボード画面の左メニューから「仮想プライベートネットワーク (VPN)」の下にある「Site-to-Site VPN接続」をクリックし、「設定をダウンロードする」をクリックします。

2. 「設定をダウンロードする」画面が表示されるので、以下のように設定し、「ダウンロード」をクリックします。

   ダウンロードした設定サンプルには多くのセクションがありますが、本マニュアルでは重要な部分だけを抜粋し、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上の本製品とユーザーネットワークのIP通信ができるようになっています。

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

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

### 前提条件

弊社ホームページから、本製品のメンテナンスファームウェア（ISOイメージファイル）をダウンロードし、AWS上の本製品にアップロードしておく必要があります。

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

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

- 本製品のCDに収録されているVHDイメージファイルは、AWSにアップロードして本製品のAMIを作成するためのものです。
  詳しくは、「Amazonマシンイメージの作成」をご参照ください。
- 弊社ホームページで提供するISOイメージファイルは、すでにAWS上で動作している本製品のファームウェアを更新するためのものです。

### 更新手順

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

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

       awplus# dir ↓
       ...
       25499648 -rw- Jul 16 2022 20:45:45 AR4000S-Cloud-5.5.5-2.2.iso ← 新しいファームウェア

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

       awplus# software-upgrade AR4000S-Cloud-5.5.5-2.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

> > 自分のAMIが複数存在している場合、「自分のAMI」タブをクリックしたときに、作成したスナップショットイメージとは異なるものが選択されることがあります。その場合はドロップダウンリストから対象のスナップショットを選択してください。

> Note

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

(C) 2022 - 2025 アライドテレシスホールディングス株式会社

PN: 613-003066 Rev.R