今回の発表により、Amazon Relational Database Service (RDS) DBインスタンスを、 Virtual Private Cloud (VPC)の中で利用可能になりました。東京リージョンも含め、世界中の全公開リージョンで、VPCの中でRDSを活用できます。
今回の発表の背景
まずは簡単にRDSとVPCを復習しましょう。
RDSを用いると、リレーショナルデータベースの運用の手間を大幅に削減できます。ハードウェアの調達や設定、OSやデータベースのインストール、バックアップについて心配する必要が無くなります。さらに、冗長構成、障害時のフェールオーバーの設定、計算処理能力やストレージ容量の変更すら、簡単にできるようになります。RDSについては、日本語のセミナー資料、ハンズオン資料もご参照ください。

Virtual Private Cloudは、AWSクラウドの中に、プライベートで隔離された領域を作成します。VPCの中で、IPアドレスの範囲、サブネット、ルーティングテーブル、ネットワークゲートウェイ等の作成、編集を自由にできるので、まさに仮想ネットワーキングとも呼ぶべきサービスです。VPCに関しては、日本語のセミナー資料もご参照ください。

VPC内にRDSを作成するステップ
VPCの中にRDS DBインスタンスを起動するには、まずVPCを作成し、必要なサブネットを作成しIPアドレスの範囲を割り当てる必要があります。これらの設定は、上記の図にあるVPCのウィザードを利用しても設定できますし、コマンドラインツール、APIでも実施できます。
その後、DBサブネットグループ (DB Subnet Group)を作成します。DBインスタンスは、サブネットグループが指定しているサブネットの中のみで稼働させることができます。サブネットグループを作成する際に、利用しているリージョンの各アベイラビリティゾーン毎に少なくとも一つのサブネットを持っておいたほうが良いでしょう。RDSのマルチAZデプロイメントを利用する際に、スタンバイのDBを他のアベイラビリティゾーンで稼働させることが可能になります。たとえ、マルチAZを使わない場合でも、将来マルチAZを使うケースに備えて、各ゾーン毎に一つのサブネットを持っておきましょう。
次に、DBセキュリティグループを作成します(既存のものを使うことももちろん可能です)。DBセキュリティグループにより、DBインスタンスへのアクセスをコントロールできます。特定のEC2セキュリティグループ、もしくは、VPCセキュリティグループに属しているEC2インスタンスからのみアクセスを許可したり、特定のIPアドレスレンジからのみアクセスを許可できます。必要に応じて、VPCサブネットと関連するアクセスコントロールリスト(ACL)を用いることもできます。VPCの中ではより詳細なコントロールと柔軟性を持つことができるのです。
そして最後に、VPCの中でDBインスタンスを起動します。その手順の中で、DBサブネットグループとDBセキュリティグループを指定します。今回の発表では、MySQLのDBエンジンを用いることができます。今後、他のDBもサポートする予定です。DBインスタンスは、DBサブネットグループの範囲内のIPアドレスを利用する一つのElastic Network Interface(仮想ネットワークインタフェース)を持ちます。そのIPアドレスを使ってDBにアクセスすることも可能ですが、IPアドレスはマルチAZを用いた場合は変更し得るのでDBのDNS名を用いてアクセスすることを推奨します。
VPCへの移行
これまでRDS DBインスタンスを (VPCの外で)利用してきた方のVPCへの移行方法ですが、既存のDBインスタンスのスナップショットを取得し、スナップショットからDBインスタンスをVPCの中に作成することで、移行を行うことができます。注意点として、VPCの中で取得したスナップショットに対しては、VPCの外からアクセスできないことに気をつけてください。これは、セキュリティ上の理由で制限をかけています。
ユースケース
VPCの中でRDSが使えるようになったことにより、様々なユースケースが考えられます:
- VPC内のプライベートDBインスタンス - これはもっとも単純なユースケースで、インターネットの外からDBへのアクセスを全く考えていない場合に適しているでしょう。
- 外向けのWebアプリケーションが使うプライベートDB - Webアプリ用のサーバをパブリックサブネットに置き、DBインスタンスをインターネットアクセスを持たないプライベートサブネットに置きます。この場合、RDS DBインスタンスは、パブリックなIPアドレスを持たないことになります。
さあ使ってみましょう!
今回の発表により、東京リージョンで、VPC内のRDSも利用できるようになりました。VPC内ではEC2はもちろんのこと、ELBも利用可能になっていますので、多くのアプリケーションでVPCを活用できます。VPCの作成やサブネットの作成そのものは無料です。実際にVPC内にEC2やRDSのリソースを作成したときのみ通常の料金がかかります。是非、VPCを利用してみて、その柔軟性、利便性、コントロールの高さを感じてみてください!VPCに関する日本語詳細資料はこちら(AWSマイスターシリーズ日本語資料)からご利用ください。
玉川憲 (@KenTamagawa)

コメント