【Security Hub修復手順】[RDS.18] RDS インスタンスは VPC 内にデプロイする必要があります
こんにちは、AWS事業本部のトクヤマシュンです。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。
本記事の対象コントロール
[RDS.18] RDS インスタンスは VPC 内にデプロイする必要があります
[RDS.18] RDS instances should be deployed in a VPC
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。
修復手順
1.ステークホルダーに確認
まずはステークホルダー(Amazon RDSインスタンスの管理者、Amazon RDSに接続するアプリの開発・運用者など)に以下を確認します。
- RDSインスタンスをVPC内にデプロイしても問題ないか?
- 問題ある場合
- 何が問題なのか深掘りを行い、早急に移行をオススメします
- 本コントロールに抵触するRDSインスタンスはEC2-Classicプラットフォームに存在します
- EC2-Classicは2022年08月15日に廃止済みで、2023年現在にはインスタンスは原則存在しないはずですが、もし存在する場合はVPC内へのデプロイを前提に移行計画を立てましょう
- 何が問題なのか深掘りを行い、早急に移行をオススメします
- 問題ない場合
- ダウンタイムは認めらるか?
- 認められる:
2.VPC内へのマイグレーション(ダウンタイムあり)
に進んでください - 認められない:
3.VPC内へのマイグレーション(ダウンタイムなし)
に進んでください
- 認められる:
- ダウンタイムは認めらるか?
- 問題ある場合
2.VPC内へのマイグレーション(ダウンタイムあり)
ダウンタイムありの場合のマイグレーション方法を簡単にまとめます。
詳細はVPC 外の DB インスタンスを VPC 内に移行するをご確認ください。
2.1 VPC・サブネット作成
移行先のVPCが存在しない場合、VPCを作成しておきます。
Amazon RDSインスタンスをデプロイする、最低2つの異なるアベイラビリティーゾーンを持つサブネットも、必要に応じて作成します。
2.2 サブネットグループ作成
DBサブネットグループが存在しない場合、DB サブネットグループを作成します。
2.3 VPCセキュリティグループ作成
続いて、Amazon RDSインスタンスに割り当てるためのVPCセキュリティグループを作成します。
セキュリティグループのインバウンド・アウトバウンドルールは既存のAmazon RDSインスタンスと同様の許可ポリシーとなるよう設定してください。
2.4 DBインスタンスのVPCの更新
既存DBインスタンスに対してDBインスタンスのVPCの更新を行い、対象のVPC内にAmazon RDSインスタンスをデプロイします。
移行の際にはダウンタイムが発生しますので、ご注意ください。
必要に応じてDBに接続しているアプリケーションの接続先変更も行ってください。
以上でVPC内へのマイグレーション(ダウンタイムあり)は完了です。
なお、移行の際には次の制約を確認してください。
- マルチAZ
- VPC外のマルチAZインスタンスはVPC内へ移行できません
- 事前にシングルAZ配置に変更し、VPC内へ移行してからマルチAZ配置に戻す必要があります
- リードレプリカ
- VPC外のリードレプリカ有りのAnazib RDSインスタンスはVPC内へ移行できません
- 事前にすべてのリードレプリカを削除し、VPC内へ移行してからリードレプリカを追加する必要があります
- オプショングループ
- カスタムオプショングループの使用が必要な場合は、事前に作成の上でVPC移行時にDBインスタンスに関連付ける必要があります
- インスタンスクラス
- 前の世代の DB インスタンスクラスは、VPC プラットフォームではサポートされない場合があります
- DBインスタンスを移動した後はVPCでサポートされるRDSインスタンスタイプに変更しましょう
3.VPC内へのマイグレーション(ダウンタイムなし)
ダウンタイムを抑える場合、下記のいずれかを実施してください。
- AWS DMS(Database Migration Service)の利用
- VPC内にRDSインスタンスを作成し、VPC外のRDSインスタンスをソースDBとしてレプリケーションします
- インデックスや、ユーザー、権限、ストアドプロシージャ、テーブルデータなどは移行されないためご注意ください
- 詳細はAWS Database Migration Serviceを参照してください
- DB スナップショットの復元またはポイントインタイムリカバリ
- VPC外のAmazon RDSインスタンスのスナップショットを復元するか、ポイントインタイムリカバリによって特定の時点に復元することによって、VPC内にインスタンスを構築します
- 最新のDBとのデータ差異が発生する場合があるので、ご注意ください
- 詳細はDB スナップショットからの復元および特定の時点への DB インスタンスの復元を参照してください
修復確認
マネジメントコンソールからAmazonRDS
→データベース
にアクセスし、対象のDBインスタンスのVPC列にVPC IDの記載があれば、インスタンスがVPC内に存在することを確認できます。
この状態であれば、修復は完了です。
最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。
以上、トクヤマシュンでした。
クラスメソッドメンバーズをご契約の皆さまに
AWS Security Hub 「基礎セキュリティのベストプラクティス」の各チェック項目(コントロール)に対する弊社としての推奨対応やコメントを記載しているClassmethod Cloud Guidebookを提供しています。 クラスメソッドメンバーズポータルの「お役立ち情報」→「組織的な AWS 活用のためのノウハウ」からご参照ください。