ステップ 1: Amazon S3 バケットを作成する - AWS OpsWorks

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 1: Amazon S3 バケットを作成する

重要

この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post または AWS Premium Support を通じて AWS Support チームにお問い合わせください。

まず Amazon S3 バケットを作成する必要があります。これは、Amazon S3 コンソール、API、または CLI を使用することで直接作成することができますが、 AWS CloudFormation テンプレートを使用すると、より簡単にリソースを作成できます。次のテンプレートでは、この例の Amazon S3 バケットを作成し、バケットに対する無制限のアクセスを許可する IAM ロールを伴う インスタンスプロファイルをセットアップします。次に、レイヤー設定を使用して、スタックのアプリケーションサーバーのインスタンスにインスタンスプロファイルをアタッチします。これにより、後述のようにアプリケーションがバケットにアクセスできるようになります。インスタンスプロファイルは、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 バケットへの無制限アクセスを許可するアクセス許可をロールに設定します。

  • テンプレートを起動すると、Outputs コンソールの [ AWS CloudFormation ] セクションに、バケット名およびインスタンスプロファイル名が表示されます。

    これらの値は、スタックとアプリケーションをセットアップするために必要です。

AWS CloudFormation テンプレートの作成方法の詳細については、「テンプレートの基本を学ぶ」を参照してください。

Amazon S3 バケットを作成するには
  1. システムのテキストファイルにサンプルテンプレートをコピーします。

    この例では、ファイル名を appserver.template としています。

  2. AWS CloudFormation コンソールを開き、[スタックの作成] を選択します。

  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] を選択し、最後のページに到達するまで、ウィザードの各ページで [Next Step] を選択します。[作成] を選択します。

  6. AppServer スタックが CREATE_COMPLETE ステータスになったら、それを選択し、出力タブを選択します。

    場合によっては、何回か更新してステータスをアップデートする必要があります。

  7. 出力タブで、後で使用するために BucketNameInstanceProfileNameの値を記録します。

注記

AWS CloudFormation はスタックという用語を使用して、テンプレートから作成されたリソースのコレクションを参照します。 AWS OpsWorks スタックスタックとは異なります。