0.はじめに
ずっと AWS CloudFormation 使いたいなと思っていたので、
使ってみました。
1.事前準備
- RDS のサブネットグループを作成しておく。
- セキュリティグループを作成しておく。
2.AWS CloudFormation で RDS(MSSQL) を作成
- AWS CloudFormation のマネジメントコンソールを開く。
- 「スタックの作成」ボタンを押下する。
-
「スタックの作成 - テンプレートの選択」画面が表示されるので、「テンプレートの選択」→「テンプレートを Amazon S3 にアップロードする」をチェック、以下の json ファイルをアップロードし、「次へ」ボタンを押下する。
GS-RDS-MSSQL-from-bak.template{ "AWSTemplateFormatVersion": "2010-09-09", "Parameters": { "ProjectName": { "Type": "String", "Default": "[プロジェクト名]" }, "DbSubnetGroupName": { "Type": "String", "Default": "[作成しておいたサブネットグループ名]" }, "VpcSecurityGroup": { "Type": "AWS::EC2::SecurityGroup::Id", "Default": "[作成しておいたセキュリティグループのID]" } }, "Resources": { "DbInstance": { "Type": "AWS::RDS::DBInstance", "Properties": { "Engine": "sqlserver-ex", "DBInstanceClass": "db.t2.micro", "AllocatedStorage": "20", "StorageType": "gp2", "DBInstanceIdentifier": "[DBインスタンス名]", "MasterUsername": "[ユーザーID]", "MasterUserPassword": "[パスワード]", "DBSubnetGroupName": { "Ref": "DbSubnetGroupName" }, "PubliclyAccessible": true, "AvailabilityZone": "ap-northeast-1a", "VPCSecurityGroups": [ { "Ref": "VpcSecurityGroup" } ], "CopyTagsToSnapshot": true, "BackupRetentionPeriod": 7, "Tags": [ { "Key": "[タグの名前]", "Value": "[タグの値]" } ] }, "DeletionPolicy": "Snapshot" } } }
-
「スタックの作成 - 詳細の指定」画面が表示されるので、以下の項目を入力し、「次へ」ボタンを押下する。
-
「スタックの作成 - オプション」画面が表示されるので、「次へ」ボタンを押下する。
-
「スタックの作成 - 確認」画面が表示されるので、「作成」ボタンを押下する。
-
スタックの一覧が表示されるので、作成したスタックの状況を確認します。また RDS のマネジメントコンソールも開き、作成する RDS インスタンスの状況を確認します。
-
しばらくすると、作成が完了します。
99.ハマりポイント
- 結構、SQLServer の情報が少なかったので、ちょっと調べたりしました。
- 以下のサイトのサンプルを参考にさせて頂きました。
- CloudFormationでRDS(MySQL)を作成する(0からの作成とスナップショットからの作成) | cloudpack.media
- CloudFormationをいじる RDS編 - おぼえがきつめあわせ
- AWS(Amazon Web Services) - cloudformationにてELBを作成するもロードバランシングしたいEC2インスタンスと異なるVPCに作成されてしまう(73477)|teratail
- amazon web services - AWS RDS Cloud formation template for SQL Server - Stack Overflow
- amazon web services - Creating SQL RDS instance in CloudFormation - Stack Overflow
-
SQL Server Native Backup and Restore in Amazon RDS
- サンプルで一通り確認した後は、以下のサイトからパラメータの微調整をしたりしました。
XX.まとめ
とりあえず使ってみたかったので、
ちゃんと作成されてよかったです。
AWS のリソースのみだけではなく、
それ以外のリソースや OS 内部の設定など、
そういった設定も必要な場合での CloudFormation の使い方ってどうなるんでしょうかね?
その辺も今後試せればと思います。