

# 기본 백업 및 복원 설정
<a name="SQLServer.Procedural.Importing.Native.Enabling"></a>

기본 백업 및 복원을 설정하려면 다음 세 가지 구성 요소가 필요합니다.

1. 백업 파일을 저장할 Amazon S3 버킷.

   백업 파일에 사용한 후 RDS로 마이그레이션하려는 백업을 업로드할 S3 버킷이 있어야 합니다. 이미 Amazon S3 버킷이 있으면 그 버킷을 사용하면 됩니다. 없는 경우 [버킷을 생성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingaBucket.html)할 수 있습니다. 또는 `SQLSERVER_BACKUP_RESTORE`을 사용하여 AWS Management Console 옵션을 추가할 때 새 버킷이 생성되도록 선택할 수도 있습니다.

   S3 사용에 대한 자세한 내용은 [Amazon Simple Storage Service 사용 설명서](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)를 참조하세요.

1. 버킷에 액세스하기 위한 AWS Identity and Access Management(IAM) 역할.

   이미 IAM 역할이 있으면 그 역할을 사용하면 됩니다. AWS Management Console을 사용하여 `SQLSERVER_BACKUP_RESTORE` 옵션을 추가할 때 새 IAM 역할이 생성되도록 선택할 수도 있습니다. 또는 수동으로 역할을 새로 만들 수 있습니다.

   수동으로 새 IAM 역할을 만들려면 다음 단원에서 설명하는 방법을 사용하십시오. 기존 IAM 역할에 신뢰 관계와 권한 정책을 연결하려는 경우에도 동일한 작업을 수행합니다.

1. DB 인스턴스의 옵션 그룹에 `SQLSERVER_BACKUP_RESTORE` 옵션 추가.

   DB 인스턴스에서 기본 백업 및 복원을 활성화하려면 DB 인스턴스의 옵션 그룹에 `SQLSERVER_BACKUP_RESTORE` 옵션을 추가합니다. 자세한 정보와 지침은 [SQL Server에서 기본 백업 및 복원 지원](Appendix.SQLServer.Options.BackupRestore.md) 섹션을 참조하십시오.

## 기본 백업 및 복원을 위한 IAM 역할 수동으로 만들기
<a name="SQLServer.Procedural.Importing.Native.Enabling.IAM"></a>

기본 백업 및 복원에 사용할 새 IAM 역할을 수동으로 생성할 수 있습니다. 이 경우 Amazon RDS 서비스에서 Amazon S3 버킷으로 권한을 위임하는 역할을 생성합니다. IAM 역할을 만들 때 신뢰 관계와 권한 정책을 연결합니다. 신뢰 관계를 통해 RDS가 이 역할을 맡도록 허용합니다. 권한 정책은 이 역할이 수행할 수 있는 작업을 정의합니다. 역할을 만드는 방법에 대한 자세한 내용은 [AWS 서비스에 대한 권한을 위임할 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)을 참조하세요.

기본 백업 및 복원 기능의 경우, 이 단원의 예제와 비슷한 신뢰 관계 및 권한 정책을 사용합니다. 다음 예제에서는 서비스 보안 주체 이름 `rds.amazonaws.com`을 모든 서비스 계정의 별칭으로 사용합니다. 다른 예에서는 신뢰 정책에서 액세스 권한을 부여할 다른 계정, 사용자, 역할을 식별하기 위해 Amazon 리소스 이름(ARN)을 지정합니다.

서비스 권한을 특정 리소스로 제한하는 리소스 기반 신뢰 관계의 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 및 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) 전역 조건 컨텍스트 키를 사용하는 것이 좋습니다. 이는 [혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)를 방지하는 가장 효과적인 방법입니다.

전역 조건 컨텍스트 키를 모두 사용하고 `aws:SourceArn` 값에 계정 ID가 포함되도록 할 수 있습니다. 이 경우 `aws:SourceAccount` 값과 `aws:SourceArn` 값의 계정이 동일한 문에서 사용될 때 동일한 계정 ID를 사용해야 합니다.
+ 단일 리소스에 대한 교차 서비스 액세스를 원하는 경우 `aws:SourceArn`을 사용하세요.
+ 해당 계정의 모든 리소스가 교차 서비스 사용과 연결되도록 허용하려는 경우 `aws:SourceAccount`를 사용하세요.

신뢰 관계에서는 역할에 액세스하는 리소스의 전체 ARN이 포함된 `aws:SourceArn` 전역 조건 컨텍스트 키를 사용해야 합니다. 기본 백업 및 복원의 경우 다음 예와 같이 DB 옵션 그룹과 DB 인스턴스를 모두 포함해야 합니다.

**Example 기본 백업 및 복원을 위한 전역 조건 컨텍스트 키와의 신뢰 관계**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "rds.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": [
                        "arn:aws:rds:Region:0123456789:db:db_instance_identifier",
                        "arn:aws:rds:Region:0123456789:og:option_group_name"
                    ],
                    "aws:SourceAccount": "0123456789"
                }
            }
        }
    ]
}
```

다음 예에서는 ARN을 사용하여 리소스를 지정합니다. ARN 사용에 대한 자세한 내용은 [Amazon 리소스 이름(ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)을 참조하십시오.

**Example 암호화 지원 없는 기본 백업 및 복원을 위한 권한 정책**    
****  

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

**Example 암호화 지원 있는 기본 백업 및 복원을 위한 권한 정책**  
백업 파일을 암호화하려면 권한 정책에 암호화 키를 포함시켜야 합니다. 암호화 키에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*에서 [시작하기](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html)를 참조하세요.  
대칭 암호화 KMS 키를 사용하여 백업을 암호화해야 합니다. Amazon RDS에서는 비대칭 KMS 키가 지원되지 않습니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [대칭 암호화 KMS 키 생성](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)을 참조하세요.  
IAM 역할은 KMS 키의 키 사용자 및 키 관리자여야 합니다. 즉, 키 정책에서 지정해야 합니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [대칭 암호화 KMS 키 생성](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)을 참조하세요.  
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessToKey",
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:Encrypt",
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id"
    },
    {
      "Sid": "AllowAccessToS3",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
    },
    {
      "Sid": "GetS3Info",
      "Effect": "Allow",
      "Action": [
        "s3:GetObjectAttributes",
        "s3:GetObject",
        "s3:PutObject",
        "s3:ListMultipartUploadParts",
        "s3:AbortMultipartUpload"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
    }
  ]
}
```

**Example 액세스 포인트를 사용하며 암호화 지원 없는 기본 백업 및 복원을 위한 권한 정책**  
S3 액세스 포인트를 사용하는 데 필요한 작업은 S3 버킷과 동일합니다. 리소스 경로가 S3 액세스 포인트 ARN 패턴과 일치하도록 업데이트됩니다.  
RDS는 프라이빗 VPC를 게시하지 않으므로 **네트워크 오리진: 인터넷**을 사용하도록 액세스 포인트를 구성해야 합니다. RDS 인스턴스의 S3 트래픽은 프라이빗 VPC를 통과하므로 퍼블릭 인터넷을 통과하지 않습니다.  
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
                ],
            "Resource": [
            "arn:aws:s3:us-east-1:111122223333:accesspoint/amzn-s3-demo-ap",
            "arn:aws:s3:::underlying-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObjectAttributes",
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload"
                ],
                "Resource": [
                "arn:aws:s3:us-east-1:111122223333:accesspoint/amzn-s3-demo-ap/*",
                    "arn:aws:s3:::underlying-bucket/*"
                    ]
                }
            ]   
}
```

**Example 암호화 지원이 없는 디렉터리 버킷에 대한 액세스 포인트를 사용한 네이티브 백업 및 복원을 위한 권한 정책**  
디렉터리 버킷은 범용 버킷과 다른 [세션 기반 권한 부여 메커니즘](https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-express-authenticating-authorizing.html)을 사용하므로 기본 백업 복원에 필요한 유일한 권한은 버킷 수준 “s3express:CreateSession” 권한입니다. 객체 수준 액세스를 구성하려면 [디렉터리 버킷에 액세스 포인트](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-points-directory-buckets-policies.html)를 사용해야 합니다.  
RDS는 프라이빗 VPC를 게시하지 않으므로 **네트워크 오리진: 인터넷**을 사용하도록 액세스 포인트를 구성해야 합니다. RDS 인스턴스의 S3 트래픽은 프라이빗 VPC를 통과하므로 퍼블릭 인터넷을 통과하지 않습니다.  
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
        "Effect": "Allow",
        "Action": "s3express:CreateSession",
        "Resource": 
            [
                "arn:aws:s3express:us-east-1:111122223333:accesspoint/amzn-s3-demo-accesspoint--use1-az6--xa-s3",
                "arn:aws:s3express:us-east-1:111122223333:bucket/amzn-s3-demo-bucket--use1-az6--x-s3"
            ]
        }
    ]
}
```