[アップデート] Aurora PostgreSQL のエクスプレス構成を CloudFormation で作成できるようになりました

[アップデート] Aurora PostgreSQL のエクスプレス構成を CloudFormation で作成できるようになりました

検証用 CloudFormation とかに組み込むと良さそうです
2026.11.15

いわさです。

Amazon Aurora PostgreSQL には、クラスターと書き込みインスタンスを数秒で作れる「エクスプレス構成」というものがあります。
作成時にひとつ指定するだけで、インスタンスの設定を個別に決めなくてよくなりますし、数秒で接続できるインスタンスが用意できます。検証用とかにとても良いですよね。

https://dev.classmethod.jp/articles/aurora-postgresql-express-configuration/

先日のアップデートで、これを AWS CloudFormation のテンプレートからも作れるようになったみたいです。

https://aws.amazon.com/about-aws/whats-new/2026/11/aurora-postgresql-cloudformation/

実際に使ってみたので紹介します。

使ってみた

今回のアップデートで追加されたのは、AWS::RDS::DBCluster の WithExpressConfiguration プロパティです。
これをtrueにするとエクスプレスモードで作成されるみたいです。

https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbcluster.html

東京リージョンで試しました。テンプレートは公式リファレンスの例を使い、クラスター名だけ変えることに。

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  ExpressCluster:
    Type: 'AWS::RDS::DBCluster'
    Properties:
      Engine: aurora-postgresql
      DBClusterIdentifier: hoge-expr-cfn-0115
      WithExpressConfiguration: true
      Tags:
        - Key: CreatedWith
          Value: ExpressConfiguration

なお、このマネジメントコンソールのエクスプレス構成と同様に対象は Aurora PostgreSQL だけです。
その他 VPC 関係などいくつか前提条件が必要で、そのあたりはマネジメントコンソールから作成した場合と同様です。ご注意ください。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.AuroraPostgreSQL.ExpressConfig.html

スタック(CloudFormation が作成と削除をまとめて扱うリソースの単位)を作成すると、約 20-30 秒でスタックが CREATE_COMPLETE になりました。
スタックのリソースを見ると、作成されたリソースは次の 1 つだけ。

ExpressCluster    AWS::RDS::DBCluster    CREATE_COMPLETE

上記のCREATE_COMPLETE時点で、クラスターの状態は available になってました。速すぎる!
RDS コンソールを見てみると書き込みインスタンスも作られていて、クラスターのメンバーとして表示されました。なお、特に CloudFormation 側で指定してませんがインスタンスは db.serverless です。まぁマネコンと同じですね。

クラスターのみでインスタンスがスタックに含まれていないのがきになりますが、公式ドキュメントに次のとおり記載されていまして、CloudFroamtion は書き込みインスタンスを管理しないとのこと。

CloudFormation doesn't manage the writer DB instance. To manage it, import it into your stack as an AWS::RDS::DBInstance resource.

ただ、このままでもスタックを削除すると、クラスターと書き込みインスタンスは両方とも削除されました。こちらの挙動も公式ドキュメントに記載されてます。

When CloudFormation deletes the DB cluster, it also deletes the writer DB instance.

なおWithExpressConfiguration は更新すると置き換えになると公式ドキュメントにも書かれていますので注意しましょう。

ちなみに、Aurora MySQL でも、同じ WithExpressConfiguration を指定して試しましたが、どちらもエラーになりました。

$ aws cloudformation create-stack --stack-name hoge-expr-amy-0115 --region ap-northeast-1 --template-body file://aurora-mysql-test.yaml
09:37:30  CREATE_IN_PROGRESS     hoge-expr-amy-0115    User Initiated
09:37:33  CREATE_IN_PROGRESS     MysqlExpressCluster   None
09:37:35  CREATE_IN_PROGRESS     MysqlExpressCluster   Resource creation Initiated
09:39:45  CREATE_FAILED          MysqlExpressCluster   (Service: Rds, Status Code: 500, Request ID: ...) (SDK Attempt Count: 3)
09:39:46  ROLLBACK_IN_PROGRESS   hoge-expr-amy-0115    The following resource(s) failed to create: [MysqlExpressCluster]. Rollback requested by user.
09:39:47  DELETE_IN_PROGRESS     MysqlExpressCluster   None
09:39:48  DELETE_IN_PROGRESS     MysqlExpressCluster   DBCluster hoge-expr-amy-0115 not found. (Service: Rds, Status Code: 404, ...) (SDK Attempt Count: 1)
09:39:49  DELETE_COMPLETE        MysqlExpressCluster   None
09:39:49  ROLLBACK_COMPLETE      hoge-expr-amy-0115    None
$ aws cloudformation delete-stack --stack-name hoge-expr-amy-0115

エラーになるのは当たり前だろうと思っていたのですが、普通にサポートされていない系のエラーではなくて内部エラーが出ていたのはちょっと気になります。
まぁコンソールと同様に作成できないってことで覚えておきましょう。

さいごに

本日は、Aurora PostgreSQL のエクスプレス構成を CloudFormation から作成できるようになったので確認してみました。
検証用にサッとリソースを作りたい時に CloudFormation を使う場合はこちらのオプションを使うと良いですね。

この記事をシェアする

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

関連記事