

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

# Amazon Chime SDK용 서버 애플리케이션 구축
<a name="build-server-app"></a>

다음 섹션의 정보는 Amazon Chime SDK 서버 애플리케이션을 구축하는 방법을 설명합니다. 각 섹션은 필요에 따라 예제 코드를 제공하며, 이 코드를 필요에 맞게 조정할 수 있습니다.

**Topics**
+ [Amazon Chime SDK의 IAM 사용자 또는 역할 생성하기](create-iam-users-roles.md)
+ [Amazon Chime AWS SDK에 대한 APIs를 호출하도록 SDK 구성](invoke-apis.md)
+ [Amazon Chime SDK용 회의 생성](create-meeting.md)
+ [Amazon Chime SDK용 참석자 생성](create-attendee.md)
+ [Amazon Chime SDK 클라이언트에 전송](send-response-to-client.md)

# Amazon Chime SDK의 IAM 사용자 또는 역할 생성하기
<a name="create-iam-users-roles"></a>

사용자를 IAM 사용자 또는 사용 사례에 적합한 역할로 생성합니다. 그런 다음 해당 사용자에게 다음 정책을 할당합니다. 이렇게 하면 서버 애플리케이션에 내장된 AWS SDK에 필요한 권한을 확보할 수 있습니다. 그러면 미팅 및 참석자 리소스에 대한 라이프사이클 작업을 수행할 수 있습니다.

```
   // Policy ARN:     arn:aws:iam::aws:policy/AmazonChimeSDK 
    // Description:    Provides access to Amazon Chime SDK operations
    {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "chime:CreateMeeting",
                "chime:DeleteMeeting",
                "chime:GetMeeting",
                "chime:ListMeetings",
                "chime:CreateAttendee",
                "chime:BatchCreateAttendee",
                "chime:DeleteAttendee",
                "chime:GetAttendee",
                "chime:ListAttendees"
            ],
            "Effect": "Allow",
            "Resource": "*"
     }
 ]}
```

# Amazon Chime AWS SDK에 대한 APIs를 호출하도록 SDK 구성
<a name="invoke-apis"></a>

이 코드 샘플은 AWS SDK에 자격 증명을 전달하고 리전 및 엔드포인트를 설정하는 방법을 보여줍니다.

```
    AWS.config.credentials = new AWS.Credentials(accessKeyId, secretAccessKey, null);
    const chime = new AWS.Chime({ region: 'us-east-1' });
    chime.endpoint = new AWS.Endpoint('https://service.chime.aws.amazon.com/console');
```

# Amazon Chime SDK용 회의 생성
<a name="create-meeting"></a>

[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateMeeting.html) API 직접 호출은 개발자가 고유성 컨텍스트에서 전달할 수 있도록 허용하는 필수 파라미터 `ClientRequestToken`을 허용합니다. 또한 회의를 위해 선택할 미디어 서비스 데이터 영역 리전을 나타내는 `MediaRegion`, 회의 호스트를 나타내는 불투명한 식별자를 전달하는 데 사용되는 `MeetingHostId`(해당하는 경우), 회의 수명 주기 이벤트 수신을 위한 `NotificationsConfiguration` 등과 같은 선택적 파라미터도 허용합니다. 기본적으로 Amazon EventBridge는 이벤트를 제공합니다. 선택적으로 `NotificationsConfiguration`에서 SQS 대기열 ARN 또는 SNS 주제 ARN을 전달하여 이벤트를 수신할 수도 있습니다. API는 고유한 `MeetingId`, `MediaRegion`, 미디어 URL 세트가 있는 `MediaPlacement` 객체를 포함하는 회의 객체를 반환합니다.

```
   meeting = await chime.createMeeting({
                ClientRequestToken: clientRequestToken,
                MediaRegion: mediaRegion,
                MeetingHostId: meetingHostId,
                NotificationsConfiguration: {
                   SqsQueueArn: sqsQueueArn,
                   SnsTopicArn: snsTopicArn
                }
            }).promise();
```

# Amazon Chime SDK용 참석자 생성
<a name="create-attendee"></a>

회의를 생성한 후 미디어 세션에 참여하려는 각 사용자를 나타내는 참석자 리소스를 생성합니다. [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateAttendee.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_CreateAttendee.html) API는 다음을 사용합니다.
+ 사용자를 추가하려는 회의의 `MeetingId`.
+ ID 시스템의 불투명한 사용자 식별자일 수 있는 `ExternalUserId`.

예를 들어 AD(Active Directory)를 사용하는 경우 이 ID는 AD에 있는 사용자의 객체 ID일 수 있습니다. `ExternalUserId`는 클라이언트 SDK에서 참석자 이벤트를 수신할 때 클라이언트 애플리케이션에 다시 전달되므로 매우 유용합니다. 이를 통해 클라이언트 애플리케이션은 누가 회의에 참석했거나 나갔는지 알 수 있으며 서버 애플리케이션에서 해당 사용자에 대한 표시 이름, 이메일 또는 사진 등의 추가 정보를 검색할 수 있습니다.

`CreateAttendee` API를 직접적으로 호출하면 `Attendee` 객체가 생성됩니다. 이 객체에는 서비스에서 생성하는 고유한 `AttendeeId`, 전달된 `ExternalUserId`, 참석자가 회의 기간 동안 또는 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_DeleteAttendee.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_DeleteAttendee.html) API가 참석자를 삭제할 때까지 회의에 액세스할 수 있도록 하는 서명된 `JoinToken`이 포함되어 있습니다.

```
       attendee = await chime.createAttendee({
                MeetingId: meeting.MeetingId,
                ExternalUserId: externalUserId,
              }).promise();
```

# Amazon Chime SDK 클라이언트에 전송
<a name="send-response-to-client"></a>

회의 및 참석자 리소스를 생성한 후에는 서버 애플리케이션이 회의 및 참석자 객체를 인코딩하여 클라이언트 애플리케이션으로 다시 전송해야 합니다. 클라이언트가 JavaScript용 Amazon Chime SDK 클라이언트 라이브러리를 부트스트랩하고 참석자가 웹 또는 Electron 기반 애플리케이션에서 회의에 성공적으로 참여할 수 있도록 하려면 이러한 정보가 필요합니다.