はじめに
Amazon Aurora(以降 Aurora)を構築するための基本的なポイントを解説します。
本記事ではシンプルに1つのAZに1つのDBインスタンスを構築していきます。アーキテクチャ図は以下の通りです。AuroraはPostgres版を利用します。

VPCの作成とネットワーク設定
VPCとサブネットの作成
EC2用のパプリックサブネットとAurora用のプライベートサブネットを持つVPCを作成します。今回、EC2とAuroraインスタンスは1つしか作成しませんが、Auroraはインスタンス作成時にサブネットを2つ指定する必要があるため2つ作成します。
リージョン | 任意(ここでは東京リージョンで作成) |
IPv4 CIDR | 10.0.0.0/16 |
アベイラビリティーゾーンの数 | 2 |
パブリックサブネット数 | 2 |
プライベートサブネット数 | 2 |
VPC名 | trial-vpc |
ここで作成したパブリックサブネットにEC2を作成します。今回はEC2のIPアドレスは動的に割当を行うため、パブリックサブネットの設定で「パブリック IPv4 アドレスの自動割り当てを有効化」にチェックを入れておきます。
セキュリティグループの作成
EC2用セキュリティグループの作成
パブリックサブネットに配置するEC2用のセキュリティグループを作成します。名前は「trial-sg-public-ec2」とします。EC2には「EC2 Instance Connect 」サービスを利用して接続する想定で設定しています。
タイプ | ポート範囲 | ソース |
SSH | 22 | com.amazonaws.ap-northeast-3.ec2-instance-connect ※プレフィックスリストから選択する。上記は大阪リージョンの場合。 |
HTTPS | 443 | 0.0.0.0/0 |
Aurora用セキュリティグループの作成
プライベートサブネットに配置するAurora用のセキュリティグループを作成します。「5432」はAurora(PostgreSQL)のデフォルト待受ポートです。ここではEC2のアプリケーションからのみアクセスされることを想定し、ソースにEC2のセキュリティグループを設定します。
タイプ | ポート範囲 | ソース |
カスタムTCP | 5432 | 上記で作成したEC2用セキュリティグループ(trial-sg-public-ec2)を指定 |
インターネットゲートウェイの作成
- インターネットゲートウェイ(以降 IGW)を作成
- 作成したVPCにIGWをアタッチ
- パブリックサブネットのルートテーブルにIGWへのルートを追加(送信先「0.0.0.0/0」でターゲットにIGWを指定)
EC2の作成
EC2の起動
パブリックサブネットに配置するEC2インスタンスを作成します。このEC2にアプリケーションが存在する想定で後ほどAuroraへの接続テストに利用します。EC2は最小構成で無料利用枠を利用し以下の内容で構築します。
AMI | Amazon Linux 2023 AMI (x86) |
インスタンスタイプ | t2.micro |
キーペア | 任意のものを作成、または選択 |
VPC | 作成した「vpc-trial」を選択 |
サブネット | 作成したパブリックサブネットを選択 |
パブリック IP の自動割り当て | 有効 |
セキュリティグループ | 作成したEC2用セキュリティグループ(trial-sg-public-ec2)を選択 |
ストレージ | デフォルトのまま。8Gib/gp3 |
EC2への接続テスト
EC2インスタンスが起動したら、「EC2 Instance Connect 」を利用して接続してみましょう。
Aurora DBクラスターの作成
DBクラスターの作成
いよいよDBを作成していきます。Amazon RDS コンソールを開き、[データベースの作成] を選択し、以下を指定してDBクラスターを作成します。(記載していない箇所はデフォルトのままです)
Auroraには無料利用枠は無いのでインスタンスはこまめに停止し、不要になったらすぐに削除しましょう。(インスタンス停止していてもストレージは課金対象となるので注意してください)
データベース作成方法 | 標準作成 | 備考 |
エンジンのタイプ | Aurora (PostgreSQL Compatible) | |
エンジンバージョン | 最新のメジャーバージョン | |
テンプレート | 開発/テスト | |
DB クラスター識別子 | 任意。 | ここでは「trial-db」 |
DB インスタンスクラス | db.t3.small | 一番安いものを選択 |
クラスターストレージ設定 | Aurora スタンダード | |
可用性と耐久性 | Aurora レプリカを作成しない | |
コンピューティングリソース | EC2 コンピューティングリソースに接続 | 作成したEC2インスタンスを指定 |
DB サブネットグループ | 作成したDB用サブネットを利用 | |
Performance Insights を有効化 | チェックオフ | |
拡張モニタリングの有効化 | チェックオフ |
EC2からAuroraへの接続テスト
DBインスタンスの作成が完了したらEC2から接続してみましょう。まずはEC2 Instance Connect を使用してEC2に接続します。EC2からAuroraへの接続には「psql」コマンドラインツールを利用します。
まずはpsqlコマンドラインツールをインストールします。以下のコマンドを実行してください。
sudo dnf install postgresql15
次にAmazon RDSのコンソールを開き、「リージョン別クラスター」に表示されている以下の接続に必要な情報をメモします。
1.ライターインスタンスのエンドポイント
2.ポート番号
3.接続パスワード(AWS Secrets Manager で管理している場合は設定画面から「Secrets Manager で管理する 」のリンク先にある「シークレットの値」で確認できます。
以下のコマンドを実行しAuroraインスタンスに接続します。
psql --host=<エンドポイント> --port=5432 --username=<マスターユーザー名>
接続するとパスワード入力を求められるのでパスワードを入力します。これで接続できれば完了です!
後始末(リソースの削除)
EC2やAuroraは使用量に応じて課金されるので不要になったリソースは停止、または削除しましょう。インスタンスは停止してもストレージ料金は課金される点には注意してください。
削除方法は「ステップ 4: EC2 インスタンスと DB クラスターを削除する」を参考にしてください。
以上