Amazon VPC環境にメンテナンス用の踏み台サーバを構築する
背景
AWSのRDSでMySQLサーバーを立てたものの、MySQL WorkbenchのようなGUIツールでデータを見たり編集したりしたい!でもインスタンスを"Publicly Accessible"にするのは怖い!
ということで、VPC内に踏み台サーバーを作って、そこ経由でRDSインスタンスに接続します。
実現方法の詳細
詳細は冒頭のクラスメソッドさんの記事を参照して頂くとして、ちょっとはまった点を記述します。
Security groupの適用ではdefaultも忘れずに。
Webサーバであれば、webとdefaultを両方適用しましょう。とあるのですが、最初はdefaultのsecurity groupの適用を忘れており、
踏み台サーバー経由のssh接続ができずに悩んでました。
defaultのsecurity groupの設定は、
となっており、最後の「グループ内のインスタンスの相互通話を許可する」が適用されないと、AWS アカウントには自動的に、Amazon EC2 インスタンスのデフォルトセキュリティグループが適用されます。インスタンスの起動時に別のセキュリティグループを指定しなかった場合、インスタンスは自動的にこのデフォルトグループで起動されます。以下は、このグループの初期設定です:デフォルトセキュリティグループ
- 着信トラフィックを許可しない
- すべての発信トラフィックを許可する
- グループ内のインスタンスの相互通話を許可する
Webサーバーのインスタンスが、踏み台サーバーからのアクセスを拒否しちゃう訳ですね。
これはRDSのsecurity groupを設定する際も忘れないように注意。