Amazon Auroraの構築方法

AWS

はじめに

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

EC2、Auroraは使用量に応じて課金されるので、使用していない間はインスタンスを停止する、不要になったら削除するなど無駄な課金が発生しないようにしましょう。EC2、Aurora共にインスタンスは停止していてもストレージやスナップショットは課金対象となるので注意してください。

VPCの作成とネットワーク設定

VPCとサブネットの作成

EC2用のパプリックサブネットとAurora用のプライベートサブネットを持つVPCを作成します。今回、EC2とAuroraインスタンスは1つしか作成しませんが、Auroraはインスタンス作成時にサブネットを2つ指定する必要があるため2つ作成します。

リージョン任意(ここでは東京リージョンで作成)
IPv4 CIDR10.0.0.0/16
アベイラビリティーゾーンの数2
パブリックサブネット数2
プライベートサブネット数2
VPC名trial-vpc

ここで作成したパブリックサブネットにEC2を作成します。今回はEC2のIPアドレスは動的に割当を行うため、パブリックサブネットの設定で「パブリック IPv4 アドレスの自動割り当てを有効化」にチェックを入れておきます

セキュリティグループの作成

EC2用セキュリティグループの作成

パブリックサブネットに配置するEC2用のセキュリティグループを作成します。名前は「trial-sg-public-ec2」とします。EC2にはEC2 Instance Connect 」サービスを利用して接続する想定で設定しています。

タイプポート範囲ソース
SSH22com.amazonaws.ap-northeast-3.ec2-instance-connect
※プレフィックスリストから選択する。上記は大阪リージョンの場合。
HTTPS4430.0.0.0/0

Aurora用セキュリティグループの作成

プライベートサブネットに配置するAurora用のセキュリティグループを作成します。「5432」はAurora(PostgreSQL)のデフォルト待受ポートです。ここではEC2のアプリケーションからのみアクセスされることを想定し、ソースにEC2のセキュリティグループを設定します。

タイプポート範囲ソース
カスタムTCP5432上記で作成したEC2用セキュリティグループ(trial-sg-public-ec2)を指定

インターネットゲートウェイの作成

  • インターネットゲートウェイ(以降 IGW)を作成
  • 作成したVPCにIGWをアタッチ
  • パブリックサブネットのルートテーブルにIGWへのルートを追加(送信先「0.0.0.0/0」でターゲットにIGWを指定)

EC2の作成

EC2の起動

パブリックサブネットに配置するEC2インスタンスを作成します。このEC2にアプリケーションが存在する想定で後ほどAuroraへの接続テストに利用します。EC2は最小構成で無料利用枠を利用し以下の内容で構築します。

AMIAmazon 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 クラスターを削除する」を参考にしてください。

以上

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