
Aurora PostgreSQL のエクスプレス構成を CloudFormation で試してみた
はじめに
2026年11月13日、Aurora PostgreSQL のエクスプレス構成(express configuration)が AWS CloudFormation に対応しました。
AWS::RDS::DBCluster で WithExpressConfiguration プロパティを指定すると、クラスターと writer インスタンスを1つの宣言で作成できます。この記事では、東京リージョンでエクスプレス構成のクラスターを作成し、作成後に writer インスタンスをスタックにインポートしました。
テンプレートとデプロイ
テンプレートに定義するのは、AWS::RDS::DBCluster の1リソースだけです。WithExpressConfiguration を true にし、ACU の範囲を 0.5〜1 に指定しました。
AWSTemplateFormatVersion: 2010-09-09
Resources:
Cluster:
Type: AWS::RDS::DBCluster
Properties:
Engine: aurora-postgresql
DBClusterIdentifier: express-cfn-test
WithExpressConfiguration: true
ServerlessV2ScalingConfiguration:
MinCapacity: 0.5
MaxCapacity: 1
Tags:
- Key: purpose
Value: express-cfn-verification
このテンプレートを template.yaml として保存し、次のコマンドでデプロイしました。以降の CLI コマンドは、既定のリージョンを ap-northeast-1 にした環境で実行しています。
aws cloudformation deploy --template-file template.yaml --stack-name express-cfn-test
スタックのイベントでは、Cluster の作成開始から CREATE_COMPLETE まで約22秒でした。
2026-11-15T04:37:17.249000+00:00 Cluster CREATE_IN_PROGRESS Resource creation Initiated
2026-11-15T04:37:39.259000+00:00 Cluster CREATE_COMPLETE None
作成されたクラスター
スタックのリソース
list-stack-resources で見ると、スタックのリソースは Cluster の1件だけでした。
Cluster express-cfn-test AWS::RDS::DBCluster CREATE_COMPLETE
クラスターの設定
describe-db-clusters で確認した、作成直後のクラスターの値です。
| 項目 | 値 |
|---|---|
| ステータス | available |
| エンジン | aurora-postgresql 17.9 |
| ACU の範囲 | 0.5〜1(テンプレートで指定) |
| ポート | 5432 |
| IAM 認証 | 有効 |
| VPC への関連付け | なし |
| インターネットアクセスゲートウェイ | 有効 |
| バックアップ保持期間 | 1日 |
| 削除保護 | 無効 |
| パラメータグループ | default.aurora-postgresql17 |
ServerlessV2ScalingConfiguration を省略すると、ACU の範囲は 0〜16、SecondsUntilAutoPause は 300 になりました。省略時のこの値と、表のうち ACU の範囲以外の項目は、CLI の --with-express-configuration で作成したクラスターと同じでした。
writer インスタンス
describe-db-instances で見ると、テンプレートに書いていない writer インスタンスが db.serverless で作成されていました。
express-cfn-test-instance-1 db.serverless available aurora-postgresql 17.9
writer はスタックのリソースに含まれないため、インスタンス単位の設定を CloudFormation で扱うには、後述のインポートが必要です。
従来構成との作成時間の比較
同じ条件(東京リージョン、Aurora PostgreSQL 17.9、ACU 0.5〜1、db.serverless)で、エクスプレス構成と、デフォルト VPC に作成する従来構成を比べました。従来構成は、デフォルト VPC のサブネットを使い、パブリックアクセスを有効にして、セキュリティグループで作業マシンの IP からの 5432 だけを許可しています。作成の開始から、作業マシンの psql で select version() が通るまでの時間です。各値は1回の計測です。
| エクスプレス | 従来構成 | |
|---|---|---|
| 作成開始から CREATE_COMPLETE | 45.3秒 | 418.9秒 |
| CREATE_COMPLETE から接続成功 | 11.6秒 | 0.7秒 |
| 作成開始から接続成功 | 56.9秒 | 419.6秒(約7分) |
| 接続の認証 | IAM 認証トークン | パスワード |
リソースごとに見ると、従来構成は Cluster が約34秒、Instance が約6分8秒でした。エクスプレス構成は writer の作成が Cluster に含まれ、Cluster が約38秒で完了しました。
writer のインポート
インポート用のテンプレート
先ほどのテンプレートの末尾に、次の Writer を追加します。Cluster の定義は変えません。
Writer:
Type: AWS::RDS::DBInstance
DeletionPolicy: Delete
Properties:
DBInstanceIdentifier: express-cfn-test-instance-1
DBClusterIdentifier: !Ref Cluster
Engine: aurora-postgresql
DBInstanceClass: db.serverless
CloudFormation のリソースインポートでは、インポートするリソースに DeletionPolicy 属性を含める必要があります。
インポート対象は、次の JSON で指定し、resources-to-import.json として保存します。
[
{
"ResourceType": "AWS::RDS::DBInstance",
"LogicalResourceId": "Writer",
"ResourceIdentifier": { "DBInstanceIdentifier": "express-cfn-test-instance-1" }
}
]
インポートの実行
Writer を追加した template.yaml を使い、タイプ IMPORT の変更セットを作成します。作成の完了を待ってから、変更セットを実行します。
aws cloudformation create-change-set --stack-name express-cfn-test --change-set-name import-writer --change-set-type IMPORT --template-body file://template.yaml --resources-to-import file://resources-to-import.json
aws cloudformation wait change-set-create-complete --stack-name express-cfn-test --change-set-name import-writer
aws cloudformation execute-change-set --stack-name express-cfn-test --change-set-name import-writer
aws cloudformation wait stack-import-complete --stack-name express-cfn-test
スタックの IMPORT_IN_PROGRESS から IMPORT_COMPLETE までは約1分38秒でした。完了後は、スタックのリソースに Writer が追加されています。
Writer express-cfn-test-instance-1 AWS::RDS::DBInstance UPDATE_COMPLETE
所要時間の大半を占めるのは、Writer の UPDATE_IN_PROGRESS から UPDATE_COMPLETE までの約1分34秒です。Writer の IMPORT_COMPLETE はインポート開始の約2秒後でした。
インポートのスタックイベント
2026-11-15T04:11:23.678000+00:00 express-cfn-test IMPORT_IN_PROGRESS User Initiated
2026-11-15T04:11:25.938000+00:00 Writer IMPORT_COMPLETE Resource import completed.
2026-11-15T04:11:26.901000+00:00 Writer UPDATE_IN_PROGRESS Apply stack-level tags to imported resource if applicable.
2026-11-15T04:13:01.064000+00:00 Writer UPDATE_COMPLETE None
2026-11-15T04:13:01.629000+00:00 express-cfn-test IMPORT_COMPLETE None
まとめ
CloudFormation でも、マネジメントコンソールや CLI と同様にエクスプレス構成でクラスターを作成できるようになりました。
VPC に接続しない Lambda から Aurora Serverless を利用するなど、VPC などの詳細な設定が不要なワークロードで、作成の待ち時間を短縮したい場合は、エクスプレス構成が選択肢になります。
ただし、writer インスタンスの設定を CloudFormation で変更するには、エクスプレス構成で作成されたインスタンスをスタックにインポートする作業が必要です。また、エクスプレス構成で作成したクラスターはインターネットからアクセスできる構成になるため、IAM 認証の設定が重要になる点に留意してご利用ください。







