

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

# Amazon Chime SDK 메시징에서 ExpirationSettings 사용
<a name="expiration"></a>

`AppInstanceUser` 또는 `Channel`을 만들 때 `ExpirationSettings`를 사용하여 해당 리소스가 자동으로 삭제되도록 구성할 수 있습니다. `ExpirationSettings`는 스토리지 비용을 절감하고 리소스 한도 초과 문제를 방지하는 데 도움이 됩니다. 예를 들어 7일이 지난 후 사용하지 않는 채널을 삭제하거나 테스트 목적으로만 호출된 `AppInstanceUser`를 삭제할 수 있습니다.

`AppInstanceUser`의 경우 사용자 생성 시간을 기준으로 만료 기간을 지정합니다. `Channel`의 경우 채널 생성 시간 또는 마지막 메시지 시간을 기준으로 만료 기간을 지정합니다. 후자의 경우 메시지 활동을 사용하여 자동 삭제를 사용자 지정할 수 있습니다.

**중요**  
리소스가 만료된 후 곧바로 `ExpirationSettings`가 백그라운드 프로세스를 시작하여 해당 리소스를 삭제합니다. 프로세스는 일반적으로 6시간이 소요되지만 이 시간은 달라질 수 있습니다.  
아직 삭제되지 않은 만료된 `AppInstanceUsers` 및 `Channels`은 여전히 유효하고 활성 상태로 표시됩니다. 해당 항목들의 만료 설정을 업데이트하거나 제거할 수 있으며 시스템이 변경 사항을 반영합니다.

**Topics**
+ [ExpirationSettings 구성하기](#create-expiration)
+ [만료된 리소스 삭제에 대한AWS CloudTrail 이벤트](#ct-events)

## ExpirationSettings 구성하기
<a name="create-expiration"></a>

다음 섹션에서는 `Channel` 또는 `ExpirationSettings`의 `AppInstanceUser`을 구성하는 방법에 대해 설명합니다.

### 리소스 생성 시 ExpirationSettings 구성
<a name="configure-on-create"></a>

[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateAppInstanceUser.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateAppInstanceUser.html) 또는 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannel.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannel.html) API를 실행할 때 `ExpirationSettings`를 구성할 수 있습니다. `ExpirationSettings` 파라미터를 설정하는 경우 다음 IAM 권한을 부여해야 합니다.
+ `AppInstanceUser`를 생성할 때 `chime:PutAppInstanceUserExpirationSettings`
+ `Channel`을 생성할 때 `chime:PutChannelExpirationSettings`.

다음 예제에서는 AWS CLI를 사용하여 하루 후에 만료`AppInstanceUser`되는를 생성합니다.

```
aws chime-sdk-identity create-app-instance-user \
--app-instance-arn "app_instance_arn" \
--app-instance-user-id "backend-worker" \
--name "backend-worker" \
--expiration-settings '{
            "ExpirationDays": 1,
            "ExpirationCriterion": "CREATED_TIMESTAMP"
        }'
```

다음 예제에서는 AWS CLI를 사용하여 메시지를 마지막으로 수신한 후 하루 후에 만료`Channel`되는를 생성합니다.

```
aws chime-sdk-messaging create-channel \
--chime-bearer "app_instance_user_arn" \
--app-instance-arn "app_instance_arn" \
--name "firstChannel" \
--expiration-settings '{
            "ExpirationDays": 1,
            "ExpirationCriterion": "LAST_MESSAGE_TIMESTAMP"
        }'
```

### PUT API를 사용하여 ExpirationSettings 구성하기
<a name="configure-on-put"></a>

[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_PutAppInstanceUserExpirationSettings.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_PutAppInstanceUserExpirationSettings.html) 및 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_PutChannelExpirationSettings.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_PutChannelExpirationSettings.html) API를 사용하여 `ExpirationSettings`를 생성, 업데이트 및 삭제할 수도 있습니다.

다음 예제에서는 AWS CLI를 사용하여의 `AppInstanceUser`를 업데이트하는 방법을 보여줍니다`ExpirationSettings`.

```
aws chime-sdk-identity put-app-instance-user-expiration-settings \
--app-instance-user-arn "app_instance_user_arn" \
--expiration-settings '{
            "ExpirationDays": 30,
            "ExpirationCriterion": "CREATED_TIMESTAMP"
        }'
```

다음 예제에서는 AWS CLI를 사용하여 채널의를 삭제하는 방법을 보여줍니다`ExpirationSettings`.

```
aws chime-sdk-messaging put-channel-expiration-settings \
--chime-bearer "app_instance_user_arn" \
--channel-arn "channel_arn"
```

## 만료된 리소스 삭제에 대한AWS CloudTrail 이벤트
<a name="ct-events"></a>

시스템에서 만료된 리소스를 삭제하면 `ExpireAppInstanceUser` 또는 `ExpireChannel` 이벤트가 AWS CloudTrail로 전송됩니다. 이벤트 유형은 삭제된 자산의 유형에 따라 달라집니다.

다음 예시는 `AppInstanceUser` 이벤트를 보여줍니다.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "accountId": "123456789012",
        "invokedBy": "chime.amazonaws.com"
    },
    "eventTime": "2023-03-15T00:00:00Z",
    "eventSource": "chime.amazonaws.com",
    "eventName": "ExpireAppInstanceUser",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "chime.amazonaws.com",
    "userAgent": "chime.amazonaws.com",
    "requestParameters": null,
    "responseElements": null,
    "eventID": "12345678-1234-1234-1234-123456789012",
    "readOnly": false,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS::Chime::AppInstanceUser",
            "ARN": "arn:aws:chime:us-east-1:123456789012:app-instance/app-instance-id/user/user-id"
        }
    ],
    "eventType": "AwsServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "reason": "AppInstanceUser deleted due to expiration settings."
    },
    "eventCategory": "Management"
}
```