58

これを使用してCloudFormationを使用してRDSインスタンスを作成しています:

"資力": {
        "myDB":{
            "タイプ": "AWS :: RDS :: DBInstance"、
            "プロパティ": {
                "AllocatedStorage": "5"、
                "DBInstanceClass": "db.m1.small"、
                「エンジン」:「MySQL」、
                "EngineVersion": "5.5"、
                "DBName": "mydb"、
                "MasterUsername":{
                    "Ref": "DBUser"
                }、
                "MasterUserPassword":{
                    "Ref": "DBPassword"
                }、
                "DBParameterGroupName":{
                    "Ref": "myRDSParamGroup"
                }
            }
        }

そしてそれはすべて機能します。ただし、アプリスキーマを設定するには、DBの作成時に初期SQLを実行する必要があります。私の現在のアプローチは、アプリを自己移行させることですが、CloudFormation定義でそれを実行したいと思います。これは可能ですか?

4

4 に答える 4

15

いいえ、できません。ただし、EC2 インスタンスを RDS インスタンスに接続してそれを行うことができます。おそらく S3 に .sql ファイルを保存し、EC2 インスタンスで cloud-init スクリプトを使用してファイルをダウンロードして実行します。

于 2013-01-18T02:53:18.090 に答える
7

CloudFormation カスタム リソースを作成することもできます。SNS を使用して 1 つを構築する方法については、ここで良い議論があります。Lambda を使用してビルドすることもできます。カスタム リソースは基本的に単なる RPC であるため、スキーマを使用してデータベースを初期化するために作成することは難しくありません。

于 2016-06-12T00:30:46.407 に答える