

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

# 프라이빗 키를 Amazon S3에 안전하게 저장
<a name="https-storingprivatekeys"></a>

퍼블릭 인증서에 서명할 때 사용하는 프라이빗 키는 개인 소유로, 소스 코드에 커밋하면 안 됩니다. 프라이빗 키를 Amazon S3에 업로드한 후 애플리케이션 배포 중에 Amazon S3에서 이 파일을 다운로드하도록 Elastic Beanstalk를 구성하면 프라이빗 키를 구성 파일에 저장하지 않을 수 있습니다.

다음 예제에서는 [구성 파일](ebextensions.md)의 [리소스](environment-resources.md) 및 [파일](customize-containers-ec2.md#linux-files) 섹션이 Amazon S3 버킷에서 프라이빗 키 파일을 다운로드하는 것을 보여 줍니다.

**Example .ebextensions/privatekey.config**  

```
Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["elasticbeanstalk-us-west-2-123456789012"]
          roleName: 
            "Fn::GetOptionSetting": 
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"
files:
  # Private key
  "/etc/pki/tls/certs/server.key":
    mode: "000400"
    owner: root
    group: root
    authentication: "S3Auth"
    source: https://elasticbeanstalk-us-west-2-123456789012.s3.us-west-2.amazonaws.com/server.key
```

예제의 버킷 이름과 URL을 본인의 것으로 바꿉니다. 이 파일의 첫 번째 항목에서는 환경의 Auto Scaling 그룹의 메타데이터에 `S3Auth`라는 인증 방법을 추가합니다. 환경에 대해 사용자 지정 [인스턴스 프로파일](concepts-roles-instance.md)을 구성한 경우 이것이 사용되며, 그렇지 않은 경우 기본값인 `aws-elasticbeanstalk-ec2-role`이 적용됩니다. 기본 인스턴스 프로파일에는 Elastic Beanstalk 스토리지 버킷에서 읽을 권한이 있습니다. 다른 버킷을 사용하는 경우 [인스턴스 프로파일에 권한을 추가](iam-instanceprofile.md#iam-instanceprofile-addperms)합니다.

두 번째 항목에서는 `S3Auth` 인증 방법을 사용하여 지정된 URL에서 프라이빗 키를 다운로드하고 이를 `/etc/pki/tls/certs/server.key`에 저장합니다. 그러면 프록시 서버가 이 위치에서 프라이빗 키를 읽어 [인스턴스에서 HTTPS 연결을 종료](https-singleinstance.md)할 수 있습니다.

환경의 EC2 인스턴스에 할당된 인스턴스 프로파일에는 지정된 버킷에서 키 객체를 읽을 권한이 있어야 합니다. IAM의 객체를 읽을 권한이 [인스턴스 프로파일에 있는지](iam-instanceprofile.md#iam-instanceprofile-verify), 버킷 및 객체에 대한 권한이 인스턴스 프로파일을 금지하지 않는지 확인합니다.

**버킷의 권한을 보려면**

1. [Amazon S3 관리 콘솔](https://console.aws.amazon.com/s3/home)을 엽니다.

1. 버킷을 선택합니다.

1. **Properties(속성)**를 선택한 후 **권한**을 선택합니다.

1. 계정이 읽기 권한이 있는 버킷의 피부여자인지 확인합니다.

1. 버킷 정책이 연결되면 **Bucket policy(버킷 정책)**를 선택하여 버킷에 할당된 권한을 봅니다.