🎆

ローカルからAWS Client VPN経由でPrivate Subnet内のAurora DBに接続してみた

2022/06/24に公開

はじめに

みなさん、AWSのAuroraやRDSに接続する時にどんな方法で接続していますか?私の場合、つい最近まで踏み台サーバー(bastion)経由でSSHトンネルを使っていました。この方法だと少し煩わしかったので、もっと便利な方法がないか探したら、AWS Client VPNに辿り着き、VPNに接続するだけで繋がるようになりましたので、その設定方法について共有したいと思います。

AWS Client VPNとは

公式ドキュメントはこちらをご参考ください。

一言でいうと、AWSのリソースに安全にアクセスできるマネージドVPNサービスです。(オンプレ環境のリソースアクセスにも対応できるらしいです。)

AWS Client VPN構築

クラスメソッドにとても丁寧な記事がありますので、ご参考ください。
[AWS]踏み台をワンチャンなくせる!?VPC接続にClient VPNを使ってみよう

構築完了したら、次へ進みください。

今回の構成

Auroraへ接続設定

AWS Client VPNエンドポイント用のSecurity Group作成

まず、Aurora側でAWS Client VPNエンドポイントからのInboundを許可するために、AWS Client VPNエンドポイント用のSecurity Groupが必要です。下記がAWS Client VPNエンドポイント用のSecurity Groupです。


Security Group作成完了したら、AWS Client VPNエンドポイントのSecurity Groupとして設定してください。

Aurora側のSecurity GroupでInbound許可

上記で作成したAWS Client VPNエンドポイントのSecurity GroupにDBのPortへのInbound許可を追加します。

AWS Client VPNエンドポイントにDBのsubnet関連付けを追加

エンドポイントのネットワーク関連付けでDBのVPCとSubnetを指定して追加します。

AWS Client VPNエンドポイントに承認ルール追加

DBのSubnetへの承認ルールを追加します。

これで設定は完了です。

ユースケース

VPNに接続するだけで、DBのHostとしてAuroraのエンドポイントをそのまま使えます。

  • flywayでマイグレーション
  • psql,TablePlus等のツールで接続

注意事項

  • 関連付けごとに $0.15/h がかかる(VPNに接続してなくても)
  • VPN接続時間料金 $0.05/h
  • 多数のユーザーが短期間で接続・切断繰り返すと料金が増える
  • 使わ終わったらちゃんと切っておく

最後に

一度設定してしまうと、その後はVPN接続するだけで繋がるので、踏み台経由よりだいぶ利便性が上がったと思いますが、いかがでしょうか?
引き続きDevOpsの利便性向上のためのツール導入をして行きたいと思います。少しでもご参考になれれば幸いでございます。

Discussion