

버전 5(V5) AWS Tools for PowerShell 가 릴리스되었습니다.

변경 사항 해제 및 애플리케이션 마이그레이션에 대한 자세한 내용은 [마이그레이션 주제를](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html) 참조하세요.

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

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

# Tools for PowerShell V5를 사용한 CloudFront 예제
<a name="powershell_cloudfront_code_examples"></a>

다음 코드 예제에서는 CloudFront에서 AWS Tools for PowerShell V5를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `Get-CFCloudFrontOriginAccessIdentity`
<a name="cloudfront_GetCloudFrontOriginAccessIdentity_powershell_topic"></a>

다음 코드 예시는 `Get-CFCloudFrontOriginAccessIdentity`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 이 예제는 -Id 파라미터로 지정된 특정 Amazon CloudFront 원본 액세스 ID를 반환합니다. -Id 파라미터가 필수는 아니지만 이 파라미터를 지정하지 않으면 결과가 반환되지 않습니다.**  

```
Get-CFCloudFrontOriginAccessIdentity -Id E3XXXXXXXXXXRT
```
**출력:**  

```
      CloudFrontOriginAccessIdentityConfig    Id                                      S3CanonicalUserId
      ------------------------------------    --                                      -----------------
      Amazon.CloudFront.Model.CloudFrontOr... E3XXXXXXXXXXRT                          4b6e...
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [GetCloudFrontOriginAccessIdentity](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFCloudFrontOriginAccessIdentityConfig`
<a name="cloudfront_GetCloudFrontOriginAccessIdentityConfig_powershell_topic"></a>

다음 코드 예시는 `Get-CFCloudFrontOriginAccessIdentityConfig`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 이 예제는 -Id 파라미터로 지정된 단일 Amazon CloudFront 원본 액세스 ID에 대한 구성 정보를 반환합니다. -Id 파라미터가 지정되지 않은 경우 오류가 발생합니다.**  

```
Get-CFCloudFrontOriginAccessIdentityConfig -Id E3XXXXXXXXXXRT
```
**출력:**  

```
      CallerReference                                             Comment
      ---------------                                             -------
      mycallerreference: 2/1/2011 1:16:32 PM                      Caller reference: 2/1/2011 1:16:32 PM
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [GetCloudFrontOriginAccessIdentityConfig](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFCloudFrontOriginAccessIdentityList`
<a name="cloudfront_ListCloudFrontOriginAccessIdentities_powershell_topic"></a>

다음 코드 예시는 `Get-CFCloudFrontOriginAccessIdentityList`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 이 예제는 Amazon CloudFront 원본 액세스 ID 목록을 반환합니다. -MaxItem 파라미터는 값 2를 지정하므로 결과에는 두 개의 ID가 포함됩니다.**  

```
Get-CFCloudFrontOriginAccessIdentityList -MaxItem 2
```
**출력:**  

```
IsTruncated : True
Items       : {E326XXXXXXXXXT, E1YWXXXXXXX9B}
Marker      :
MaxItems    : 2
NextMarker  : E1YXXXXXXXXX9B
Quantity    : 2
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [ListCloudFrontOriginAccessIdentities](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFDistribution`
<a name="cloudfront_GetDistribution_powershell_topic"></a>

다음 코드 예시는 `Get-CFDistribution`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 특정 배포에 대한 정보를 검색합니다.**  

```
Get-CFDistribution -Id EXAMPLE0000ID
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [GetDistribution](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Get-CFDistributionConfig`
<a name="cloudfront_GetDistributionConfig_powershell_topic"></a>

다음 코드 예시는 `Get-CFDistributionConfig`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 특정 배포에 대한 구성을 검색합니다.**  

```
Get-CFDistributionConfig -Id EXAMPLE0000ID
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [GetDistributionConfig](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFDistributionList`
<a name="cloudfront_ListDistributions_powershell_topic"></a>

다음 코드 예시는 `Get-CFDistributionList`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 배포판을 반환합니다.**  

```
Get-CFDistributionList
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [ListDistributions](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `New-CFDistribution`
<a name="cloudfront_CreateDistribution_powershell_topic"></a>

다음 코드 예시는 `New-CFDistribution`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 로깅 및 캐싱으로 구성된 기본 CloudFront 배포를 생성합니다.**  

```
$origin = New-Object Amazon.CloudFront.Model.Origin
$origin.DomainName = "amzn-s3-demo-bucket.s3.amazonaws.com"
$origin.Id = "UniqueOrigin1"
$origin.S3OriginConfig = New-Object Amazon.CloudFront.Model.S3OriginConfig
$origin.S3OriginConfig.OriginAccessIdentity = ""
New-CFDistribution `
      -DistributionConfig_Enabled $true `
      -DistributionConfig_Comment "Test distribution" `
      -Origins_Item $origin `
      -Origins_Quantity 1 `
      -Logging_Enabled $true `
      -Logging_IncludeCookie $true `
      -Logging_Bucket amzn-s3-demo-logging-bucket.s3.amazonaws.com `
      -Logging_Prefix "help/" `
      -DistributionConfig_CallerReference Client1 `
      -DistributionConfig_DefaultRootObject index.html `
      -DefaultCacheBehavior_TargetOriginId $origin.Id `
      -ForwardedValues_QueryString $true `
      -Cookies_Forward all `
      -WhitelistedNames_Quantity 0 `
      -TrustedSigners_Enabled $false `
      -TrustedSigners_Quantity 0 `
      -DefaultCacheBehavior_ViewerProtocolPolicy allow-all `
      -DefaultCacheBehavior_MinTTL 1000 `
      -DistributionConfig_PriceClass "PriceClass_All" `
      -CacheBehaviors_Quantity 0 `
      -Aliases_Quantity 0
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [CreateDistribution](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `New-CFInvalidation`
<a name="cloudfront_CreateInvalidation_powershell_topic"></a>

다음 코드 예시는 `New-CFInvalidation`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예제 1: 이 예제에서는 ID가 EXAMPLENSTXAXE인 배포에 대해 새 무효화를 생성합니다. CallerReference는 사용자가 선택한 고유한 ID입니다. 이 경우 2019년 5월 15일 오전 9시를 나타내는 타임스탬프가 사용됩니다. \$1Paths 변수는 사용자가 원하지 않는 이미지 및 미디어 파일에 대한 세 가지 경로를 배포 캐시의 일부로 저장합니다. -Paths\$1Quantity 매개 변수 값은 -Paths\$1Item 매개 변수에 지정된 총 경로 수입니다.**  

```
$Paths = "/images/*.gif", "/images/image1.jpg", "/videos/*.mp4"
New-CFInvalidation -DistributionId "EXAMPLENSTXAXE" -InvalidationBatch_CallerReference 20190515090000 -Paths_Item $Paths -Paths_Quantity 3
```
**출력:**  

```
Invalidation                         Location                                                                                          
------------                         --------                                                                                          
Amazon.CloudFront.Model.Invalidation https://cloudfront.amazonaws.com/2018-11-05/distribution/EXAMPLENSTXAXE/invalidation/EXAMPLE8NOK9H
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [CreateInvalidation](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `New-CFSignedCookie`
<a name="cloudfront_New-CFSignedCookie_powershell_topic"></a>

다음 코드 예시는 `New-CFSignedCookie`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예제 1: 준비된 정책을 사용하여 지정된 리소스에 대해 서명된 쿠키를 생성합니다. 쿠키는 1년 동안 유효합니다.**  

```
$params = @{
	"ResourceUri"="http://xyz.cloudfront.net/image1.jpeg"
	"KeyPairId"="AKIAIOSFODNN7EXAMPLE"
	"PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem"
	"ExpiresOn"=(Get-Date).AddYears(1)
}
New-CFSignedCookie @params
```
**출력:**  

```
Expires
-------
[CloudFront-Expires, 1472227284]
```
**예제 2: 사용자 지정 정책을 사용하여 지정된 리소스에 대해 서명된 쿠키를 생성합니다. 쿠키는 24시간 뒤부터 유효하며 1주일 후에 만료됩니다.**  

```
$start = (Get-Date).AddHours(24)
$params = @{
	"ResourceUri"="http://xyz.cloudfront.net/content/*.jpeg"
	"KeyPairId"="AKIAIOSFODNN7EXAMPLE"
	"PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem"
	"ExpiresOn"=$start.AddDays(7)
    "ActiveFrom"=$start
}

New-CFSignedCookie @params
```
**출력:**  

```
Policy
------
[CloudFront-Policy, eyJTd...wIjo...
```
**예제 3: 사용자 지정 정책을 사용하여 지정된 리소스에 대해 서명된 쿠키를 생성합니다. 쿠키는 24시간 뒤부터 유효하며 1주일 후에 만료됩니다. 리소스에 대한 액세스는 지정된 IP 범위로 제한됩니다.**  

```
$start = (Get-Date).AddHours(24)
$params = @{
	"ResourceUri"="http://xyz.cloudfront.net/content/*.jpeg"
	"KeyPairId"="AKIAIOSFODNN7EXAMPLE"
	"PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem"
	"ExpiresOn"=$start.AddDays(7)
    "ActiveFrom"=$start
	"IpRange"="192.0.2.0/24"
}

New-CFSignedCookie @params
```
**출력:**  

```
Policy                                                                                                                                         ------                                                                                                                                         [CloudFront-Policy, eyJTd...wIjo...
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [New-CFSignedCookie](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `New-CFSignedUrl`
<a name="cloudfront_New-CFSignedUrl_powershell_topic"></a>

다음 코드 예시는 `New-CFSignedUrl`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예제 1: 준비된 정책을 사용하여 지정된 리소스에 대해 서명된 URL을 생성합니다. URL은 1시간 동안 유효합니다. 서명된 URL이 포함된 System.Uri 객체가 파이프라인으로 내보내집니다.**  

```
$params = @{
	"ResourceUri"="https://cdn.example.com/index.html"
	"KeyPairId"="AKIAIOSFODNN7EXAMPLE"
	"PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem"
	"ExpiresOn"=(Get-Date).AddHours(1)
}
New-CFSignedUrl @params
```
**예제 2: 사용자 지정 정책을 사용하여 지정된 리소스에 대해 서명된 URL을 생성합니다. URL은 24시간 뒤부터 유효하며 1주일 후에 만료됩니다.**  

```
$start = (Get-Date).AddHours(24)
$params = @{
	"ResourceUri"="https://cdn.example.com/index.html"
	"KeyPairId"="AKIAIOSFODNN7EXAMPLE"
	"PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem"
	"ExpiresOn"=(Get-Date).AddDays(7)
    "ActiveFrom"=$start
}
New-CFSignedUrl @params
```
**예제 3: 사용자 지정 정책을 사용하여 지정된 리소스에 대해 서명된 URL을 생성합니다. URL은 24시간 뒤부터 유효하며 1주일 후에 만료됩니다. 리소스에 대한 액세스는 지정된 IP 범위로 제한됩니다.**  

```
$start = (Get-Date).AddHours(24)
$params = @{
	"ResourceUri"="https://cdn.example.com/index.html"
	"KeyPairId"="AKIAIOSFODNN7EXAMPLE"
	"PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem"
	"ExpiresOn"=(Get-Date).AddDays(7)
    "ActiveFrom"=$start
    "IpRange"="192.0.2.0/24"	
}
New-CFSignedUrl @params
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [New-CFSignedUrl](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.