

# CloudFront의 서비스 연결 역할 사용
<a name="using-service-linked-roles"></a>

Amazon CloudFront는 AWS Identity and Access Management(IAM) [서비스 연결 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)을 사용합니다. 서비스 연결 역할은 CloudFront에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 CloudFront에서 미리 정의하며 서비스가 사용자를 대신하여 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함합니다.

서비스 연결 역할을 사용하면 필요한 권한을 수동으로 추가할 필요가 없으므로 CloudFront를 더 쉽게 설정할 수 있습니다. CloudFront에서 서비스 연결 역할의 권한을 정의하므로 다르게 정의되지 않은 한, CloudFront만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 부주의로 삭제할 수 없기 때문에 CloudFront 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 [IAM으로 작업하는 AWS 서비스](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)를 참조하고 **서비스 연결 역할(Service-linked roles)** 열에 **예(Yes)**가 있는 서비스를 찾으세요. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 **예** 링크를 선택합니다.

## CloudFront VPC 오리진에 대한 서비스 연결 역할 권한
<a name="slr-permissions"></a>

CloudFront VPC 오리진은 **AWSServiceRoleForCloudFrontVPCOrigin**이라는 서비스 연결 역할을 사용합니다. CloudFront가 사용자를 대신하여 EC2 탄력적 네트워크 인터페이스 및 보안 그룹을 관리할 수 있습니다.

AWSServiceRoleForCloudFrontVPCOrigin 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
+ `vpcorigin.cloudfront.amazonaws.com`

이름이 AWSCloudFrontVPCOriginServiceRolePolicy인 연결 권한 정책은 CloudFront VPC 오리진이 지정된 리소스에 대해 다음 작업을 완료하도록 허용합니다.
+ 작업: `arn:aws:ec2:*:*:network-interface/*`에 대한 `ec2:CreateNetworkInterface`
+ 작업: `arn:aws:ec2:*:*:subnet/*` 및 `arn:aws:ec2:*:*:security-group/*`의 `ec2:CreateNetworkInterface`
+ 작업: `arn:aws:ec2:*:*:security-group/*`에 대한 `ec2:CreateSecurityGroup`
+ 작업: `arn:aws:ec2:*:*:vpc/*`에 대한 `ec2:CreateSecurityGroup`
+ 작업: `supported AWS resources that have the aws:ResourceTag/aws.cloudfront.vpcorigin tag enabled`의 `ec2:ModifyNetworkInterfaceAttribute`, `ec2:DeleteNetworkInterface`, `ec2:DeleteSecurityGroup`, `ec2:AssignIpv6Addresses`, `ec2:UnassignIpv6Addresses` 
+ 작업: `all AWS resources that the actions support`의 `ec2:DescribeNetworkInterfaces`, `ec2:DescribeSecurityGroups`, `ec2:DescribeInstances`, `ec2:DescribeInternetGateways`, `ec2:DescribeSubnets`, `ec2:DescribeRegions`, `ec2:DescribeAddresses` 
+ 작업: `arn:aws:ec2:*:*:security-group/*` 및 `arn:aws:ec2:*:*:network-interface/*`의 `ec2:CreateTags`
+ 작업: `all AWS resources that the actions support`의 `elasticloadbalancing:DescribeLoadBalancers`, `elasticloadbalancing:DescribeListeners`, `elasticloadbalancing:DescribeTargetGroups` 

사용자, 그룹 또는 역할이 서비스 연결 역할을 생성, 편집 또는 삭제할 수 있도록 사용 권한을 구성해야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)을 참조하세요.

## CloudFront VPC 오리진에 대한 서비스 연결 역할 생성
<a name="create-slr"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. AWS Management Console, AWS CLI 또는 AWS API에서 VPC 오리진을 만들 때 CloudFront VPC 오리진은 서비스 연결 역할을 만듭니다.

이 서비스 연결 역할을 삭제했다가 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. VPC 오리진을 만들 때 CloudFront VPC 오리진은 서비스 연결 역할을 다시 만듭니다.

## CloudFront VPC 오리진에 대한 서비스 연결 역할 편집
<a name="edit-slr"></a>

CloudFront VPC 오리진에서는 AWSServiceRoleForCloudFrontVPCOrigin 서비스 연결 역할을 편집하도록 허용하지 않습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)을 참조하세요.

## CloudFront VPC 오리진에 대한 서비스 연결 역할 삭제
<a name="delete-slr"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 서비스 연결 역할에 대한 리소스를 먼저 정리해야 수동으로 삭제할 수 있습니다.

**참고**  
리소스를 삭제하려 할 때 CloudFront 서비스가 역할을 사용 중이면 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

**AWSServiceRoleForCloudFrontVPCOrigin에서 사용하는 CloudFront VPC 오리진 리소스를 삭제하려면 다음과 같이 합니다.**
+ 계정에서 VPC 오리진 리소스를 삭제합니다.
  + CloudFront가 계정에서 리소스 삭제를 완료하는 데 다소 시간이 걸릴 수 있습니다. 서비스 연결 역할을 즉시 삭제할 수 없는 경우 기다렸다가 다시 시도합니다.

**IAM을 사용하여 수동으로 서비스 연결 역할을 삭제하려면**

IAM 콘솔, AWS CLI 또는 AWS API를 사용하여 AWSServiceRoleForCloudFrontVPCOrigin 서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서의 [서비스 연결 역할 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)**를 참조하십시오.

## CloudFront VPC 오리진 서비스 연결 역할을 지원하는 리전
<a name="slr-regions"></a>

CloudFront VPC 오리진에서는 서비스가 제공되는 모든 리전에서 서비스 연결 역할을 사용하도록 지원하지 않습니다. 다음 리전에서 AWSServiceRoleForCloudFrontVPCOrigin 역할을 사용할 수 있습니다.


| 리전 이름 | 리전 자격 증명 | CloudFront에서 지원 | 
| --- | --- | --- | 
| 미국 동부(버지니아 북부) | us-east-1 | 예 | 
| 미국 동부(오하이오) | us-east-2 | 예 | 
| 미국 서부(캘리포니아 북부) | us-west-1(AZ usw1-az2 제외) | 예 | 
| 미국 서부(오리건) | us-west-2 | 예 | 
| 아프리카(케이프타운) | af-south-1 | 예 | 
| 아시아 태평양(홍콩) | ap-east-1 | 예 | 
| 아시아 태평양(자카르타) | ap-southeast-3 | 예 | 
| 아시아 태평양(멜버른) | ap-southeast-4 | 예 | 
| 아시아 태평양(뭄바이) | ap-south-1 | 예 | 
| 아시아 태평양(하이데라바드) | ap-south-2 | 예 | 
| 아시아 태평양(오사카) | ap-northeast-3 | 예 | 
| 아시아 태평양(서울) | ap-northeast-2 | 예 | 
| 아시아 태평양(싱가포르) | ap-southeast-1 | 예 | 
| 아시아 태평양(시드니) | ap-southeast-2 | 예 | 
| 아시아 태평양(도쿄) | ap-northeast-1(AZ apne1-az3 제외) | 예 | 
| 캐나다(중부) | ca-central-1(AZ cac1-az3 제외) | 예 | 
| 캐나다 서부(캘거리) | ca-west-1 | 예 | 
| 유럽(프랑크푸르트) | eu-central-1 | 예 | 
| 유럽(아일랜드) | eu-west-1 | 예 | 
| 유럽(런던) | eu-west-2 | 예 | 
| 유럽(밀라노) | eu-south-1 | 예 | 
| 유럽(파리) | eu-west-3 | 예 | 
| 유럽(스페인) | eu-south-2 | 예 | 
| 유럽(스톡홀름) | eu-north-1 | 예 | 
| 유럽(취리히) | eu-central-2 | 예 | 
| 이스라엘(텔아비브) | il-central-1 | 예 | 
| 중동(바레인) | me-south-1 | 예 | 
| 중동(UAE) | me-central-1 | 예 | 
| 남아메리카(상파울루) | sa-east-1 | 예 | 