AWS CLIとcloudformationを使用していますが、ドキュメントに参照が見つかりませんでした。
現在の構成からcloudformationテンプレートを作成できるかどうかは誰でも知っています。
現在のセキュリティグループ構成からcloudformationテンプレートを取得したいとします。
コマンドラインを使用して、その構成をテンプレートとしてエクスポートできるかどうか考えていますか?
よろしく。
私たちの経験に基づいて、手動でデプロイされた既存の(WebコンソールUIから)AWSインフラストラクチャをCloudformation(CF)に変換する2つの可能な方法を見つけました。
aws cli
execute $aws service_name_here describe
を使用します(例:RDS Database Stack:)Type: AWS::RDS::DBInstance
、Type: AWS::EC2::SecurityGroup
、Type: AWS::RDS::DBSubnetGroup
およびType: AWS::RDS::DBParameterGroup
各コンポーネントのaws cli
から取得した出力に基づいて、手動でCFに変換します。このアプローチは通常、AWSとCFの両方でより多くの経験を必要としますが、作成しているテンプレートは、適切な方法で構造化および設計し、完全にパラメーター化(Sub, Ref, Join, Fn::GetAtt:, Fn::ImportValue
)、モジュール化、conditions
を適用して、最初に反復は、結果がおそらくテンプレートの最終状態に近づくでしょう(興味深い参照例: https://github.com/widdix/aws-cf-templates/ )。
追加ポイント! :)
Terraforming( https://github.com/dtan4/terraforming )を使用します。 Terraformの新しいバージョン0.12.0-beta2
(すでにterraform-provider-aws 2.7.0
による安定版リリースでサポートされています)を考慮し、新機能とそのより使いやすい構文を使用し、オープンソースツールであり、クラウドプロバイダーに依存しないことを無視しません。私は既存のAWSインフラに基づいてTerraformコードを生成する可能性を否定しません。可能であれば、参照として-> https://registry.terraform.io/ としてモジュールとサブモジュールの形式でAWS CFの代替。
現在デプロイされているAWSインフラをCloudformation/Terraformコードにエクスポートするためのその他の新しい代替手段:
AWS CLIを使用することはできませんが、CloudFormer [1]ツールを使用して、既存のリソースからCloudFormationテンプレートを作成できます。私はそれでかなりの成功を収めてきました。テンプレートは手作りのテンプレートほど「きれい」ではありませんが、良い出発点となります。
CloudFormerに加えて、Bellerophonを確認することもできます: https://github.com/arminhammer/bellerophon 。
CloudFormerは現在ベータ版です。重要な環境や本番環境での使用はお勧めしません-AWSドキュメントから