パブリックサブネットにあるRDSをプライベートサブネットに移動してみた
こんにちは、イムチェジョンです。
RDSはセキュリティのためにプライベートサブネットに作成するのを推奨しています。
しかし、RDSをパブリックサブネットに作成する場合もあると思います。
もし、既存にパブリックサブネットで作成したRDSをプライベートサブネットに移動させたい場合にはどうすればいいでしょうか。
今回のブログではサブネットグループを修正することでパブリックサブネットにあるRDSをプライベートサブネットに移動させる方法をまとめました。
アジェンダ
- 変更手順
- サブネットグループ修正
- RDSのマルチAZ設定後再起動
- RDSのマルチAZ設定を無効化
- サブネットグループ修正(2)
1. 変更手順
-> 目標 : VPC Aのパブリックサブネットにある RDSを VPC Aのプライベートサブネットに移動させる。
変更手順は下記になります。
1. サブネットグループ修正(プライベートサブネットの追加)
2. RDSのマルチAZ設定後再起動
3. RDSのマルチAZ設定を無効化
4. サブネットグループ修正(パブリックサブネット削除)
このブログではRDSの作成は省略します。
今回の手順は下記のブログをご参考しました。
2. サブネットグループ修正
まず、サブネットグループを修正します。
今回に対象のRDSは「ap-northeast-1a」に存在します。
また、サブネットグループは「rds-subnetgroup」に設定されています。
「rds-subnetgroup」に含まれているサブネットはすべてパブリックサブネットです。
サブネットグループの確認をしたので、サブネットグループにプライベートサブネットを追加します。
サブネットグループで「rds-subnetgroup」を選択して[編集]をクリックします。
[サブネットを追加]部分でAZを選択してプライベートサブネットを追加します。
この時、サブネットグループからRDSがないパブリックサブネットは削除します。
RDSがあるパブリックサブネットを残す理由は、サブネットにRDSがあると削除できないからです。
RDSがあるサブネットを削除しようとすると、次のようにエラーが出力されます。
そのため、RDSが作成されたパブリックサブネット+複数のプライベートサブネットを追加して保存します。
RDSが作成されたサブネットとプライベートだけで構成されたサブネットでサブネットグループが保存されました。
3. RDSのマルチAZ設定後再起動
次は、RDSのマルチAZ設定をします。
RDSを選択し、[変更] をクリックします。
そしてマルチAZ設定をします。
変更のスケジュールで [すぐに適用] を選択し、[DB インスタンスの変更] をクリックします。
RDSを選択して[アクション]、[再起動]をクリックします。
フェイルオーバー再起動するにチェックを入れて[確認]をクリックします。
この段階で変更されない場合もありますが、されない場合にはもう一回再起動をしてください。
再起動すると、「ap-northeast-1a」だったサブネットが「ap-northeast-1d」に変更され、プライベートサブネットに変更されます。
4. RDSのマルチAZ設定を無効化
プライベートサブネットに移行されたので、RDSのマルチAZ設定を無効化します。
先のようにRDSを編集してマルチAZ設定を無効化します。
5. サブネットグループ修正(2)
最後に、もう一度サブネット グループを修正して、残りのパブリックサブネットを削除します。
対象のサブネットグループを選択し、[編集]をクリックします。
AZを選択してパブリック サブネットを削除します。
プライベート サブネットのみを存在するサブネットグループになりました。
つまり、RDSをパブリックサブネットからプライベートサービスを移動させたのです。
ここまでがパブリックサブネット上のRDSをプライベートサブネットに移行する方法でした。