こんにちは、ちゃりおです。
SaasのサービスからPrivateサブネットにあるDBに接続したいことがありました。
踏み台サーバのSSHポートフォワードでやりたかったのですが、Saasのサービスが対応していませんでした。
結局、PublicサブネットにそれようのDBを作るのが良さそうでした。
その際に、Privateサブネットに接続する方法を洗い出したので書いて見ます。
踏み台サーバを使用する
SSHポートフォワード
踏み台サーバからRDSに接続することが可能なら、SSHポートフォワードで接続することができます。
$ sudo ssh -L 3306:RDSのエンドポイント:3306 ec2-user@bastionのグローバルIPアドレス -i ec2のキーペア
iptablesを使ってポート転送
SSHポートフォワードができない環境では、iptablesを使った方法があります。
ただ、AmazonLinux2にはiptablesが入っていないのでインストールする手間があります。
VPNを使用する
VPCとオンプレ環境でVPNをはる方法です。
必要な作業は2つです。
- VPC内に仮想プライベートゲートウェイを作成する
- カスタマーゲートウェイの設定をダウンロードし、対向側のルータに設定する
DirectConnetを使用する
VPCとオンプレで専用線でつなぐサービスです。
AWS Direct Connect は、お客様の内部ネットワークを AWS Direct Connect ロケーションに、標準のイーサネット光ファイバケーブルを介して接続するサービスです。ケーブルの一端がお客様のルーターに、他方が AWS Direct Connect のルーターに接続されます。この接続を使用すると、パブリックな AWS のサービス (Amazon S3 など) または Amazon VPC への仮想インターフェイスを直接作成できるため、お客様のネットワークパスの中でインターネットサービスプロバイダーをバイパスできるようになります。AWS Direct Connect ロケーションとは、対応するリージョンでの AWS へのアクセスの中継地となるものです。パブリックリージョン または AWS GovCloud (US) の単一の接続を使用して、他のすべてのパブリックリージョンのパブリック AWS のサービスにアクセスすることができます。
まとめ
EC2につなぐとかだったらSSMを使うことも可能ですね。
Privateサブネットにつなぐにも様々な方法があります。
ユースケースにあったものを選んでいきたいと思います。