この記事はAWSを独学で勉強している私が特に気になった内容を留めておくものです。
インフラ素人、高校の情報のテストで赤点取った人が「なんとなく」AWSを理解することをテーマに勉強した内容や気になった内容をまとめてます。
サブネットグループとは
RDSを作成するために必要な概念です。
RDSインスタンスが稼働するサブネット、IPアドレスの範囲を定義することができます。
つまり、”このRDSインスタンスはここからここまでの範囲で稼働します”という範囲を定義するために利用します。
サブネットグループの作成
実際に作成する手順は次のような流れです。
①RDSを作成する際に利用するため、RDSメニュー>サブネットグループ>サブネットグループを作成から作成可能です。
②サブネットグループ名と動作するVPCを指定します。
このサブネットグループをどのVPC空間で利用するかを指定します。
③どのAZにまたがるか、どのサブネットを含めるかを指定します。
④サブネットグループが作成されたことを確認します。
作成自体は簡単にできます。
サブネットグループのイメージ図
図にするとこんなイメージです。
RDSは通常プライベートサブネットに配置することが多いため、複数のAZにそれぞれ作成したプライベートサブネットにまたがる形でサブネットグループを形成します。
そのうえで、下の図でいうプライベートサブネット-aにRDSを配置します。
そして、マルチAZ配置設定を「オン」にすることで、(サブネットグループで指定した範囲に含まれる)AZをまたいだレプリケーションが自動的に行われるようになります。そのため、プライマリに障害が派生した場合のフェイルオーバーも自動で行うことができます。
高可用性の実現に向けてマルチAZ配置を実現するためにも、サブネットグループの設定、しかも複数のAZにまたがった作成が欠かせません。
サブネットグループ作成時の注意点
サブネットグループは、異なるAZにまたがり、異なるAZに配置されたサブネットが最低でも2つ含まれている必要があります。
1つのAZしか含まれないような場合は、サブネットグループ作成時に次のようにエラーとなり作成することができません。
EC2インスタンスからRDSインスタンスへの接続
通常、RDSを作成したらパブリックサブネットなどに配置されたEC2インスタンスから接続できるようにしなければRDSは使い物にはなりません。
所謂、APサーバーとしてEC2インスタンスを準備し、DBサーバーとしてのRDSにEC2インスタンスから接続できるようにしなければ、アプリケーションとして成立しないということをイメージしていただければと思います。
では、実際、どのようにEC2インスタンスからRDSインスタンスへのトラフィックを許可するか。
答えは、セキュリティグループを使って、EC2とRDS間のトラフィックを制御します。
具体的には、RDSに付与するセキュリティグループを作成する際、ソース:カスタムを選択し、EC2インスタンスに割り当てたセキュリティグループを指定します。
これにより、このセキュリティグループが割り当てられたAWSリソースは、MySQLからのアクセスに対して(タイプ、プロトコル、ポート:どんなアクセスか)について、EC2インスタンスからの接続(ソース:どこからのアクセスか)を許可するという設定をすることができたことになります。
コメント