1.3. AWS VPN の設定

このサンプルプロセスでは、Amazon Web Services (AWS) Red Hat OpenShift Service on AWS を、お客様のオンサイトのハードウェア VPN デバイスを使用するように設定します。

注記

現時点で AWS VPN は、NAT を VPN トラフィックに適用するための管理オプションを提供しません。詳細は、AWS Knowledge Center を参照してください。

注記

プライベート接続を使用したすべてのトラフィックのルーティング (0.0.0.0/0 など) はサポートされていません。この場合は、SRE 管理トラフィックを無効にするインターネットゲートウェイを削除する必要があります。

ハードウェア VPN デバイスを使用して AWS VPC をリモートネットワークに接続する方法は、Amazon VPC の VPN Connections ドキュメントを参照してください。

1.3.1. VPN 接続の作成

以下の手順に従って、Amazon Web Services (AWS) Red Hat OpenShift Service on AWS クラスターを、お客様のオンサイトのハードウェア VPN デバイスを使用できるように設定できます。

前提条件

  • ハードウェア VPN ゲートウェイデバイスモデルおよびソフトウェアバージョン (例: Cisco ASA バージョン 8.3 を実行)。Amazon VPC の ネットワーク管理者ガイド を参照して、お使いのゲートウェイデバイスが AWS でサポートされているかどうかを確認します。
  • VPN ゲートウェイデバイスのパブリック静的 IP アドレス。
  • BGP または静的ルーティング: BGP の場合は、ASN が必要です。静的ルーティングの場合は、1 つ以上の静的ルートを設定する必要があります。
  • オプション: VPN 接続をテストするための到達可能なサービスの IP およびポート/プロトコル。

1.3.1.1. VPN 接続の設定

手順

  1. AWS の AWS Account Dashboard で Red Hat OpenShift Service にログインし、VPC Dashboard に移動します。
  2. Your VPCs をクリックし、Red Hat OpenShift Service on AWS クラスターが含まれる VPC の名前および VPC ID を特定します。
  3. VPC Dashboard から、Customer Gateway をクリックします。
  4. Create Customer Gateway をクリックし、これに意味のある名前を指定します。
  5. ルーティング方法 (Dynamic または Static) を選択します。
  6. Dynamic の場合は、表示されるフィールドに BGP ASN を入力します。
  7. VPN ゲートウェイエンドポイント IP アドレスに貼り付けます。
  8. Create をクリックします。
  9. 仮想プライベートゲートウェイが目的の VPC に割り当てられていない場合:

    1. VPC Dashboard から、Virtual Private Gateway をクリックします。
    2. Create Virtual Private Gateway をクリックし、意味のある名前を指定して Create をクリックします。
    3. デフォルトの Amazon デフォルト ASN のままにします。
    4. 新たに作成したゲートウェイを選択し、Attach to VPC をクリックし、これを以前に指定したクラスター VPC に割り当てます。

1.3.1.2. VPN 接続の確立

手順

  1. VPC Dashboard から、Site-to-Site VPN Connections をクリックします。
  2. Create VPN Connection をクリックします。

    1. これに意味のある名前タグを指定します。
    2. 以前に作成した仮想プライベートゲートウェイを選択します。
    3. Customer Gateway については、Existing を選択します。
    4. 名前でカスタマーゲートウェイデバイスを選択します。
    5. VPN が BGP を使用する場合は Dynamic を選択し、それ以外の場合は Static を選択します。静的 IP CIDR を入力します。複数の CIDR がある場合は、各 CIDR を Another Rule として追加します。
    6. Create をクリックします。
    7. VPN のステータスが Available に変更するまで待機します (約 5 分から 10 分)。
  3. 作成したばかりの VPN を選択し、Download Configuration をクリックします。

    1. ドロップダウンリストから、カスタマーゲートウェイデバイスのベンダー、プラットフォーム、およびバージョンを選択し、Download をクリックします。
    2. Generic ベンダー設定は、プレーンテキスト形式で情報を取得する場合にも利用できます。
注記

VPN 接続が確立されたら、Route Propagation をセットアップしてください。セットアップしない場合、VPN が予想通りに機能しない可能性があります。

注記

VPC サブネット情報をメモします。これは、リモートネットワークとして設定に追加する必要があります。

1.3.1.3. VPN ルート伝播の有効化

VPN 接続を設定したら、必要なルートが VPC のルートテーブルに追加されるように、ルートの伝播が有効にされていることを確認する必要があります。

手順

  1. VPC Dashboard から、Route Tables をクリックします。
  2. Red Hat OpenShift Service on AWS クラスターが含まれる VPC に関連付けられたプライベートルートテーブルを選択します。

    注記

    クラスターによっては、特定の VPC に複数のルートテーブルが存在する場合があります。明示的に関連付けられた多数のサブネットを持つプライベートのルートテーブルを選択します。

  3. Route Propagation タブをクリックします。
  4. 表示される表に、以前に作成した仮想プライベートゲートウェイが表示されるはずです。Propagate column の値を確認します。

    1. Propagate (伝播) が No に設定されている場合は、Edit route propagation をクリックし、仮想プライベートゲートウェイの名前の横にある Propagate チェックボックスを確認して Save をクリックします。

VPN トンネルを設定し、AWS がこれを Up として検出すると、静的ルートまたは BGP ルートは自動的にルートテーブルに追加されます。

1.3.2. VPN 接続の確認

ご使用の側から VPN トンネルを設定した後に、そのトンネルが AWS コンソールで稼働していること、およびトンネル全体で接続が機能していることを確認します。

前提条件

  • VPN 接続を作成します。

手順

  1. トンネルが AWS で稼働していることを確認します。

    1. VPC Dashboard から、VPN Connections をクリックします。
    2. 以前に作成した VPN 接続を選択し、Tunnel Details タブをクリックします。
    3. 1 つ以上の VPN トンネルが Up になっていることを確認できます。
  2. 接続を確認します。

    エンドポイントデバイスへのネットワーク接続をテストする場合のトラブルシューティングツールとしては、nc (または netcat) が役に立ちます。これはデフォルトのイメージに含まれ、接続を確立できる場合に迅速かつ明確に出力を提供します。

    1. busybox イメージを使用して一時的な Pod を作成します。これは後で自身をクリーンアップします。

      $ oc run netcat-test \
          --image=busybox -i -t \
          --restart=Never --rm \
          -- /bin/sh
    2. nc を使用して接続を確認します。

      • 正常な接続の結果の例:

        / nc -zvv 192.168.1.1 8080
        10.181.3.180 (10.181.3.180:8080) open
        sent 0, rcvd 0
      • 失敗した接続の結果の例:

        / nc -zvv 192.168.1.2 8080
        nc: 10.181.3.180 (10.181.3.180:8081): Connection refused
        sent 0, rcvd 0
    3. コンテナーを終了します。これにより、Pod が自動的に削除されます。

      / exit

1.3.3. VPN 接続のトラブルシューティング

トンネルが接続されていない

トンネル接続がまだ ダウン している場合は、以下を確認できます。

  • AWS トンネルは VPN 接続を開始しません。接続の試行はカスタマーゲートウェイから開始する必要があります。
  • ソーストラフィックが、設定されたカスタマーゲートウェイと同じ IP から送信されることを確認します。AWS は、ソース IP アドレスが一致しないゲートウェイへのすべてのトラフィックを通知なしでドロップします。
  • 設定が AWS でサポートされる 値と一致することを確認します。これには、IKE バージョン、DH グループ、IKE ライフタイムなどが含まれます。
  • VPC のルートテーブルを再確認します。伝播が有効で、先にターゲットとして作成した仮想プライベートゲートウェイを持つルートテーブルにエントリーがあることを確認します。
  • 中断が発生する可能性があるファイアウォールルールが存在しないことを確認します。
  • ポリシーベースの VPN を使用しているかどうかを確認します。これを使用している場合は、その設定によっては複雑な状態が生じる可能性があります。
  • トラブルシューティングの手順についての詳細は、AWS ナレッジセンター を参照してください。
トンネルが接続状態にならない

トンネル接続を一貫して Up の状態にすることができない場合は、すべての AWS トンネル接続がゲートウェイから開始される必要があることに注意してください。AWS トンネルは トンネリングを開始しません

Red Hat は、ご使用の側から SLA モニター (Cisco ASA) または一部のデバイスをセットアップすることを推奨しています。これにより、VPC CIDR 範囲内で設定されるすべての IP アドレスで、 pingnctelnet などの対象 (interesting) トラフィックが絶えず送信されます。接続が成功したかどうかにかかわらず、トラフィックがトンネルにダイレクトされます。

Down 状態のセカンダリートンネル

VPN トンネルが作成されると、AWS は追加のフェイルオーバートンネルを作成します。ゲートウェイデバイスによっては、セカンダリートンネルが Down 状態として表示される場合があります。

AWS 通知は以下のようになります。

You have new non-redundant VPN connections

One or more of your vpn connections are not using both tunnels. This mode of
operation is not highly available and we strongly recommend you configure your
second tunnel. View your non-redundant VPN connections.