AWS CDKでRDS(PostgreSQL)をデプロイする方法
| 項目 | バージョン |
|---|---|
| CDK | 2.27.0 |
AWS CDKでRDS(PostgreSQL)デプロイする方法です。
Amazon Aurora
vpcのデプロイは以下コードでは省略しています。
import { Stack, StackProps, Duration } from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import { Construct } from 'constructs';
import * as rds from 'aws-cdk-lib/aws-rds';
export class Sample001Stack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const vpc = // 省略
const cluster = new rds.ServerlessCluster(this, 'RDS', {
engine: rds.DatabaseClusterEngine.AURORA_POSTGRESQL,
parameterGroup: rds.ParameterGroup.fromParameterGroupName(this, 'ParameterGroup', 'default.aurora-postgresql10'),
vpc, // vpcを定義しておく必要がある
vpcSubnets: {
subnetType: ec2.SubnetType.PRIVATE_ISOLATED, // プライベートサブネット上に作成
},
scaling: {
autoPause: Duration.minutes(10), // default is to pause after 5 minutes of idle time
minCapacity: rds.AuroraCapacityUnit.ACU_8, // default is 2 Aurora capacity units (ACUs)
maxCapacity: rds.AuroraCapacityUnit.ACU_32, // default is 16 Aurora capacity units (ACUs)
}
});
}
}
ここでは、サーバレス、Aurora PostgreSQLにしています。
これでデプロイします。
cdk deploy
RDSが作成されます。
PostgreSQL
以下は、インスタンス、PostgreSQLのデプロイするコードです。
import { Stack, StackProps, Duration } from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import { Construct } from 'constructs';
import * as rds from 'aws-cdk-lib/aws-rds';
export class Sample001Stack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const vpc = // 省略
const cluster = new rds.DatabaseInstance(this, 'Instance', {
engine: rds.DatabaseInstanceEngine.postgres({
version: rds.PostgresEngineVersion.VER_14_2, // バージョン指定
}),
vpc, // vpcを定義しておく必要がある
vpcSubnets: {
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
}
});
}
}
これでデプロイします。
cdk deploy
RDSが作成されます。デフォルトは、標準クラス(db.md5.large)になるようです。
インスタンスタイプ設定
インスタンスタイプを設定するには、instanceTypeオプションを1行追加します。
const cluster = new rds.DatabaseInstance(this, 'Instance', {
engine: rds.DatabaseInstanceEngine.postgres({
version: rds.PostgresEngineVersion.VER_14_2, // バージョン指定
}),
// add start
instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.MEDIUM),
// add end
vpc,
vpcSubnets: {
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
}
});
これでデプロイします。
cdk deploy
RDSが作成されます。バースト可能クラスになり、db.t3.mediumになっていることが確認できます。
参考サイト
aws-cdk-lib.aws_rds module · AWS CDK
Language | Package
Attention Required! | Cloudflare

Aurora Serverlessの導入時に気をつけるべきこと | DevelopersIO
オンデマンドに自動スケールする Amazon Aurora Serverless を採用する機会がありましたので、導入時の参考になりそうなポイントを紹介します。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^




コメント