AWS Client VPNからVPC Peeringで接続した先のリソースにアクセスしてみた

AWS Client VPNからVPC Peeringで接続した先のリソースにアクセスするための設定手順を紹介します。
2023.02.07

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

はじめに

ネクストモードの南です。

先日以下の要件でAWS Client VPNを構築する機会がありました。

  • AWS Client VPNで接続したクライアントから、VPC Peeringで接続した先のリソースにアクセスする
  • AWS Client VPNはスプリットトンネルを有効化

設定内容については以下の公式ドキュメントに案内されており、こちらを参考にして対応を進めました。
備忘も兼ねて手順をまとめましたので、本エントリで紹介をしていきたいと思います。

構成

構成は以下のようになります。
すでに以下の環境があるものとして、ここからClient VPNでPeering先VPCのリソースにアクセス(オレンジ色の矢印の経路)ができるように設定を進めていきます。

  • Client VPN用VPC
    • CIDR:10.0.0.0/16
  • Peering先VPC
    • CIDR:192.168.0.0/16
    • 接続先リソースのEC2をサブネット(192.168.120.0/24)に配置
  • AWS Client VPN
    • Client CIDR:172.16.0.0/22
    • ターゲットネットワーク:10.0.110.0/24(Client VPN用VPCのサブネット)
  • VPC Peering
    • Client VPN用VPCとPeering先VPC間で設定

また、今回の対応はクライアントVPNエンドポイントでスプリットトンネルを有効化している場合にのみ必要となります。
(スプリットトンネルを無効化している場合はPeering先のVPCへのアクセスがデフォルトで許可されているため対応不要となります。)

AWS Client VPN、VPC Peeringの設定については以下の公式ドキュメントやハンズオンをご参照ください。

手順

まずは承認ルールの追加をします。

AWSマネージメントコンソールから[クライアントVPNエンドポイント]の画面を開き、作成したエンドポイントを選択して[承認ルール]のタブをクリックします。
Peering先のネットワークが既存のルールに含まれていない場合は、[認証ルールを追加]をクリックしてルールの追加をしていきます。

  • 補足:既存のルールの[送信先CIDR]が0.0.0.0/0となっている場合は全ネットワークの許可となるため、[承認ルール]の設定は不要です。

[アクセスを有効にする送信先ネットワーク]にPeering先のネットワークアドレスを入力します。(今回はPeering先VPCのCIDRとなる192.168.0.0/16を入力。)
また、アクセス権は要件に応じて選択します。(今回は全ユーザに許可)
入力が完了したら[認証ルールを追加]をクリックします。

追加したルールの状態がActiveになるまでしばらく待ちます。

続いて、クライアントVPNエンドポイントのルートテーブルにルートを追加します。

[クライアントVPNエンドポイント]の画面から[ルートテーブル]のタブをクリックします。
Peering先のネットワークが含まれるルートがない場合は、[ルートを作成]をクリックしてルートの追加をしていきます。

[ルート送信先]にPeering先のネットワークアドレスを入力します。(今回はPeering先VPCのCIDRとなる192.168.0.0/16を入力。)
また、[ターゲットネットワーク関連付けのサブネットID]にはエンドポイントに設定しているターゲットネットワークのネットワークIDを選択します。
入力が完了したら[ルートを作成]をクリックします。

  • 補足:クライアントVPNエンドポイントに設定しているターゲットネットワーク

追加したルールの状態がActiveになったことを確認します。

以上でクライアントVPN側の設定は完了です。

また、接続先となるPeering先のリソースに対して、トラフィックの許可が適切に設定されていることを確認します。
今回は接続先のリソースとしてEC2インスタンスを用意しました。
EC2に設定しているセキュリティグループのインバウンドルールに、クライアントVPNエンドポイントのセキュリティグループを許可しています。

実際に接続確認をしていきます。
自端末でVPN Clientを起動してクライアントVPNエンドポイントに接続してから、Peering先のEC2にアクセスしてみます。

問題なくアクセスすることができました。

参考

ピア接続先VPCへのアクセス - AWSクライアントVPN

ネクストモードについて

ネクストモード株式会社は東日本電信電話株式会社とクラスメソッド株式会社で設立したクラウドカンパニーです。「クラウドであたらしい働き方を」というメッセージを掲げ、さまざまなクラウド技術や製品を組み合わせて企業の働き方の当たり前を変えていくことを目指しています。クラウドやSaaSのご利用に関してお困りごとがあれば、ネクストモードまでぜひお問い合わせください。

また、クラスメソッドでは一緒にネクストモードを盛り上げていただけるメンバーを募集しています。少しでもご興味あればこちらの募集要項をご覧ください。