S3 ストレージ | 作成 - AMS アドバンスト変更タイプリファレンス

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

S3 ストレージ | 作成

クラウドストレージ用の Amazon S3 バケットを作成します。

完全分類: デプロイ | 高度なスタックコンポーネント | S3 ストレージ | 作成

変更タイプの詳細

変更タイプ ID

ct-1a68ck03fn98r

現在のバージョン

5.0

予想される実行期間

60 分

AWS の承認

必須

お客様の承認

不要

実行モード

自動

追加情報

S3 ストレージを作成する

AMS コンソールでのこの変更タイプのスクリーンショット:

Console interface showing details for creating an Amazon S3 bucket, including ID and execution mode.

仕組み:

  1. RFC の作成ページに移動します。AMS コンソールの左側のナビゲーションペインでRFCs をクリックして RFCsリストページを開き、RFC の作成をクリックします。

  2. デフォルトの変更タイプ参照ビューで一般的な変更タイプ (CT) を選択するか、カテゴリ別選択ビューで CT を選択します。

    • 変更タイプ別に参照: クイック作成エリアで一般的な CT をクリックすると、すぐに RFC の実行ページを開くことができます。クイック作成で古い CT バージョンを選択することはできません。

      CTs をソートするには、カードビューまたはテーブルビューですべての変更タイプエリアを使用します。どちらのビューでも、CT を選択し、RFC の作成をクリックして RFC の実行ページを開きます。必要に応じて、RFC の作成ボタンの横に古いバージョンで作成オプションが表示されます。

    • カテゴリ別に選択: カテゴリ、サブカテゴリ、項目、オペレーションを選択すると、CT 詳細ボックスが開き、必要に応じて古いバージョンで作成するオプションが表示されます。RFC の作成をクリックして、RFC の実行ページを開きます。

  3. RFC の実行ページで、CT 名エリアを開き、CT の詳細ボックスを表示します。件名は必須です (変更タイプの参照ビューで CT を選択した場合は入力されます)。追加設定エリアを開き、RFC に関する情報を追加します。

    実行設定領域で、使用可能なドロップダウンリストを使用するか、必要なパラメータの値を入力します。オプションの実行パラメータを設定するには、追加設定エリアを開きます。

  4. 完了したら、実行 をクリックします。エラーがない場合、RFC が正常に作成されたページに、送信された RFC の詳細と最初の実行出力が表示されます。

  5. Run parameters エリアを開き、送信した設定を確認します。ページを更新して RFC 実行ステータスを更新します。必要に応じて、RFC をキャンセルするか、ページ上部のオプションを使用してコピーを作成します。

仕組み:

  1. インライン作成 (すべての RFC と実行パラメータを含むcreate-rfcコマンドを発行) またはテンプレート作成 (2 つの JSON ファイルを作成します。1 つは RFC パラメータ用、もう 1 つは実行パラメータ用) のいずれかを使用し、2 つのファイルを入力としてcreate-rfcコマンドを発行します。どちらの方法もここで説明します。

  2. 返された RFC ID を使用して RFC: aws amscm submit-rfc --rfc-id ID コマンドを送信します。

    RFC: aws amscm get-rfc --rfc-id ID コマンドをモニタリングします。

変更タイプのバージョンを確認するには、次のコマンドを使用します。

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID

インライン作成

インラインで指定された実行パラメータ (インラインで実行パラメータを指定する場合は引用符をエスケープ) を指定して create RFC コマンドを発行し、返された RFC ID を送信します。たとえば、コンテンツを次のような内容に置き換えることができます。

必須パラメータのみを含む例、バージョン 5.0:

aws amscm create-rfc --title "my-s3-bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\"}}"

すべてのパラメータ、バージョン 5.0 の例:

aws amscm create-rfc --title "My S3 Bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\",\"ServerSideEncryption\":\"KmsManagedKeys\",\"KMSKeyId\":\"arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4\",\"Versioning\":\"Enabled\",\"IAMPrincipalsRequiringReadObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"IAMPrincipalsRequiringWriteObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"ServicesRequiringReadObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"ServicesRequiringWriteObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"EnforceSecureTransport\":true,\"AccessAllowedIpRanges\":[\"1.0.0.0/24\",\"2.0.0.0/24\"]}}"

テンプレートの作成

  1. この変更タイプの実行パラメータ JSON スキーマをファイルに出力します。この例では、CreateBucketParams.json.

    aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateBucketParams.json
  2. CreateBucketParams ファイルを変更して保存します。でアカウント ID を使用する必要はありませんがBucketName、バケットを簡単に検索できることに注意してください (バケット名はすべてのリージョンでアカウント内で一意である必要があり、大文字は使用できません)。これを使用してtier-and-tieWordPress サイトを作成する場合は、 を設定するときにその目的を示すことができますBucketName

    読み取りアクセスの例:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "IAMPrincipalsWithReadObjectAccess": [ "arn:aws:iam::123456789123:role/roleA", "arn:aws:iam::987654321987:role/roleB" ] } }

    書き込みアクセスの例:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "IAMPrincipalsRequiringWriteObjectAccess": [ "arn:aws:iam::123456789123:role/roleA", "arn:aws:iam::987654321987:role/roleB" ] } }

    結果のポリシーについては、「」を参照してくださいIAM ユーザーまたはロールに READ アクセスを付与します

    サービスへの読み取りアクセスの例:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] } }

    結果のポリシーについては、「」を参照してくださいIAM ユーザーまたはロールに WRITE アクセスを付与します

    サービスへの書き込みアクセスの例:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] } }

    安全なトランスポートを強制する の例:

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "EnforceSecureTransport": "true" } }

    結果のポリシーについては、「」を参照してくださいEnforceSecureTransport を使用する

    の例では、一連の IP 範囲からバケットへのアクセスを制限します。

    { "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "AccessAllowedIpRanges": [ "1.2.3.0/24", "2.3.4.0/24" ] } }

    結果のポリシーについては、「」を参照してくださいIP 範囲へのアクセスを制限する

  3. RFC テンプレート JSON ファイルを CreateBucketRfc.json:

    aws amscm create-rfc --generate-cli-skeleton > CreateBucketRfc.json
  4. CreateBucketRfc.json ファイルを変更して保存します。たとえば、コンテンツを次のような内容に置き換えることができます。

    { "ChangeTypeVersion": "5.0", "ChangeTypeId": "ct-1a68ck03fn98r", "Title": "S3-Bucket-Create-RFC", "RequestedStartTime": "2016-12-05T14:20:00Z", "RequestedEndTime": "2016-12-05T16:20:00Z" }
  5. CreateBucketRfc ファイルと CreateBucketParams ファイルを指定して、RFC を作成します。

    aws amscm create-rfc --cli-input-json file://CreateBucketRfc.json --execution-parameters file://CreateBucketParams.json

    レスポンスで新しい RFC の ID を受け取り、それを使用して RFC を送信およびモニタリングできます。送信するまで、RFC は編集状態のままであり、開始されません。

  6. S3 バケットを表示したり、オブジェクトをロードしたりするには、実行出力を確認します。 を使用して Cloud Formation コンソールでバケットを表示stack_idし、S3 バケット名を使用して S3 コンソールでバケットを表示します。

    注記

    非所有者アカウントからオブジェクトをアップロードする場合、バケット所有者アカウントがバケット内のすべてのオブジェクトを完全に制御できるようにする bucket-owner-full-control ACL を指定する必要があります。例:

    aws s3api put-object --acl bucket-owner-full-control --bucket amzn-s3-demo-bucket --key data.txt --body /tmp/data.txt
注記

このチュートリアルでは、 バージョン 5.0 の変更タイプ (ct-1a68ck03fn98r) を使用して Amazon S3 ストレージバケットを作成するコマンドについて説明し、その例を示します。このバージョンでは、パブリック S3 バケットを作成することはできません。プライベートのみが許可されます。パブリック S3 ストレージバケットを作成するには、変更タイプの以前のバージョンを使用し、AccessControl パラメータに PublicRead を指定します。

また、このチュートリアルでは、バージョニングされたオブジェクトの削除に必要なアクセス許可は付与されません。

Amazon S3 の詳細については、「Amazon Simple Storage Service ドキュメント」を参照してください。

結果のポリシー例を作成する S3 ストレージバケット

Amazon S3 ストレージバケットの作成方法に応じて、ポリシーを作成しました。これらのポリシー例は、 で提供されているさまざまな Amazon S3 作成シナリオと一致しますCLI を使用した S3 バケットの作成

IAM ユーザーまたはロールに READ アクセスを付与します

結果のポリシー例では、IAM ユーザーまたはロールのバケット内のオブジェクトへの READ アクセスを許可します。

{ "Sid": "AllowBucketReadActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.BUCKET_NAME" }, { "Sid": "AllowObjectReadActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:GetObject", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }

S3 ストレージバケットでこのポリシーを作成するための実行パラメータ 変更タイプについては、「」を参照してください。 CLI を使用した S3 バケットの作成

IAM ユーザーまたはロールに WRITE アクセスを付与します

次の結果のポリシー例では、IAM ユーザーまたはロールのバケット内のオブジェクトへの WRITE アクセスを許可します。このポリシーは、バージョニングされたオブジェクトの削除に必要なアクセス許可を付与しません。

{ "Sid": "AllowObjectWriteActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }

S3 ストレージバケットでこのポリシーを作成するための実行パラメータ 変更タイプについては、「」を参照してください。 CLI を使用した S3 バケットの作成

AWS サービスの READ アクセスを付与します

結果のポリシー例では、AWS サービスのバケット内のオブジェクトへの READ アクセスを許可します。

{ "Sid": "AllowBucketReadActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }, { "Sid": "AllowObjectReadActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }

S3 ストレージバケットでこのポリシーを作成するための実行パラメータ 変更タイプについては、「」を参照してください。 CLI を使用した S3 バケットの作成

AWS サービスの WRITE アクセスを付与します

次の結果のポリシー例では、AWS サービスのバケット内のオブジェクトへの WRITE アクセスを許可します。このポリシーは、バージョニングされたオブジェクトの削除に必要なアクセス許可を付与しません。

{ "Sid": "AllowObjectWriteActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }

S3 ストレージバケットでこのポリシーを作成するための実行パラメータ 変更タイプについては、「」を参照してください。 CLI を使用した S3 バケットの作成

EnforceSecureTransport を使用する

セキュアトランスポートを適用するポリシーの例:

{ "Sid": "EnforceSecureTransport", "Effect": "Deny", "Principal": "*", "Action": "*", "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } }

S3 ストレージバケットでこのポリシーを作成するための実行パラメータ 変更タイプについては、「」を参照してください。 CLI を使用した S3 バケットの作成

IP 範囲へのアクセスを制限する

結果のポリシー例では、一連の IP 範囲からバケットへのアクセスを制限しています。

{ "Sid": "RestrictBasedOnIPRanges", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ “1.2.3.0/24", “2.3.4.0/24" ] } } }

S3 ストレージバケットでこのポリシーを作成するための実行パラメータ 変更タイプについては、「」を参照してください。 CLI を使用した S3 バケットの作成

実行入力パラメータ

実行入力パラメータの詳細については、「」を参照してください変更タイプ ct-1a68ck03fn98r のスキーマ

例: 必須パラメータ

{ "DocumentName" : "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "mybucket" } }

例: すべてのパラメータ

{ "DocumentName" : "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "mybucket", "ServerSideEncryption": "KmsManagedKeys", "KMSKeyId": "arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4", "Versioning": "Enabled", "IAMPrincipalsRequiringReadObjectAccess": [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "IAMPrincipalsRequiringWriteObjectAccess": [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "ServicesRequiringReadObjectAccess": [ "rds.amazonaws.com", "ec2.amazonaws.com", "logs.ap-southeast-2.amazonaws.com" ], "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "ec2.amazonaws.com", "logs.ap-southeast-2.amazonaws.com" ], "EnforceSecureTransport": true, "AccessAllowedIpRanges": [ "1.0.0.0/24", "2.0.0.0/24" ], "Tags": [ "{\"Key\": \"foo\", \"Value\": \"bar\"}", "{ \"Key\": \"testkey\",\"Value\": \"testvalue\" }" ] } }