步驟 1:創建一個 Amazon S3 存儲桶 - AWS OpsWorks

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 1:創建一個 Amazon S3 存儲桶

重要

該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post 或透過進AWS 階 Support 與 AWS Support 團隊聯絡。

您必須先建立一個 Amazon S3 儲存貯體。您可以使用 Amazon S3 主控台、API 或 CLI 直接執行此操作,但建立資源的更簡單方法通常是使用 AWS CloudFormation 範本。以下範本會為此範例建立 Amazon S3 儲存貯體,並使用 IAM 角色設定執行個體設定檔,以授予儲存貯體的不受限制存取權。然後,您可以使用 layer 設定,將執行個體描述檔連接到堆疊的應用程式伺服器執行個體,讓應用程式存取儲存貯體,如稍後所述。執行個體設定檔的實用性不僅限於 Amazon S3;它們對於整合各種 AWS 服務而言非常有用。

{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "AppServerRootRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/" } }, "AppServerRolePolicies": { "Type": "AWS::IAM::Policy", "Properties": { "PolicyName": "AppServerS3Perms", "PolicyDocument": { "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": { "Fn::Join" : ["", [ "arn:aws:s3:::", { "Ref" : "AppBucket" } , "/*" ] ] } } ] }, "Roles": [ { "Ref": "AppServerRootRole" } ] } }, "AppServerInstanceProfile": { "Type": "AWS::IAM::InstanceProfile", "Properties": { "Path": "/", "Roles": [ { "Ref": "AppServerRootRole" } ] } }, "AppBucket" : { "Type" : "AWS::S3::Bucket" } }, "Outputs" : { "BucketName" : { "Value" : { "Ref" : "AppBucket" } }, "InstanceProfileName" : { "Value" : { "Ref" : "AppServerInstanceProfile" } } } }

當您啟動範本時會發生幾種情況:

  • AWS::S3::Bucket資源創建一個 Amazon S3 存儲桶。

  • AWS::IAM::InstanceProfile 資源會建立執行個體描述檔,以指派給應用程式伺服器執行個體。

  • AWS::IAM::Role 資源會建立執行個體描述檔的角色。

  • AWS::IAM::Policy源會設定角色的許可,以允許不受限制地存取 Amazon S3 儲存貯體。

  • 在您啟動範本之後, AWS CloudFormation 主控台中的 Outputs 區段會顯示儲存貯體和執行個體描述檔名稱。

    您需要這些值來設定堆疊和應用程式。

如需如何建立 AWS CloudFormation 範本的詳細資訊,請參閱學習範本基礎知識

若要建立 Amazon S3 儲存貯體
  1. 將範例範本複製到您系統中的文字檔案。

    此範例假設檔案名稱為 appserver.template

  2. 開啟 AWS CloudFormation 主控台,然後選擇 Create Stack (建立堆疊)

  3. Stack Name (堆疊名稱) 方塊中,輸入堆疊名稱。

    此範例假設名稱為 AppServer

  4. 依序選擇 Upload template file (上傳範本檔案)Browse (瀏覽),並選取您在步驟 1 中建立的 appserver.template 檔案,然後選擇 Next Step (下一步)

  5. Specify Parameters (指定參數) 頁面中,選取 I acknowledge that this template may create IAM resources (我知道此範本可能會建立 IAM 資源),然後選擇每個精靈頁面的 Next Step (下一步),直到完成為止。選擇建立

  6. AppServer堆疊達到「建立 _ 完成」狀態後,選取它並選擇「輸出」索引標籤。

    您可能需要重新整理幾次以更新狀態。

  7. 在「出」頁籤上,記錄BucketNameInstanceProfileName值以供日後使用。

注意

AWS CloudFormation 使用術語堆棧來引用從模板創建的資源的集合; 它與 AWS OpsWorks Stacks 堆棧不同。