2017-05-17 79 views
1

我們已經手動創建了一些基礎設施,並且使用了terraform,包括一些s3桶。在未來,我想使用純粹的CloudFormation將基礎架構定義爲代碼。AWS'Bucket already exists' - 如何將現有資源「遷移」到CloudFormation?

所以我創建了一個CloudFormation YAML定義,引用現有的鬥:

AWSTemplateFormatVersion: '2010-09-09' 
Resources: 
    TheBucket: 
    Type: AWS::S3::Bucket 
    Properties: 
     BucketName: my-existing-bucket-name 

當我嘗試應用它,執行失敗,與CloudFormation堆棧事件:

The following resource(s) failed to update: [TheBucket]. 
12:33:47 UTC+0200 UPDATE_FAILED AWS::S3::Bucket TheBucket 
    my-existing-bucket-name already exists 

如何開始使用CloudFormation管理現有的資源而無需重新創建它們?還是設計不可能?

回答

1

您將需要創建一個新桶並將舊桶中的數據同步到新桶。我還沒有看到使用修改現有S3存儲桶的方法。

1

雲形成模板的資源部分定義了應由雲形成創建哪些資源。嘗試通過將它們定義爲參數來引用現有資源。

+0

我想**管理**,即也調整資源,例如更改cors_rules等。不只是通過參數來引用。 – geekQ

+2

恐怕這不適用於雲信息。或者我最好說,我不知道這可能會如何工作。 雲信息的想法是基於模板構建您的基礎架構,而不關注對現有資源的操縱。雲計算中的方法寧可刪除所有並從頭開始構建,然後改變現有的資源。 – bschroers

相關問題