AWS認定資格 WEB問題集&徹底解説
AIプラクティショナー
AWSサービスの一つであるAmazon RDSはどんな内容なのでしょうか?また、AWS認定資格のAIプラクティショナー(AIF)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Amazon RDS(Relational Database Service)は、AWSが提供するフルマネージドなリレーショナルデータベースサービスです。 MySQL、PostgreSQL、MariaDB、Oracle、Microsoft SQL Server、Amazon Aurora(MySQL/PostgreSQL互換)のエンジンを選択でき、OSやDBソフトのインストール・パッチ適用・バックアップ・冗長化・障害復旧をAWSが代行します。
主なユースケースは、Webアプリのメインデータベース、社内システムのリフト&シフト(オンプレからの移行)、開発/テスト環境などです。インフラ運用をAWSに任せ、開発チームはアプリケーションに集中できます。 なお、大規模・高可用・高性能が必要な場合は、クラウドネイティブに再設計されたAmazon Auroraが選択肢になります。
2. 主な特徴と機能
2.1 フルマネージドな運用
OS/DBエンジンのパッチ適用、バックアップ、監視、フェイルオーバーをAWSが自動化します。 メンテナンスウィンドウでパッチやマイナーバージョンアップを適用でき(自動マイナーアップグレード可)、メジャーバージョンアップは手動で計画的に実施します。 ただしOSへのSSHログインは不可(OS権限が必要な場合はRDS Custom=Oracle/SQL Server対応を利用)。
2.2 バックアップとリカバリ
自動バックアップは1日1回のスナップショットとトランザクションログ(約5分間隔)を保持し、保持期間内(0〜35日)の任意時点へポイントインタイムリカバリ(PITR)が可能です。 手動スナップショットは明示的に削除するまで保持され、別リージョン・別アカウントへコピー/共有できます。スナップショットはS3に保存されます(PITRやスナップショットからの復元は新規インスタンスとして作成される点に注意)。
2.3 マルチAZ(高可用性)
マルチAZインスタンス配置では、別AZのスタンバイへ同期レプリケーションし、障害時にDNSエンドポイント(CNAME)の付け替えで自動フェイルオーバーします。スタンバイは読み取りには使えません(あくまで可用性向上が目的)。 マルチAZ DBクラスターでは、2つの読み取り可能なスタンバイを持ち、より短いフェイルオーバー時間と読み取りスケールを両立できます。
2.4 リードレプリカ(読み取りスケール)
非同期レプリケーションのリードレプリカで読み取り負荷を分散します(RDSは最大5、Auroraは最大15)。 別リージョンへのクロスリージョンレプリカや、レプリカをスタンドアロンDBへ昇格(promote)することも可能です。マルチAZが「可用性」、リードレプリカが「読み取り性能」と役割が異なります。
2.5 ストレージとスケーリング
ストレージタイプは汎用SSD(gp2/gp3)、プロビジョンドIOPS SSD(io1/io2)、(レガシーの)マグネティックがあります。 ストレージAutoScalingで容量がしきい値に達すると自動拡張できます(縮小は不可)。インスタンスクラス(CPU/メモリ)の変更はスケールアップ/ダウンで対応します。
2.6 接続管理(RDS Proxy)
RDS Proxyはコネクションプーリングを提供し、接続の急増(特にLambdaなどサーバーレス)に強く、フェイルオーバー時間も短縮します。認証情報はAWS Secrets Managerと統合して管理できます。
2.7 デプロイと監視
Blue/Greenデプロイで本番に近いステージング環境を作り、低リスクでバージョンアップやスキーマ変更を切り替えできます。 Performance InsightsやEnhanced Monitoring、CloudWatch Logsへのログ出力(エラー/スロークエリ等)で性能分析・監査が行えます。
3. アーキテクチャおよび技術要素
- VPCのDBサブネットグループ(複数AZのサブネット)上にDBインスタンスを作成し、セキュリティグループで接続を制御。
- マルチAZを有効にすると別AZにスタンバイが作成され、同期レプリケーション。障害時はエンドポイントが自動でフェイルオーバー先へ向く。
- 読み取り拡張が必要なら非同期のリードレプリカを追加(別リージョンも可)。
- 自動バックアップ+トランザクションログでPITR、手動スナップショットで任意時点を長期保持。
- パッチ・バックアップ・フェイルオーバーはAWSがマネージド。アプリは書き込み用/読み取り用エンドポイントへ接続。
ハードウェア調達・OS管理・パッチ・冗長化といった運用をAWSに委ね、高可用性とスケーラブルなRDBを利用できます。
4. セキュリティと認証・認可
- ネットワーク分離: プライベートサブネットに配置し、パブリックアクセスは無効が基本。セキュリティグループでアプリ層からのDBポートのみ許可。
- 保存時暗号化(KMS): 有効化するとデータ・スナップショット・バックアップ・リードレプリカも暗号化。暗号化は作成時のみ有効化可能で、既存の非暗号化DBは「スナップショットを暗号化コピー→復元」で対応。
- 転送時暗号化: SSL/TLSで接続を保護。
- IAM DB認証: MySQL/PostgreSQLでパスワードの代わりに一時トークン(約15分有効)で認証。
- 認証情報管理: AWS Secrets Managerでマスターパスワードを管理・自動ローテーション。
- 監査: エラーログ・スロークエリログ等をCloudWatch Logsへ。操作はCloudTrailで記録。
5. 料金形態
- インスタンス稼働時間: 選択したインスタンスクラスのCPU/メモリと稼働時間で従量課金。長期利用はリザーブドインスタンス(1〜3年)で割引。
- ストレージ/IOPS: タイプ(gp3/io2等)と容量、プロビジョンドIOPSに応じた課金。
- バックアップストレージ: DBサイズと同等までは無料。それを超えるバックアップ保持分は課金。
- マルチAZ: スタンバイ分のインスタンス/ストレージで概ね料金が増加。
- データ転送料: リージョン外への転送やクロスリージョンレプリカの通信で課金。
6. よくあるアーキテクチャ・設計パターン
- マルチAZで高可用性: プライマリ+スタンバイで自動フェイルオーバー。要件が厳しければマルチAZ DBクラスター。
- リードレプリカで読み取り分散: 分析・レポートクエリをレプリカへ振り分け。クロスリージョンでDRや低遅延配信。
- サーバーレス連携: Lambdaからの大量接続はRDS Proxyでプーリングし、接続枯渇を回避。
- オンプレ移行: AWS DMSで既存DBをRDSへ移行・継続レプリケーション。Direct Connect/VPNでハイブリッド接続。
- 低リスクなアップグレード: Blue/Greenデプロイで検証後に切り替え。
7. 設定・デプロイ手順(ハンズオン例)
- RDSコンソールで「データベースの作成」を開き、エンジンとテンプレート(本番/開発)を選択。
- インスタンスクラス・ストレージ(gp3など)・ストレージAutoScalingを設定し、マルチAZの有無を選択。
- VPC・DBサブネットグループ・セキュリティグループを設定し、パブリックアクセスは無効に。
- 保存時暗号化(KMS)を有効化し、認証情報はSecrets Managerで管理。
- 自動バックアップの保持期間・バックアップ/メンテナンスウィンドウを設定して作成。
- 発行されたエンドポイントへアプリから接続。必要に応じてリードレプリカやRDS Proxyを追加。
8. 試験で問われやすいポイント
8.1 マルチAZ vs リードレプリカ(最頻出)
- Q: 高可用性(HA)を実現するには?
A: マルチAZ。同期レプリケーションのスタンバイへ自動フェイルオーバー(スタンバイは読み取り不可)。 - Q: 読み取り負荷を分散したい場合は?
A: リードレプリカ(非同期)。読み取り用エンドポイントへ振り分け。 - Q: フェイルオーバー時間を短縮しつつ読み取りも使いたい場合は?
A: マルチAZ DBクラスター(読み取り可能なスタンバイ2台)。 - Q: 災害対策(DR)で別リージョンに備えるには?
A: クロスリージョンリードレプリカ、または別リージョンへのスナップショットコピー。
8.2 バックアップとリストア
- Q: 過去の任意時点に戻すには?
A: PITR(自動バックアップ+トランザクションログ、保持0〜35日)。復元は新規インスタンスとして作成される。 - Q: 特定状態を長期保持/他アカウント・他リージョンへ渡すには?
A: 手動スナップショット(削除まで保持、コピー/共有可)。 - Q: バックアップストレージの料金は?
A: DBサイズと同等までは無料、超過分が課金。
8.3 セキュリティ・暗号化
- Q: 既存の非暗号化DBを暗号化するには?
A: 直接は不可。スナップショットを暗号化コピーして復元。暗号化はKMSで作成時に有効化。 - Q: DB接続をDBパスワードに依存せず管理するには?
A: IAM DB認証(一時トークン)やSecrets Managerでの自動ローテーション。 - Q: 安全なネットワーク構成は?
A: プライベートサブネット配置+パブリックアクセス無効+SGでアプリ層のみ許可。
8.4 スケーリング・接続管理
- Q: ストレージ不足を自動で回避するには?
A: ストレージAutoScaling(自動拡張。縮小は不可)。 - Q: Lambdaからの大量接続で接続枯渇する問題は?
A: RDS Proxyでコネクションプーリングし、フェイルオーバーも高速化。 - Q: DBエンジンの設定(max_connections等)を変えるには?
A: パラメータグループ(DB機能の有効化はオプショングループ)。
8.5 移行・デプロイ
- Q: オンプレや他DBからRDSへ移行するには?
A: AWS DMS(+異種DB変換はSCT)。 - Q: 低リスクでバージョンアップやスキーマ変更を行うには?
A: Blue/Greenデプロイで検証後に切り替え。
8.6 類似・関連サービスとの比較
- Q: RDSとAuroraの違いは?
A: AuroraはMySQL/PostgreSQL互換のクラウドネイティブDBで、ストレージは自動拡張・6コピー(3AZ)、最大15レプリカ、高性能・高可用。要件が高い場合に選択。 - Q: RDS(リレーショナル)とDynamoDB(NoSQL)の使い分けは?
A: 複雑なJOIN・トランザクションや既存SQL資産はRDS、超高スケール・低遅延のキーバリュー/ドキュメントはDynamoDB。 - Q: OSへのアクセスやネイティブ機能が必要なOracle/SQL Serverは?
A: RDS Custom(OS/DBへ限定的にアクセス可能)。
8.7 その他の頻出ポイント
- OSログイン不可: 通常のRDSはOSにSSH不可(マネージドのため)。
- エンドポイント: 書き込みは1つのプライマリ、読み取りはレプリカ用エンドポイント。フェイルオーバーはDNSで切り替え。
- メンテナンスウィンドウ: パッチ・マイナーアップグレードを計画的に適用(自動マイナーアップグレード可)。