

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

# 例: S3 バケットから AWS PCS の追加スクリプトを実行する
<a name="working-with_ec2-user-data_s3"></a>

 このスクリプトを起動テンプレート`"userData"`の の値として指定します。詳細については、「[AWS PCS の Amazon EC2 ユーザーデータの使用](working-with_ec2-user-data.md)」を参照してください。

次のユーザーデータスクリプトは、**cloud-config** を使用して S3 バケットからスクリプトをインポートし、起動時にノードグループインスタンスで実行します。詳細については、*cloud-init ドキュメント*の[「ユーザーデータ形式](https://cloudinit.readthedocs.io/en/latest/explanation/format.html)」を参照してください。

次の値を独自の詳細に置き換えます。
+ {{amzn-s3-demo-bucket}} – アカウントが読み取ることができる S3 バケットの名前。
+ {{object-key}} – インポートするスクリプトの S3 オブジェクトキー。これには、スクリプトの名前とバケットのフォルダ構造内の場所が含まれます。例えば、`scripts/script.sh`。詳細については、[「Amazon Simple Storage Service ユーザーガイド」の「フォルダを使用して Amazon S3 コンソールでオブジェクトを整理する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html)」を参照してください。 **
+ {{shell}} – など、スクリプトの実行に使用する Linux シェル`bash`。

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"

runcmd:
- aws s3 cp s3://{{amzn-s3-demo-bucket}}/{{object-key}} /tmp/script.sh
- /usr/bin/{{shell}} /tmp/script.sh

--==MYBOUNDARY==--
```

ノードグループの IAM インスタンスプロファイルは、バケットにアクセスできる必要があります。次の IAM ポリシーは、上記のユーザーデータスクリプトの バケットの例です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
                "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*"
            ]
        }
    ]
}
```

------