
「AWS運用入門」読んでみた~その③~
2023/4/1に発売された「AWS運用入門」を購入したので、勉強のため、アウトプットします!
その①、②はこちら
その②でChapter3「運用において押さえておくべきAWSサービス」について書いたのですが、Amazon RDSのところをもうちょっと掘り下げて書こうと思います!
Amazon RDSとは
Amazon Relational Database Service (Amazon RDS) は、クラウド内でデータベースのセットアップ、運用、およびスケールを簡単に行うことのできるマネージド型サービスの集合体です。
殆どの部分をAWSが勝手に管理してくれるマネージドのDBサービスで、スケーラビリティのことなどもAWSが管理してくれる。
MySQLやPostgreSQLなどのRDBにも対応している。
もちろん、Amazon独自のAmazon Auroraも使えるのですが、これの性能がすごい。
公式サイトにも説明ありますが、MySQLやPostgreSQLと互換性がありつつ、処理性能がMySQLの5倍あるそうです。
Amazon Aurora は、組み込みのセキュリティ、継続的なバックアップ、サーバーレスコンピューティング、最大 15 のリードレプリカ、自動化されたマルチリージョンレプリケーション、および他の AWS のサービスとの統合を提供します。
RDSの冗長化
まず冗長化とは何やねんということですが、以下のように定義されています。
冗長化とは、システムや設備について、性能や構成・データの内容などが同一のスペアを準備しておくことです。冗長化しておくことで、システムや設備に不測の事態があっても、運用や業務を止めることなく復旧や対応をすることができるので、損失などの影響を最小限に抑えることができます。
RDSの冗長化によって、もし1つのRDSが使えなくなった時にスペアのRDSに切り替え、データの取得エラーなどを発生させないようにする、といったことができます。
冗長化に関する用語が沢山あるので、以下まとめていきます。
マルチAZ配置:
マルチAZ配置は、Amazon RDSにおいて高い可用性と耐久性を提供する機能です。これにより、プライマリデータベースインスタンスと同期的にスタンバイレプリカが別のアベイラビリティーゾーン(AZ)に自動的に作成されます。障害が発生した場合、Amazon RDSは自動的にスタンバイレプリカに切り替え、アプリケーションのダウンタイムを最小限に抑えます。
フェールオーバー:
フェールオーバーは、システムの障害やダウンタイムが発生した際に、自動的にバックアップシステムやスタンバイインスタンスに切り替えるプロセスです。これにより、アプリケーションの可用性が維持され、サービスの中断が最小限に抑えられます。Amazon RDSのマルチAZ配置では、プライマリデータベースインスタンスと同期的にスタンバイレプリカが別のアベイラビリティーゾーン(AZ)に作成され、フェールオーバーが自動的に行われます。
エンドポイント(FQDN):
エンドポイント(Fully Qualified Domain Name)は、インターネット上のリソース(サーバーやデータベースなど)にアクセスするために使用される、一意のドメイン名です。エンドポイントは、IPアドレスを人間が理解しやすい形式に変換する役割を果たします。Amazon RDSでは、データベースインスタンスに対してエンドポイントが割り当てられ、アプリケーションやクライアントからデータベースにアクセスする際に使用されます。エンドポイントを使用することで、IPアドレスが変更された場合でも、ドメイン名を通じてリソースへのアクセスが継続できます。
リードレプリカ:
リードレプリカは、Amazon RDSにおいて読み取り負荷の分散やデータベースのスケーラビリティを向上させる機能です。リードレプリカは、プライマリデータベースインスタンスから非同期でレプリケートされ、読み取り専用のデータベースインスタンスとして使用されます。これにより、読み取りクエリのパフォーマンスが向上し、プライマリデータベースインスタンスへの負荷が軽減されます。
DBサブネットグループ:
DBサブネットグループは、Amazon RDSデータベースインスタンスが配置されるAmazon VPC内のサブネットの集合です。DBサブネットグループを使用することで、データベースインスタンスが特定のサブネット内に配置され、ネットワークトラフィックやアクセス制御が適切に管理されることが保証されます。これにより、セキュリティとネットワークパフォーマンスが向上します。