Aurora PostgreSQL のエクスプレス構成を CloudFormation で試してみた

Aurora PostgreSQL のエクスプレス構成を CloudFormation で試してみた

Aurora PostgreSQL のエクスプレス構成を AWS CloudFormation で作成し、スタックのリソースに含まれない writer インスタンスを AWS::RDS::DBInstance としてインポートしました。
2026.11.15

はじめに

2026年11月13日、Aurora PostgreSQL のエクスプレス構成(express configuration)が AWS CloudFormation に対応しました。

https://aws.amazon.com/jp/about-aws/whats-new/2026/11/aurora-postgresql-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 属性を含める必要があります。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import-existing-stack.html

インポート対象は、次の 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 認証の設定が重要になる点に留意してご利用ください。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事