【EPS技術記事】Amazon Web Service(AWS) 環境へのNetAttest EPS構築手順

アイキャッチ
目次

概要

本記事では、AWS環境へNetAttest EPS(以下「EPS」という)を構築する手順をご紹介します。
社内ネットワークからAWS上のEPSへVPN経由でアクセスします。
以下の流れでEPSを構築していきます。

【事前準備】AWS環境の構築

  1. Virtaual Private Cloud(VPC)の作成 
  2. プライベート サブネットの作成
  3. プライベートルートテーブルの編集①
  4. セキュリティグループの作成
  5. VPN Gateway(仮想プライベートゲートウェイ)の作成
  6. カスタマーゲートウェイの作成
  7. Site-to-Site VPN接続の作成
  8. オンプレVPN機器にVPN設定の入力
  9. プライベートルートテーブルの編集②

【仮想マシンの構築】EPSの構築

  1. Simple Storage Service(S3)の作成
  2. VMDKファイルのインポートに必要なポリシー、ロールの作成
  3. S3にVMDKファイルをアップロード
  4. アップロードしたVMDKファイルからAMIを作成
  5. EC2 インスタンスにEPSを作成
  6. EPSの管理画面へアクセス

管理者-EPS構築イメージ図

利用者-認証イメージ図

注意事項
※リージョンや地域について、 例としてアジアパシフィック(東京)を選択していますが、あくまで参考情報としてご覧ください。 
※構築手順にて、特に指定がない項目については、デフォルト値で設定をしています。
※EPSはAWSのSSDストレージで動作する設計となっています。
 

【事前準備】AWS環境の構築

まず、AWS環境の構築を行います。
このセクションでは、AWSと社内ネットワークをVPN接続するための設定方法を記載しています。

■ 前提条件
・AWS上に構築する仮想マシンのIPアドレス範囲は192.168.1.0/24
・リージョンはアジアパシフィック(東京)を選択

すでにVPN環境が整っている場合は、この項目をスキップし、
「【仮想マシンの構築】EPSの構築」のセクションから設定を進めてください。

VPCの作成

  1. 「VPCを作成」をクリックします。
  2. VPCの設定では、以下のように設定してください。
    設定後、「VPCを作成」をクリックします。
    作成するリソース VPCのみ -
    名前タグ - オプション (例) Soliton-VPC-01 任意の名前を入力
    IPv4 CIDR ブロック IPv4 CIDR の手動入力 -
    IPv4 CIDR 192.168.0.0/16 仮想マシンに割り当てるIPアドレスの範囲
  3. 右上の「アクション」をクリックし、「VPNの設定の編集」をクリックします。
  4. 「DNSホスト名を有効化」にチェックを入れます。

以上でVPCの作成が完了しました。

プライベート サブネットの作成

作成したVPCにサブネットの割り当てを行います。

  1. 左側メニューの「サブネット」をクリックし、画面を表示後、右上の「サブネットを作成」をクリックします。
    サブネットはプライベートサブネットを作成します。
  2. VPCを選択します。先ほど作成したVPCを選択します。
  3. プライベートサブネットを編集します。以下のように設定してください。
    サブネット名 (例) Soliton-Private-Subnet-01 任意の名前を入力
    アベイラビリティーゾーン 指定なし 構築環境に合わせて選択
    IPv4 VPC CIDR ブロック 192.168.0.0/16

    仮想マシンに割り当てるIPアドレスの範囲

    IPv4 サブネット CIDR ブロック 192.168.1.0/24

    仮想マシンに割り当てるIPアドレスの範囲

以上でプライベート サブネットの作成が完了しました。

プライベートルートテーブルの編集①

左側メニューの「ルートテーブル」をクリックし、画面を表示後、作成したVPCに対応したルートテーブルの「Name」をクリックし、名前から判断しやすくするために名前を入力します。

(例) Soliton-Prinate-Route-Table-01

以上でプライベートルートテーブの編集①は完了しました。

セキュリティグループの作成

左側メニューの「セキュリティグループ」をクリックし、画面を表示後、右上の「セキュリティグループを作成」をクリックします。
セキュリティグループの設定は、使用する仮想マシンの要件に基づいて適切に設定してください。

VPN Gateway(仮想プライベートゲートウェイ)の作成

VPNを使用するために仮想プライベートゲートウェイを作成します。

  1. 左側メニューの「仮想プライベートゲートウェイ」をクリックし、右上の画面を表示後、「仮想プライベートゲートウェイを作成」をクリックしてください。
  2. 詳細では、以下のように設定してください。
    名前タグ - オプション (例) Soliton-Private-Gateway-01 任意の名前を入力
  3. 作成した仮想プライベートゲートウェイをVPCにアタッチします。

以上で仮想プライベートゲートウェイの作成は完了しました。

カスタマーゲートウェイの作成

オンプレVPN機器側の情報を入力します。

  1. 左側メニューの「カスタマーゲートウェイ」をクリックし、画面を表示後、右上の「カスタマーゲートウェイを作成」をクリックします。
  2. 詳細では、以下のように設定します。
    名前タグ - オプション (例) Soliton-Customer-Gateway-01 任意の名前を入力
    IPアドレス
    オンプレVPN機器のグローバルIPアドレス

以上でカスタマーゲートウェイの作成は完了しました。

Site-to-Site VPN 接続の作成

  1. 左側メニューの「Site-to-Site VPN 接続」をクリックし、画面を表示後、右上の「VPN接続作成する」をクリックします。
  2. 詳細では、以下のように設定します。
    設定後、「VPN接続を作成する」をクリックします。
    名前タグ - オプション (例) Soliton-VPN-01 任意の名前を入力
    ターゲットゲートウェイのタイプ 仮想プライベートゲートウェイ -
    仮想プライベートゲートウェイ 作成した仮想プライベートゲートウェイを選択 -
    カスタマーゲートウェイ 既存 -
    カスタマーゲートウェイID 作成したカスタマーゲートウェイIDを選択 -
    ルーティングオプション 静的 -
    静的IPプレフィックス 社内ネットワークのIPアドレス範囲 -
    ローカルIPv4ネットワーク CIDR - オプション

    社内ネットワークのIPアドレス範囲

    -
    リモートIPv4ネットワーク CIDR - オプション 192.168.1.0/24 -

以上でSite-to-Site VPN接続の設定は完了しました。

オンプレVPN機器にVPN設定の入力

VPN接続に必要な設定のサンプル、パスワードは「設定をダウンロードする」よりダウンロードしたファイルに記載されています。

ダウンロードしたファイルを開き情報を確認しながらオンプレVPN機器でVPN設定を行います。
VPN設定に必要な情報はダウンロードしたファイルにすべて記載されています。

オンプレVPN機器でVPN設定後、「トンネルの詳細」を確認しステータスがアップになっていることを確認します。

プライベートルートテーブルの編集②

プライベートルートテーブルの編集②を行います。

  1. [Private Route Tableの編集① ]で名前を付けたルートテーブルを選択し、右上の「アクション」から「ルートの編集」クリックします。
  2. 「ルートを追加」をクリックし、ルートを追加します。
    送信先 社内ネットワークのIPアドレス範囲
    ターゲット 作成した仮想プライベートゲートウェイ
  3. 右上の「アクション」から「ルート伝播の編集」をクリックします。
  4. [ルート伝播の編集]にて、ルート伝播を有効化します。

以上でプライベートルートテーブの編集②が完了しました。
これで社内ネットワークとAWS間でVPN接続が可能になりました。

※この構成例では、インターネットとの通信は考慮されていません。
※インターネットとの通信を行う場合は、必要な通信ができるようにネットワーク設定を構成してください。

【仮想マシンの構築】EPSの構築

ここからはEPSの構築方法を記載します。
まず、EPSをEC2上にデプロイするための準備をします。

Simple Storage Service(S3)の作成

EPSのイメージファイル(VMDKファイル)をAWSへアップロードして保存するためのS3バケットを作成します。
必要な権限(ポリシー):AmazonS3FullAccess
すでにS3バケットがある場合は、スキップしてください。

  1. 「パケットを作成」をクリックします。
  2. バケットを作成します。
    バケット名はグローバルで一意である必要があります。

以上でS3の作成は完了しました。

VMDKファイルのインポートに必要なポリシー、ロールの作成

必要な権限(ポリシー):IAMFullAccess

  1. まず、VMDKファイルインポート用のポリシーを作成します。
    「IAM」を開き、左側メニューの「ポリシー」をクリックし、画面を表示後、右上の「ポリシーの作成」をクリックします。
  2. ポリシーエディタは「JSON」を選択し、JSONの内容を以下に書き換えます。
    書き換え後、「次へ」をクリックします。
    # "your-s3-bucket-name"には先ほど作成したバケット名に書き換えます。
  3. {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Effect": "Allow",
             "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket" 
             ],
             "Resource": [
                "arn:aws:s3:::your-s3-bucket-name",
                "arn:aws:s3:::your-s3-bucket-name/*"
             ]
          },
          {
             "Effect": "Allow",
             "Action": [
                "ec2:ModifySnapshotAttribute",
                "ec2:CopySnapshot",
                "ec2:RegisterImage",
                "ec2:Describe*"
             ],
             "Resource": "*"
          }
       ]
    }
  4. ポリシー名を入力し、「ポリシーの作成」をクリックします。
  5. 次に、VMDKファイルインポート用のロールを作成します。
    「IAM」を開き、左側メニューの「ロール」をクリックし、画面を表示後、右上の「ロールを作成」をクリックします。
  6. [信頼されたエンティティタイプ]で「カスタム信頼ポリシー」を選択します。
    カスタム信頼ポリシーで、JSONの内容を以下に書き換えます。
     書き換え後、「次へ」をクリックします。
    # "vmimport"には先ほど作成したポリシー名に書き換えます。
  7. {
       "Version": "2012-10-17",
       "Statement": [
          {
             "Effect": "Allow",
             "Principal": { "Service": "vmie.amazonaws.com" },
             "Action": "sts:AssumeRole",
             "Condition": {
                "StringEquals":{
                   "sts:Externalid": "vmimport"
                }
             }
          }
       ]
    }
  8. [許可ポリシー]で先ほど作成したインポート用のポリシーを検索し、選択します。
    [許可の境界を設定]では、「許可の境界なしでロールを作成」を選択します。
    選択後、「次へ」をクリックします。
  9. ロール名を入力します。
    ロール名を入力後、「ロールを作成」をクリックします。

以上でインポート用のポリシー、ロールの作成が完了しました。

S3にVMDKファイルをアップロード

S3にEPSのVMDKファイルをアップロードします。
必要な権限(ポリシー):AmazonS3FullAccess

  1. 先ほど作成したバケットを選択し、「アップロード」をクリックします。
  2. 「ファイルを追加」をクリックし、EPSのVMDKファイルを選択しアップロードします
  3. アップロードが完了しました。

以上でS3へEPSのVMDKファイルのアップロードが完了しました。

アップロードしたVMDKファイルからAMIを作成

CloudShellを利用してAMIの登録を行います。
必要な権限(ポリシー):
・AmazonEC2FullAccess
・AmazonS3FullAccess
・AWSCloudShellFullAccess
・IAMFullAccess

  1. CloudShellを開きます。
    次のコマンドを実行し、VMDKファイルをスナップショットとしてインポートします。
    コマンド後に表示されるJSONから "SnapshotId" および "ImportTaskId" の値は後ほど使うため控えておきます。
    # ロール名を設定した"vmimport"以外の名前で作成した場合は、--role-nameオプションのロール名を変更します。
    $ aws ec2 import-snapshot --role-name vmimport --disk-container Format=VMDK,Url=s3://<S3バケット名>/<VMDKファイル名>
    進捗は以下のコマンドで進捗を確認できます。
    スナップショットへの変換が完了するまで4、5分ほどかかります。
    # Statusに、処理中の間は "Pending"、完了すると "conpleted"、エラー時は "deleted" と表示されます。 
    $ aws ec2 describe-import-snapshot-tasks --import-task-ids <ImportTaskId>
  2. 次のコマンドを実行し、スナップショットをAMIとして登録します。
    $ aws ec2 register-image --name <任意のAMI名> --virtualization-type hvm --architecture x86_64 --boot-mode legacy-bios --ena-support --imds-support v2.0 --root-device-name /dev/sda1 --block-device-mappings DeviceName=/dev/sda1,Ebs={SnapshotId="<SnapshotId>"}
  3. EC2を開きます。
    左側メニューの「AMI」をクリックし、先ほど登録したAMIが存在することを確認してください。
  4. AMIの登録が完了したら、S3にアップロードしたVMDKファイルは不要なので、削除します。

EC2 インスタンスにEPSを作成

  1. EC2を開きます。
    左側メニューの「AMI」をクリックし、先ほど登録したAMIの「AMI ID」をクリックします。
  2. 「AMIからインスタンスを起動」をクリックします。
  3. EPSを作成します。
    インスタンスタイプはモデルごとに異なりますので、適切なインスタンスタイプを選択して下さい。
    モデル番号 EPS-SX15A-W EPS-ST06A-W EPS-DX05A-W
    OSディスク 3GiB
    インスタンスタイプ t3.small
     - vCPU数:2
     - RAM:2GiB

    m6i.large
     - vCPU数:2
     - RAM:8GiB

    m6i.xlarge
     - vCPU数:4
     - RAM:16GiB
    データディスク - - 96GiB
    ネットワークインターフェース数 1
    ※弊社動作確認済み環境です。

    「高度なネットワーク設定」をクリックし、EPSにプライベートIPアドレスを割り当てます。

    [ストレージを設定]では「gp3」を選択します。

    DX05モデルの場合、データディスクの追加を行います。
    「新しいボリュームを追加」をクリックし、96GiBを追加してください。

    設定後、「インスタンスを起動」をクリックします。

以上でEPSの作成が完了しました。

EPSの管理画面へアクセス

Webブラウザ(Google Chrome もしくは Microsoft Edge)のアドレスバーに先ほど設定したプライベートIPアドレスを入力し、EPSの管理画面にアクセスできることを確認してください。(接続時にセキュリティ警告が表示されますが無視してください。)

⚠ 利用上の注意

AWS上にDX05モデルを構築する場合、
仮想マシンを起動後、EPSのシステム管理ページの「管理 > ストレージ管理」ページでフォーマットおよびマウントを行ってシステム再起動してください。

その他

AMIは無料ですが、元となるスナップショットの容量には料金が発生します。
EPSを作成した後、不要になったAMIやスナップショットは削除してください。

AMIを削除する

EC2を開きます。
左側メニューの「AMI」をクリックし、作成したAMIを選択してください。
「アクション」をクリックし、「AMIを登録解除」を選択してください。

「関連付けられたスナップショットの削除」を開き、AMIに関連付けられているスナップショットのIDを控えておいてください。
「AMIの登録解除」をクリックします。

スナップショットを削除する

EC2を開きます。
左側メニューの「スナップショット」をクリックし、先ほど控えたスナップショットのIDを選択します。

AWS版EPSに関する注意事項 / 制限事項

AWS版EPSに関する注意事項 / 制約事項に関してはリリースノートをご確認ください。


記事を書いた人

ソリトンシステムズ・テクニカルチーム