

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

# 고객 관리형 도메인 생성 및 구성
<a name="iot-custom-endpoints-configurable-custom"></a>

도메인 구성을 사용하면 AWS IoT Core에 연결할 사용자 지정 FQDN(정규화된 도메인 이름)을 지정할 수 있습니다. 고객 관리형 도메인(사용자 지정 도메인이라고도 함)을 사용하면 다음과 같은 많은 이점이 있습니다. 브랜딩 목적으로 자체 도메인 또는 회사 자체 도메인을 고객에게 노출할 수 있습니다. 새 브로커를 가리키도록 자체 도메인을 쉽게 변경할 수 있습니다. 다중 테넌시를 지원하여 동일한 내에 다른 도메인이 있는 고객에게 서비스를 제공할 수 있습니다 AWS 계정. 인증서에 서명하는 데 사용되는 루트 인증 기관(CA), 서명 알고리즘, 인증서 체인 깊이 및 인증서의 수명 주기와 같은 자체 서버 인증서 세부 정보를 관리할 수 있습니다.

사용자 지정 도메인으로 도메인 구성을 설정하는 워크플로우는 다음 세 단계로 구성됩니다.

1. [에 서버 인증서 등록 AWS Certificate Manager](#iot-custom-endpoints-configurable-custom-register-certificate)

1. [도메인 구성 생성](#iot-custom-endpoints-configurable-custom-domain-config)

1. [DNS 레코드 생성](#iot-custom-endpoints-configurable-custom-dns)

## 인증서 관리자에 서버 AWS 인증서 등록
<a name="iot-custom-endpoints-configurable-custom-register-certificate"></a>

사용자 지정 도메인으로 도메인 구성을 생성하기 전에 [AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)에 서버 인증서 체인을 등록해야 합니다. 다음 세 가지 유형의 서버 인증서를 사용할 수 있습니다.
+ [ACM에서 생성된 공인 인증서](#iot-custom-endpoints-configurable-custom-register-certificate-acm)
+ [퍼블릭 CA에서 서명한 외부 인증서](#iot-custom-endpoints-configurable-custom-register-certificate-pubext)
+ [프라이빗 CA에서 서명한 외부 인증서](#iot-custom-endpoints-configurable-custom-register-certificate-privext)

**참고**  
AWS IoT Core 는 [Mozilla의 신뢰할 수 있는 ca-bundle에 포함된 인증서를 퍼블릭 CA에서 서명한 것으로 간주합니다](https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt?raw=1).

### 인증서 요구 사항
<a name="certificate-requirements"></a>

[인증서를 가져오기 위한 사전 조건](/acm/latest/userguide/import-certificate-prerequisites.html)에서 인증서를 ACM으로 가져오기 위한 요구 사항을 확인하세요. 이러한 요구 사항 외에도 AWS IoT Core 는 다음과 같은 요구 사항을 추가합니다.
+ 리프 인증서에는 값이 **serverAuth**(TLS 웹 서버 인증)인 **확장 키 사용** x509 v3 확장을 반드시 포함해야 합니다. ACM에서 인증서를 요청하면 이 확장이 자동으로 추가됩니다.
+ 최대 인증서 체인 깊이는 5개의 인증서입니다.
+ 최대 인증서 체인 크기는 16KB입니다.
+ 지원되는 암호화 알고리즘 및 키 크기에는 RSA 2,048비트(RSA\_2048) 및 ECDSA 256비트(EC\_prime256v1)가 포함됩니다.

### 여러 도메인에 인증서 한 개 사용
<a name="one-certificate-for-multiple-domains"></a>

하나의 인증서를 사용하여 여러 하위 도메인을 처리하려는 경우 CN(일반 이름) 또는 SAN(주체 대체 이름) 필드에 와일드카드 도메인을 사용합니다. 예를 들어, **\*.iot.example.com**을 사용하여 dev.iot.example.com, qa.iot.example.com 및 prod.iot.example.com을 처리합니다. 각 FQDN에는 자체 도메인 구성이 필요하지만 둘 이상의 도메인 구성에서 동일한 와일드카드 값을 사용할 수 있습니다. CN 또는 SAN은 사용자 지정 도메인으로 사용할 FQDN을 처리해야 합니다. SAN이 있는 경우 CN은 무시되고 SAN은 사용자 정의 도메인으로 사용하려는 FQDN을 포함해야 합니다. 이러한 처리는 정확히 일치 또는 와일드카드 일치를 통해 가능할 수 있습니다. 와일드카드 인증서가 검증되고 계정에 등록되면 해당 지역의 다른 계정은 인증서와 겹치는 사용자 지정 도메인을 만들 수 없습니다.

다음 단원에서는 각 유형의 인증서를 가져오는 방법에 대해 설명합니다. 모든 인증서 리소스에는 도메인 구성을 생성할 때 사용하는 ACM에 등록된 Amazon 리소스 이름(ARN)이 필요합니다.

### ACM에서 생성된 공인 인증서
<a name="iot-custom-endpoints-configurable-custom-register-certificate-acm"></a>

[RequestCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html) API를 사용하여 사용자 지정 도메인의 공인 인증서를 생성할 수 있습니다. 이 방법으로 인증서를 생성하면 ACM에서 사용자 지정 도메인의 소유권을 확인합니다. 자세한 내용은 *AWS Certificate Manager 사용 설명서*의 [공인 인증서 요청](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html)을 참조하세요.

### 퍼블릭 CA에서 서명한 외부 인증서
<a name="iot-custom-endpoints-configurable-custom-register-certificate-pubext"></a>

퍼블릭 CA(Mozilla의 신뢰할 수 있는 CA-번들에 포함된 CA)로 서명한 서버 인증서가 이미 있는 경우 [ImportCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_ImportCertificate.html) API를 사용하여 인증서를 ACM으로 직접 가져올 수 있습니다. 이 작업 및 필수 구성 요소 및 인증서 형식 요구 사항에 대한 자세한 내용은 [인증서 가져오기](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html)를 참조하세요.

### 프라이빗 CA에서 서명한 외부 인증서
<a name="iot-custom-endpoints-configurable-custom-register-certificate-privext"></a>

프라이빗 CA에서 서명하거나 자체 서명된 서버 인증서가 이미 있는 경우 해당 인증서를 사용하여 도메인 구성을 생성할 수 있지만 도메인 소유권을 확인하기 위해서 ACM에서 추가 공인 인증서를 생성하기도 해야 합니다. 이렇게 하려면 [ImportCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_ImportCertificate.html) API를 사용하여 ACM에 서버 인증서 체인을 등록하세요. 이 작업 및 필수 구성 요소 및 인증서 형식 요구 사항에 대한 자세한 내용은 [인증서 가져오기](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html)를 참조하세요.

### 검증 인증서 생성
<a name="iot-custom-endpoints-configurable-create-validation-certificate"></a>

인증서를 ACM으로 가져온 후 [RequestCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html) API를 사용하여 사용자 지정 도메인의 공인 인증서를 생성합니다. 이 방법으로 인증서를 생성하면 ACM에서 사용자 지정 도메인의 소유권을 확인합니다. 자세한 내용은 [공인 인증서 요청](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html)을 참조하세요. 도메인 구성을 생성할 때 이 공인 인증서를 검증 인증서로 사용합니다.

## 도메인 구성 생성
<a name="iot-custom-endpoints-configurable-custom-domain-config"></a>

[CreateDomainConfiguration](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateDomainConfiguration.html) API를 사용하여 사용자 지정 도메인의 구성 가능한 엔드포인트를 생성합니다. 사용자 지정 도메인의 도메인 구성은 다음으로 구성됩니다.
+ `domainConfigurationName`

  도메인 구성을 식별하는 사용자 정의 이름입니다. `IoT:`로 시작하는 도메인 구성 이름은 기본 엔드포인트용으로 예약되어 있으므로 사용할 수 없습니다. 또한이 값은에 고유해야 합니다 AWS 리전.
+ `domainName`

  디바이스가 연결하는 데 사용하는 FQDN입니다 AWS IoT Core. AWS IoT Core 는 서버 이름 표시(SNI) TLS 확장을 활용하여 도메인 구성을 적용합니다. 디바이스는 연결할 때 이 확장을 사용하고 도메인 구성에 지정된 도메인 이름과 동일한 서버 이름을 전달해야 합니다.
+ `serverCertificateArns`

  ACM에 등록한 서버 인증서 체인의 ARN은 AWS IoT Core 현재 하나의 서버 인증서만 지원합니다.
+ `validationCertificateArn`

  사용자 지정 도메인의 소유권을 확인하기 위해 ACM에서 생성한 퍼블릭 인증서의 ARN입니다. 공개적으로 서명되거나 ACM에서 생성된 서버 인증서를 사용하는 경우에는 이 인수가 필요하지 않습니다.
+ `defaultAuthorizerName (optional)`

  엔드포인트에서 사용할 사용자 지정 권한 부여자의 이름입니다.
+ `allowAuthorizerOverride`

  요청의 HTTP 헤더에 다른 권한 부여자를 지정하여 디바이스가 기본 권한 부여자를 재정의할 수 있는지 여부를 지정하는 부울 값입니다. `defaultAuthorizerName`에 값이 지정된 경우 이 값이 필요합니다.
+ `serviceType`

  AWS IoT Core 는 현재 `DATA` 서비스 유형만 지원합니다. 를 지정하면는 엔드포인트 유형이 인 엔드포인트를 `DATA` AWS IoT 반환합니다`iot:Data-ATS`.
+ `TlsConfig` (선택 사항)

  도메인의 TLS 구성을 지정하는 객체입니다. 자세한 내용은 [도메인 구성에서 TLS 설정 구성](iot-endpoints-tls-config.md) 단원을 참조하십시오.
+ `serverCertificateConfig` (선택 사항)

  도메인의 서버 인증서 구성을 지정하는 객체입니다. 자세한 내용은 [OCSP 스테이플링을 위한 서버 인증서 구성](iot-custom-endpoints-cert-config.md) 단원을 참조하십시오.

다음 AWS CLI 명령은 **iot.example.com** 도메인 구성을 생성합니다.

```
aws iot create-domain-configuration --domain-configuration-name "{{myDomainConfigurationName}}" --service-type "DATA" 
--domain-name "iot.example.com" --server-certificate-arns {{serverCertARN}} --validation-certificate-arn {{validationCertArn}}
```

**참고**  
도메인 구성을 생성한 후가 사용자 지정 서버 인증서를 AWS IoT Core 제공할 때까지 최대 60분이 걸릴 수 있습니다.

자세한 내용은 [도메인 구성 관리](iot-custom-endpoints-managing.md) 단원을 참조하십시오.

## DNS 레코드 생성
<a name="iot-custom-endpoints-configurable-custom-dns"></a>

서버 인증서 체인을 등록하고 도메인 구성을 생성한 후 사용자 지정 도메인이 AWS IoT 도메인을 가리키도록 DNS 레코드를 생성합니다. 이 레코드는 유형의 AWS IoT 엔드포인트를 가리켜야 합니다`iot:Data-ATS`. [DescribeEndpoint](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeEndpoint.html) API를 사용하여 엔드포인트를 얻을 수 있습니다.

다음 AWS CLI 명령은 엔드포인트를 가져오는 방법을 보여줍니다.

```
aws iot describe-endpoint --endpoint-type iot:Data-ATS
```

`iot:Data-ATS` 엔드포인트를 가져온 후 사용자 지정 도메인에서이 AWS IoT 엔드포인트로 `CNAME` 레코드를 생성합니다. 동일한에 여러 사용자 지정 도메인을 생성하는 경우 AWS 계정는이 도메인을 동일한 `iot:Data-ATS` 엔드포인트에 별칭으로 지정합니다.

## 문제 해결
<a name="iot-custom-endpoints-configurable-troubleshoot"></a>

디바이스를 사용자 지정 도메인에 연결하는 데 문제가 있는 경우 AWS IoT Core 가 서버 인증서를 수락하고 적용했는지 확인합니다. AWS IoT Core 콘솔 또는를 사용하여 AWS IoT Core 가 인증서를 수락했는지 확인할 수 있습니다 AWS CLI.

 AWS IoT Core 콘솔을 사용하려면 **도메인 구성** 페이지로 이동하여 도메인 구성 이름을 선택합니다. **서버 인증서 세부 정보** 섹션에서 상태 및 상태 세부 정보를 확인합니다. 인증서가 유효하지 않은 경우 ACM에서 이전 섹션에 나열된 [인증서 요구 사항](#certificate-requirements)에 부합하는 인증서로 바꿉니다. 인증서의 ARN이 동일한 경우 AWS IoT Core 가 인증서를 선택하여 자동으로 적용합니다.

를 사용하여 인증서 상태를 확인하려면 [DescribeDomainConfiguration](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeDomainConfiguration.html) API를 AWS CLI호출하고 도메인 구성 이름을 지정합니다.

**참고**  
인증서가 유효하지 않은 경우 AWS IoT Core 는 마지막 유효한 인증서를 계속 제공합니다.

다음 openssl 명령을 사용하여 엔드포인트에서 제공되는 인증서를 확인할 수 있습니다.

`openssl s_client -connect {{custom-domain-name}}:8883 -showcerts -servername {{custom-domain-name}}`