CLoudFormationでECS、ALB、VPCなどはこれまでに作成できているので、CLoudFormationでRDSも作成する練習しときたいと考えてこちらのYouTube動画を参考にCloudFormationでRDSを作成しました。 www.youtube.com
必ずしもAWSリソースを全部コード化することが正しいわけではないと思いますが、マネジメントコンソールから操作したりAWS CLIを使ったりCloudFormationを使ったりすることでそのリソースに対する各パラメーターの役割とかひも付き方が整理しやすい気がして、いろいろ試してみます。
現時点で自分のRDSに対する知識は浅いのでこういった勉強を通して理解深めたいと思います。
用意したCloudFormationテンプレートは以下。
rds.yml
Parameters: DBNameP: Type: String MUser: Type: String MPass: Type: String Description: "It shouldn't be less than 8 characters" Resources: MyDBvideoInstance: Type: AWS::RDS::DBInstance Properties: DBName: !Ref DBNameP MasterUsername: !Ref MUser MasterUserPassword: !Ref MPass Engine: MySQL DBInstanceClass: db.t2.micro StorageType: gp2 PubliclyAccessible: True AllocatedStorage: "20" DBInstanceIdentifier: !Join ["-", ["MyDbInstance", !Ref "AWS::Region"]] AvailabilityZone: !Select [1, !GetAZs ""]
以下は構築の手順です。
Create New Stack(with new resources)をクリック
Step 1 Specify templateの画面で作成済みのymlファイルを選択してNextをクリック
Step 2 Specify stack detailsの画面でymlファイルで指定しているパラメーターの値を入力してNextをクリック
Step 3 Configure stack optionsの画面はデフォルトの設定のままNextをクリック
Step 4 Reviewの画面で設定に問題ないことを確認しCreate stackをクリック
Stackが作成されたことを確認(ちょっと設定変えたので前のキャプチャと違うところあります)
ResorcesタブからRDSにマネジメントコンソールに移動して設定を確認
CloudFormationからRDSを作成することができました。
この手順ではRDSがAWSアカウント作成時のデフォルトのVPCに作成されていたので、すでに構築しているECSと同じVPC内に置くなどテンプレートに手を加えていきたいと思います。