

# AWS CLI를 사용한 Amazon Data Lifecycle Manager 예제
<a name="cli_dlm_code_examples"></a>

다음 코드 예제에서는 Amazon Data Lifecycle Manager에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여 줍니다.

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

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

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

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

### `create-default-role`
<a name="dlm_CreateDefaultRole_cli_topic"></a>

다음 코드 예제에서는 `create-default-role`의 사용 방법을 보여줍니다.

**AWS CLI**  
**Amazon DLM에 필요한 IAM 역할을 생성하려면**  
다음 `dlm create-default-role` 예제에서는 스냅샷 관리를 위한 AWSDataLifecycleManagerDefaultRole 기본 역할을 만듭니다.  

```
aws dlm create-default-role \
    --resource-type snapshot
```
이 명령은 출력을 생성하지 않습니다.  
자세한 내용은 *Amazon Elastic Compute Cloud 사용 설명서*의 [Amazon Data Lifecycle Manager에 대한 기본 서비스 역할](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/service-role.html#default-service-roles)을 참조하세요.  
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CreateDefaultRole](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/create-default-role.html)을 참조하세요.

### `create-lifecycle-policy`
<a name="dlm_CreateLifecyclePolicy_cli_topic"></a>

다음 코드 예제에서는 `create-lifecycle-policy`의 사용 방법을 보여줍니다.

**AWS CLI**  
**수명 주기 정책을 생성하려면**  
다음 `create-lifecycle-policy` 예제에서는 지정된 시간에 볼륨의 일일 스냅샷을 생성하는 수명 주기 정책을 생성합니다. 지정된 태그가 스냅샷에 추가되고 태그도 볼륨에서 복사되어 스냅샷에 추가됩니다. 새 스냅샷 생성이 지정된 최대 수를 초과하는 경우 가장 오래된 스냅샷이 삭제됩니다.  

```
aws dlm create-lifecycle-policy \
    --description "My first policy" \
    --state ENABLED \
    --execution-role-arn arn:aws:iam::12345678910:role/AWSDataLifecycleManagerDefaultRole \
    --policy-details file://policyDetails.json
```
`policyDetails.json`의 콘텐츠:  

```
{
    "ResourceTypes": [
        "VOLUME"
    ],
    "TargetTags": [
        {
            "Key": "costCenter",
            "Value": "115"
        }
    ],
    "Schedules":[
        {
            "Name": "DailySnapshots",
            "CopyTags": true,
            "TagsToAdd": [
                {
                    "Key": "type",
                     "Value": "myDailySnapshot"
                }
            ],
            "CreateRule": {
                "Interval": 24,
                "IntervalUnit": "HOURS",
                "Times": [
                    "03:00"
                ]
            },
            "RetainRule": {
                "Count":5
            }
        }
    ]
}
```
출력:  

```
{
    "PolicyId": "policy-0123456789abcdef0"
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [CreateLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/create-lifecycle-policy.html)를 참조하세요.

### `delete-lifecycle-policy`
<a name="dlm_DeleteLifecyclePolicy_cli_topic"></a>

다음 코드 예제에서는 `delete-lifecycle-policy`의 사용 방법을 보여줍니다.

**AWS CLI**  
**수명 주기 정책을 삭제하려면**  
다음 예제에서는 지정한 수명 주기 정책을 삭제합니다.  

```
aws dlm delete-lifecycle-policy --policy-id policy-0123456789abcdef0
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [DeleteLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/delete-lifecycle-policy.html)를 참조하세요.

### `get-lifecycle-policies`
<a name="dlm_GetLifecyclePolicies_cli_topic"></a>

다음 코드 예제에서는 `get-lifecycle-policies`의 사용 방법을 보여줍니다.

**AWS CLI**  
**수명 주기 정책 요약을 가져오려면**  
다음 `get-lifecycle-policies` 예제에서는 모든 수명 주기 정책을 나열합니다.  

```
aws dlm get-lifecycle-policies
```
출력:  

```
{
    "Policies": [
        {
            "PolicyId": "policy-0123456789abcdef0",
            "Description": "My first policy",
            "State": "ENABLED"
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetLifecyclePolicies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/get-lifecycle-policies.html)를 참조하세요.

### `get-lifecycle-policy`
<a name="dlm_GetLifecyclePolicy_cli_topic"></a>

다음 코드 예제에서는 `get-lifecycle-policy`의 사용 방법을 보여줍니다.

**AWS CLI**  
**수명 주기 정책을 삭제하려면**  
다음 `get-lifecycle-policy` 예제에서는 지정된 정책의 세부 정보를 표시합니다.  

```
aws dlm get-lifecycle-policy \
    --policy-id policy-0123456789abcdef0
```
출력:  

```
{
    "Policy": {
        "PolicyId": "policy-0123456789abcdef0",
        "Description": "My policy",
        "State": "ENABLED",
        "ExecutionRoleArn": "arn:aws:iam::123456789012:role/AWSDataLifecycleManagerDefaultRole",
        "DateCreated": "2019-08-08T17:45:42Z",
        "DateModified": "2019-08-08T17:45:42Z",
        "PolicyDetails": {
            "PolicyType": "EBS_SNAPSHOT_MANAGEMENT",
            "ResourceTypes": [
                "VOLUME"
            ],
            "TargetTags": [
              {
                  "Key": "costCenter",
                  "Value": "115"
              }
            ],
            "Schedules": [
              {
                  "Name": "DailySnapshots",
                  "CopyTags": true,
                  "TagsToAdd": [
                    {
                        "Key": "type",
                        "Value": "myDailySnapshot"
                    }
                  ],
                  "CreateRule": {
                    "Interval": 24,
                    "IntervalUnit": "HOURS",
                    "Times": [
                        "03:00"
                    ]
                  },
                  "RetainRule": {
                    "Count": 5
                  }
              }
            ]
        }
    }
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [GetLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/get-lifecycle-policy.html)를 참조하세요.

### `update-lifecycle-policy`
<a name="dlm_UpdateLifecyclePolicy_cli_topic"></a>

다음 코드 예제에서는 `update-lifecycle-policy`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예제 1: 수명 주기 정책을 활성화하려면**  
다음 `update-lifecycle-policy` 예제에서는 지정된 수명 주기 정책을 활성화합니다.  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0 \
    --state ENABLED
```
**예제 2: 수명 주기 정책을 비활성화하려면**  
다음 `update-lifecycle-policy` 예제에서는 지정된 수명 주기 정책을 비활성화합니다.  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0 \
    --state DISABLED
```
**예제 3: 수명 주기 정책의 세부 정보를 업데이트하려면**  
다음 `update-lifecycle-policy` 예제에서는 지정된 수명 주기 정책의 대상 태그를 업데이트합니다.  

```
aws dlm update-lifecycle-policy \
    --policy-id policy-0123456789abcdef0
    --policy-details file://policyDetails.json
```
`policyDetails.json`의 콘텐츠: 이 파일에서 참조되지 않은 기타 세부 정보는 명령에 의해 변경되지 않습니다.  

```
{
    "TargetTags": [
        {
            "Key": "costCenter",
            "Value": "120"
        },
        {
            "Key": "project",
            "Value": "lima"
        }
    ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [UpdateLifecyclePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dlm/update-lifecycle-policy.html)를 참조하세요.