本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 1:創建一個 Amazon S3 存儲桶
重要
該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
您必須先建立一個 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 儲存貯體
-
將範例範本複製到您系統中的文字檔案。
此範例假設檔案名稱為
appserver.template
。 -
開啟 AWS CloudFormation
主控台,然後選擇 Create Stack (建立堆疊)。 -
在 Stack Name (堆疊名稱) 方塊中,輸入堆疊名稱。
此範例假設名稱為
AppServer
。 -
依序選擇 Upload template file (上傳範本檔案) 和 Browse (瀏覽),並選取您在步驟 1 中建立的
appserver.template
檔案,然後選擇 Next Step (下一步)。 -
在 Specify Parameters (指定參數) 頁面中,選取 I acknowledge that this template may create IAM resources (我知道此範本可能會建立 IAM 資源),然後選擇每個精靈頁面的 Next Step (下一步),直到完成為止。選擇建立。
-
AppServer堆疊達到「建立 _ 完成」狀態後,選取它並選擇「輸出」索引標籤。
您可能需要重新整理幾次以更新狀態。
-
在「輸出」頁籤上,記錄BucketName和InstanceProfileName值以供日後使用。
注意
AWS CloudFormation 使用術語堆棧來引用從模板創建的資源的集合; 它與 AWS OpsWorks Stacks 堆棧不同。