Amazon S3 デプロイアクション - AWS CodePipeline

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

Amazon S3 デプロイアクション

Amazon S3 デプロイアクションを使用して、静的ウェブサイトのホスティングやアーカイブ用に Amazon S3 バケットにファイルをデプロイします。バケットにアップロードする前にデプロイファイルを抽出するかどうかを指定できます。

注記

このリファレンストピックでは、CodePipeline の Amazon S3 デプロイアクションについて説明します。デプロイプラットフォームはホスティング用に設定された Amazon S3 バケットです。CodePipeline での Amazon S3 ソースアクションのリファレンス情報については、「Amazon S3 ソースアクション」を参照してください。

アクションタイプ

  • カテゴリ:Deploy

  • 所有者: AWS

  • プロバイダー: S3

  • バージョン: 1

設定パラメータ

BucketName

必須: はい

ファイルがデプロイされる Amazon S3 バケットの名前。

Extract

必須: はい

true を指定すると、アップロード前にファイルが抽出されるようになります。指定しないと、ホストされている静的ウェブサイトの場合など、アプリケーションファイルはアップロード時に圧縮されたままになります。false を指定した場合は、ObjectKey が必要になります。

ObjectKey

条件付き。Extract = false の場合は必須

S3 バケット内のオブジェクトを一意に識別する Amazon S3 オブジェクトキーの名前。

KMSEncryptionKeyARN

必須: いいえ

ホストバケットの AWS KMS 暗号化キーの ARN。KMSEncryptionKeyARN パラメータは、提供された AWS KMS key を使用してアップロードされたアーティファクトを暗号化します。 KMS キーの場合、キー ID 、キー ARN 、またはエイリアス ARN を使用できます。

注記

エイリアスは、カスタマーマスターキー (KMS) を作成したアカウントでのみ認識されます。クロスアカウントアクションの場合、キー ID またはキー ARN のみを使用してキーを識別できます。クロスアカウントアクションには他のアカウント (AccountB) のロールを使用するため、キー ID を指定すると他のアカウント (AccountB) のキーが使用されます。

重要

CodePipeline は、対称 KMS キーのみを対応しています。非対称 KMS キーを使用して S3 bucket のデータを暗号化しないでください。

CannedACL

必須: いいえ

CannedACL パラメータは、指定された 既定 ACL を、Amazon S3 にデプロイされたオブジェクトに適用します。このオブジェクトに適用された既存の ACL が上書きされます。

CacheControl

必須: いいえ

CacheControl パラメータは、バケットのオブジェクトのリクエストやレスポンスのキャッシュ動作を制御します。有効な値のリストについては、HTTP オペレーションの Cache-Control ヘッダーフィールドを参照してください。CacheControl に複数の値を入力するには、各値の間にカンマを使用します。CLI の例に示すように、各カンマの後にスペースを追加できます (オプション)。

"CacheControl": "public, max-age=0, no-transform"

入力アーティファクト

  • アーティファクトの数: 1

  • 説明: デプロイまたはアーカイブ用のファイルは、CodePipeline によってソースリポジトリから取得され、圧縮されて、アップロードされます。

出力アーティファクト

  • アーティファクトの数: 0

  • 説明: 出力アーティファクトは、このアクションタイプには適用されません。

アクション設定の例

次に、アクションの設定例を示します。

Extractfalse に設定する場合のアクションの設定例

以下の例で示しているのは、Extract フィールドを false に設定してアクションを作成した場合のアクションのデフォルト設定です。

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'false' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "false" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

Extracttrue に設定する場合のアクションの設定例

以下の例で示しているのは、Extract フィールドを true に設定してアクションを作成した場合のアクションのデフォルト設定です。

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'true' ObjectKey: MyWebsite OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "true", "ObjectKey": "MyWebsite" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

このアクションを利用する際に役立つ関連リソースは以下の通りです。

  • チュートリアル: Amazon S3 をデプロイプロバイダとして使用するパイプラインを作成する - このチュートリアルでは、S3 デプロイアクションを使用してパイプラインを作成する 2 つの例を紹介します。サンプルファイルをダウンロードし、CodeCommit リポジトリにアップロードします。その後、S3 バケットを作成し、ホスティング用に設定します。次に、CodePipeline コンソールを使用してパイプラインを作成し、Amazon S3 デプロイ設定を指定します。

  • Amazon S3 ソースアクション - このアクションリファレンスでは、CodePipeline での Amazon S3 ソースアクションのリファレンス情報と例を提供しています。