share facebook facebook facebook twitter twitter menu hatena pocket slack

2019.08.26 MON

AWS Client VPN設定のハマりどころ

河村 敏貴

WRITTEN BY 河村 敏貴

AWS Client VPNが東京リージョンでも使えるようになりましたね。
これでVPNサーバを立てる手間が減らせるので、費用面は考慮しつつうまく活用していきたいですね。
今回はClient VPNを検証した際に設定でわかりにくかった箇所があったので備忘録として残しておきたいと思います。

Client VPN設定方法

設定方法については、AWSのドキュメントやブログで色々出ていますのでそれを参照して設定してください。
クライアント VPN の使用開始 – AWS Client VPN
[AWS]踏み台をワンチャンなくせる!?VPC接続にClient VPNを使ってみよう | DevelopersIO

構成

以下の構成で検証しました

ハマったポイント

設定後にClient端末からSSHが通らない

VPNは正常に接続できるものの、SSH接続ができない状態となりました。
ルーティングについてはドキュメント通りに設定しており、NACLについては特に設定していませんでした。
セキュリティグループについては、VPCE、EC2のSGそれぞれで以下のとおりClientのCIDR範囲を許可していました。

■SG_VPCE

Port Source
22 192.168.0.0/16

■SG_EC2

Port Source
22 192.168.0.0/16

設定に問題がないか再確認しつつ、切り分けのためにいったんそれぞれのSGを0.0.0.0でフル解放してSSH接続してみました。
結果は接続が成功し、secureログで接続元のIPを確認すると、172.31.16.xxxとなっておりClientVPNのVPCEndpointのIPであることが分かりました。
Client VPNでの接続については、Client端末の接続がVPCEndpointのIPでNatされるようなので、Client端末のIPをSGで許可しても意味がありませんでした。

上記を踏まえて、以下のようにSGを設定しました。

■SG_VPCE

Port Source
22 192.168.0.0/16

■SG_EC2

Port Source
22 SG_VPCE

Client端末からインターネット接続できない

SSH接続ができない問題を対応中に、Client端末からインターネット接続をしようとしましたがドキュメントどおりの設定ではインターネット接続ができないようになっていました。
ルーティング設定かと考え、0.0.0.0/0を追加しましたが接続できませんでした。
もう少し調べたところ、承認設定に0.0.0.0/0を追加が必要になることがわかったので、設定したところVPN接続しながらインターネット接続ができるようになりました。

まとめ

AWS ClientVPNはサーバをきどうする必要もないため手軽に起動できますが、承認設定のような概念が分かりづらい設定もあり少し引っかかりました。トータルではサーバの面倒を見る必要がないという大きなアドバンテージがあるので積極的に活用していきたいと思います。

元記事はこちら

AWS Client VPN設定のハマりどころ

河村 敏貴

河村 敏貴

クラウド業界に興味を持ち、業務系のアプリエンジニアからインフラエンジニア見習いに転身しました。日々新しい技術に触れることができる環境でもがきつつも楽しい毎日を過ごしています。 河村 敏貴

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。