Amazon Aurora I/O-OptimizedをCloudFormationで作成する
Amazon Aurora I/O-Optimizedの一般提供が開始!
DevelopersIO BASECAMP参加者の加藤です。
2023年5月11日にAmazon Aurora I/O-Optimizedの一般提供が発表されました。
今回の目的は当該機能をテンプレートで作成する事
以下のように、既に概要+コンソールを使っての設定、料金比較など確りと説明されている記事がありましたので勉強させていただきました。当記事は現状CFnのテンプレートで当該機能の作成可否を確認する事だけに留めたいと思います。
結論
既にユーザーガイドには対象のプロパティ、値が用意されていた為、可能。
過程
ドキュメントから該当部分を探してみる
数日遅れてUpされていたAmazon Web Services ブログの該当部分↓から、ユーザーガイドに反映されていない可能性も少し感じながらも、機能の性質から恐らくあるだろうと信じて探してみる事にしました。
プロパティを発見
AWS>Documentation>AWS CloudFormation>User Guide
内を「Storage」に当たりをつけてブラウザを検索してみました。
以前から存在したAllocatedStorageは整数を指定するもので、StorageEncryptedは字面から一旦スルーして「StorageType」の中に該当しそうな文字列がありました。(翻訳済み)
以前から存在したプロパティか、残念ながら全然覚えていませんが、この部分を追加して作成してみます。
StorageType: aurora-iopt1
注意点
対応のエンジンバージョン
対応しているエンジンバージョンを選択していない場合、以下のエラーが起きます。
Resource handler returned message: "The aurora-iopt1 storage type isn't supported for the 8.0.mysql_aurora.3.02.2 DB engine version. (Service: Rds, Status Code: 400, Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)" (RequestToken: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, HandlerErrorCode: InvalidRequest)
RDSコンソールに移動して「Cluster storage configuration」を確認しました。
対応していないバージョンを選択している状態では
「選択したAurora MySQLのバージョンはAurora I/O-Optimized 構成をサポートしていません。
新しいクラスタ構成を使用するために、Aurora MySQLの最新バージョン(v 3.03.1以降)を選択してください。」ときちんと注意書きが添えてありました。
修正後のテンプレート
AWSTemplateFormatVersion: 2010-09-09
Resources:
# ------------------------------------------------------------#
# VPC
# ------------------------------------------------------------#
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.1.0.0/16
InstanceTenancy: default
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: !Sub test-vpc
# ------------------------------------------------------------#
# Subnet
# ------------------------------------------------------------#
Subnet:
Type: AWS::EC2::Subnet
Properties:
CidrBlock: 10.1.0.0/24
VpcId: !Ref VPC
AvailabilityZone: !Select [ 0, !GetAZs ]
Tags:
- Key: Name
Value: !Sub test-subnet
# ------------------------------------------------------------#
# RDS
# ------------------------------------------------------------#
# DBクラスター
RDSCluster:
DeletionPolicy: Delete
Type: AWS::RDS::DBCluster
Properties:
DBClusterIdentifier: aurora-io-optimized-test-cluster
Engine: aurora-mysql
EngineVersion: 8.0.mysql_aurora.3.03.1
StorageType: aurora-iopt1
ManageMasterUserPassword: true
MasterUsername: admin
AvailabilityZones:
- !Select [ 0, !GetAZs ]
Tags:
- Key: Name
Value: aurora-io-optimized-test-cluster
無事クラスターが作成されました。
↓
「設定」タブを確認すると「Cluster Storage Configuration」が「Aurora IO-Optimized」になっています!
終わりに
以上でした!
お読みいただき有難うございました。
Discussion