AWS RDSを利用したデータベースのセットアップガイド

AWS概要

はじめに

本記事では、AWSのRDS(Relational Database Service)を用いて、データベースをセットアップする方法を解説します。RDSはデータベース管理の手間を大幅に軽減するマネージドサービスで、スケーラビリティやバックアップ、自動復元機能が標準で備わっています。今回は、PostgreSQLデータベースを作成し、接続設定やセキュリティグループの設定方法まで詳しく見ていきましょう。

データベース作成方法の選択

作成オプション

  1. 標準作成: 可用性、セキュリティ、バックアップ、メンテナンス設定を行います。
  2. 簡単に作成: AWSの推奨設定でデータベースを作成できますが、一部のオプションは後で変更可能です。

RDSインスタンス設定の詳細

エンジンの選択

  • エンジンタイプ: PostgreSQL
  • エンジンバージョン: PostgreSQL 15.4 (または、必要に応じた他の互換バージョン)
  • RDS延長サポート: 選択可能。長期的にサポートが必要な場合に有効化します。

テンプレート

  • 本番稼働用: 高可用性やパフォーマンスを最適化する設定です。
  • 開発/テスト: 開発用の軽量な設定です。

基本設定

  • DBクラスター識別子: 例) database-1
  • マスターユーザー名: postgres
  • 認証情報管理:
    • セルフマネージド: 独自のパスワードを設定
    • AWS Secrets Manager: AWSのSecrets Managerを利用してパスワードを安全に管理可能

クラスターストレージ設定

  • Aurora I/O最適化: I/Oコストが高い場合に利用。読み取り/書き込み操作に追加料金は不要です。
  • Auroraスタンダード: I/Oコストが低い用途向けの費用対効果の高い設定

インスタンスの設定

  • DBインスタンスクラス: メモリ最適化 (例: db.r7g.large, 2 vCPUs, 16GiB RAM)
  • マルチAZ配置: 高可用性を確保するための別AZでのAuroraレプリカを作成

セキュリティおよびネットワーク設定

VPC設定

  • VPCの選択: デフォルトVPC (または必要に応じたカスタムVPC)
  • DBサブネットグループ: デフォルト設定を使用(変更が必要な場合は作成)
  • パブリックアクセス: 通常は「なし」に設定し、VPC内部のアクセスのみに制限

VPCセキュリティグループ設定

  1. 既存のセキュリティグループを選択または新規作成
  2. インバウンドルールの設定:
    • ポート: 5432(PostgreSQL用)
    • ソース: EC2の特定のIP、またはVPC内部に制限

認証とセキュリティ

  • サーバー証明書: デフォルトのrds-ca-rsa2048-g1証明書を使用
  • Data API: HTTP経由でSQLクエリを実行可能にするData APIの有効化 (必要に応じて)

追加の監視とパフォーマンス管理

パフォーマンスモニタリング

  • Performance Insightsの有効化: クラスターレベルでパフォーマンスインサイトを有効化し、7日間の保持(無料枠)

DevOps Guruの有効化

  • DevOps Guru for RDS: DBインスタンスのパフォーマンス異常を自動検出し、最適化のための推奨を提供

データベース接続設定

  1. RDSインスタンスのエンドポイント(接続URL)とポート番号(デフォルト5432)を使用します。
  2. psqlコマンドを使って接続する場合、以下のように設定します。
Bash
psql --host=<エンドポイント> --port=5432 --username=<マスターユーザー名> --password --dbname=<データベース名>

低コスト設定のRDSデータベース構築手順(試しに作成する場合)

作成方法の選択

  • 作成オプション: 標準作成を選び、細かい設定をカスタマイズします。
  • データベースエンジン: コストを抑えるため、Auroraの代わりに直接「PostgreSQL」を選択

インスタンス設定

  • DBインスタンスクラス: db.t4g.micro(最も安価なクラス、無料枠に適用される場合もあり)
  • マルチAZ配置: 無効(高可用性が不要な場合)
  • ストレージタイプ: 汎用(SSD)、初期設定の20GB(後で拡張可能)

ストレージとI/O

  • ストレージオートスケーリング: 必要に応じて有効化。容量を最小限にしつつ、限界まで使いたい場合に便利。

セキュリティ設定

  • VPCセキュリティグループ: VPC内アクセスに制限し、パブリックアクセスを無効化
  • バックアップの保持期間: デフォルトの7日間(バックアップコストを最小限に)

モニタリング設定

  • Performance Insights: 無効(コスト削減のため)
  • 拡張モニタリング: 無効化(必要に応じて有効)

データベース設定とタグ

  • バックアップの保持期間: デフォルトの1日(コストを抑えるために短期間)
  • メンテナンスウィンドウ: 任意で設定、作業時間中でないことを確認
  • 削除保護: 無効化(開発用に最適)

まとめ

AWSのRDSを使うことで、インフラの管理にかかる手間を減らし、アプリケーションの開発に集中することができます。今回の内容では、データベースインスタンスの作成、スケーリング、バックアップ、セキュリティ設定までを解説しました。ぜひこの手順を参考にして、AWSでデータベース管理を効率化してください。

コメント

タイトルとURLをコピーしました