

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 예: 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/*"
            ]
        }
    ]
}
```

------