web-dev-qa-db-ja.com

既存のAWSリソースをcloudformationスタックに組み込みます

Cloudformationの外部で作成された既存のAWSリソースを既存のcloudformationスタックに組み込む方法はありますか? cloudformationスタックに新しいリソースを追加し、既存のリソースのデータをその新しいリソースに移行することなく、これを実行したいと思います。 AWSにcloudformationスタックのドリフト検出があるようになりました。既存のリソースをスタックに組み込むためにそれを活用できるかどうか疑問に思っています。

22
BrianP

リソースを既存のCloudFormationスタックにインポート/採用する機能は、CloudFormationのお客様からの最大の要望です。私たちはしばらくの間それを行う方法を考えてきましたが、顧客のニーズに適合し、サービスが動作する規模で機能するメカニズムに到達していません。

スタック状態情報はサービスの外部には公開しないため、変更できるため、採用機能が提供されるまでは、リソースに関するメタデータをパラメーターストアに保存するか、カスタムリソースを基になるリソースに関する情報を取得し、Fn :: GetAttを介してスタックに表示するラッパー。

13
Chuck Meyer

これで、リソースインポート機能を使用して最終的にそれを行うことができます。参照:

https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md

https://Twitter.com/shortjared/status/1193985448164691970?s=21

6
gvasquez

Parameters を介して既存のリソース情報をスタックに渡すことでこれを行うことができます。 これは例です これらのパラメーターをスタックに渡す方法の==。

これらのパラメーターをスタックの残りの部分に組み込む方法を説明するEric Hammondの このブログ投稿 をチェックしてください。記述されたユースケースは、渡されない場合にオプションで新しいリソースを作成するという点で少し異なりますが、全体的な構造は、記述したケースに適用されます。

この場合、デプロイされたリソースとスタックに記述された構成との違いが示されるため、ドリフト検出が役に立たないと思います。スタック外で定義/作成されたリソースはチェックされません。

3
bwest

Amazons CDK (現在、執筆時点で開発者プレビューの段階にあります)は、これを行う方法を提供します。

Amazon S3バケットやVPCなど、CDKアプリの外部で定義されているリソースを参照する必要がある場合は、AWS構成で利用可能なXxxx.import(...)静的メソッドを使用できます。たとえば、Bucket.import()メソッドを使用してBucketRefオブジェクトを取得できます。これは、バケットが必要なほとんどの場所で使用できます。このパターンにより、アプリの外部で定義されたリソースをアプリの一部であるかのように扱うことができます。

ソース: https://docs.aws.Amazon.com/CDK/latest/userguide/aws_construct_lib.html

既存のCloudFormationテンプレートをインポートすることもできます: https://docs.aws.Amazon.com/CDK/latest/userguide/use_cfn_template.html

3
karfau

スタックへの既存のリソースのインポートがCloudFormationでサポートされるようになりました。

AWSからのお知らせ: AWS CloudFormationがリソースのインポートを開始

例による指示: [〜#〜]ここ[〜#〜]

2
MarouenDallali

Cloudformer は、既存のリソースから新しいスタックを作成するのに役立ち、スタックにリソースを追加できます。しかし、既存のスタックをスタック外の既存のリソースと「マージ」する方法を知りません。

1
Sushant Sonker