

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 GraphQL 和即時 APIs自訂網域名稱
<a name="custom-domain-name"></a>

透過 AWS AppSync，您可以使用自訂網域名稱來設定單一且值得記憶的網域，同時適用於 GraphQL 和即時 APIs。

換句話說，您可以建立與帳戶中 AWS 的 AppSync APIs端點 URLs。

當您設定 an AWS AppSync API 時，會佈建兩個端點：

**AWS AppSync GraphQL 端點：**  
`https://example1234567890000.appsync-api.us-east-1.amazonaws.com/graphql`

**AWS AppSync 即時端點：**  
`wss://example1234567890000.appsync-realtime-api.us-east-1.amazonaws.com/graphql`

使用自訂網域名稱，您可以使用單一網域與兩個端點互動。例如，如果您將 `api.example.com`設定為自訂網域，則可以使用這些 URLs 與 GraphQL 和即時端點互動：

**AWS AppSync 自訂網域 GraphQL 端點：**  
`https://api.example.com/graphql`

**AWS AppSync 自訂網域即時端點：**  
`wss://api.example.com/graphql/realtime`

**注意**  
AWS AppSync APIs僅支援自訂網域名稱的 TLS 1.2 和 TLS 1.3。

## 註冊和設定網域名稱
<a name="appsynclong-register-custom-domain"></a>

若要設定 your AWS AppSync APIs的自訂網域名稱，您必須有已註冊的網際網路網域名稱。您可以使用 Amazon Route 53 domain registration 或您選擇的第三方網域註冊商來註冊網際網路網域。如需 Route 53 的詳細資訊，請參閱[《Amazon Route 53 開發人員指南》中的什麼是](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/) *Amazon Route 53*？。

API 的自訂網域名稱可以是已註冊網際網路網域的子網域或根網域 （也稱為「區域頂點」)。建立自訂網域名稱 in AWS AppSync 之後，您必須建立或更新 DNS 供應商的資源記錄，才能映射至 API 端點。如果沒有此映射，則自訂網域名稱繫結的 API 請求無法連線 AWS AppSync。

## 建立自訂網域名稱 in AWS AppSync
<a name="appsynclong-configure-custom-domain"></a>

為 an AWS AppSync API 建立自訂網域名稱會設定 Amazon CloudFront 分佈。您必須設定 DNS 記錄，將自訂網域名稱對應至 CloudFront 分佈網域名稱。透過映射的 CloudFront 分佈路由綁定自訂網域名稱 AWS AppSync 的 API 請求時，需要此映射。您也必須提供自訂網域名稱的憑證。

若要設定自訂網域名稱或更新其憑證，您必須具有更新 CloudFront 分佈的許可，並描述您計劃使用的 AWS Certificate Manager (ACM) 憑證。若要授予這些許可，請將下列 AWS Identity and Access Management (IAM) 政策陳述式連接至您帳戶中的 IAM 使用者、群組或角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUpdateDistributionForAppSyncCustomDomainName",
            "Effect": "Allow",
            "Action": [
                "cloudfront:updateDistribution"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "AllowDescribeCertificateForAppSyncCustomDomainName",
            "Effect": "Allow",
            "Action": "acm:DescribeCertificate",
            "Resource": "arn:aws:acm:us-east-1:111122223333:certificate/certificate-id"
        }
    ]
}
```

------

AWS AppSync 透過利用 CloudFront 分佈上的伺服器名稱指示 (SNI) 來支援自訂網域名稱。如需在 CloudFront 分佈上使用自訂網域名稱的詳細資訊，包括所需的憑證格式和憑證金鑰長度上限，請參閱《Amazon CloudFront 開發人員指南》中的[搭配使用 HTTPS 與 CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html)。 *Amazon CloudFront *

若要將自訂網域名稱設定為 API 的主機名稱，API 擁有者必須在涵蓋自訂網域名稱`us-east-1`*AWS 的區域 （美國東部 （維吉尼亞北部）) * 中提供公有或匯入的 ACM 憑證。如需 ACM 的詳細資訊，請參閱*AWS Certificate Manager 《 使用者指南*》中的[什麼是 AWS Certificate Manager？](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)。

## 萬用字元自訂網域名稱 in AWS AppSync
<a name="appsynclong-wildcard-custom-domain"></a>

AWS AppSync 支援萬用字元自訂網域名稱。若要設定萬用字元自訂網域名稱，請指定萬用字元 (`*`) 做為自訂網域的第一個子網域。這代表根網域的所有可能子網域。例如，萬用字元自訂網域名稱 `*.example.com` 會產生如 `a.example.com`、`b.example.com` 和 `c.example.com` 等子網域。所有這些子網域都會路由至相同的網域。

若要使用萬用字元自訂網域名稱 in AWS AppSync，您必須提供 ACM 發行的憑證，其中包含可以保護相同網域中多個網站的萬用字元名稱。如需詳細資訊，請參閱*AWS Certificate Manager 《 使用者指南*》中的 [ACM 憑證特性](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate.html)。