このトピックでは、Terraform を使用して Alibaba Cloud CDN にドメイン名を追加するときに発生する HTTPS 構成エラーを解決する方法について説明します。
問題
Terraform は、次のエラーログを提供します。
│ Error: [ERROR] terraform-provider-alicloud/alicloud/resource_alicloud_cdn_domain_new.go:576: Resource public1.sige-test3.com SetCdnDomainSSLCertificate Failed!!! [SDK alibaba-cloud-sdk-go ERROR]:
│ SDKError:
│ StatusCode: 400
│ Code: SSLPri.MissingParameter
│ Message: code: 400, The SSLPri parameter is required. request id: F5512B73-4FCE-56DD-8F05-19BA81C701F1
│ Data: {"Code":"SSLPri.MissingParameter","HostId":"cdn.aliyuncs.com","Message":"The SSLPri parameter is required.","Recommend":"https://api.alibabacloud.com/troubleshoot?intl_lang=EN_US&q=SSLPri.MissingParameter&product=Cdn&requestId=F5512B73-4FCE-56DD-8F05-19BA81C701F1","RequestId":"F5512B73-4FCE-56DD-8F05-19BA81C701F1"}
│
│ with alicloud_cdn_domain_new.default,
│ on main.tf line 1, in resource "alicloud_cdn_domain_new" "default":
│ 1: resource "alicloud_cdn_domain_new" "default" 原因
alicloud_cdn_domain_new を使用して CDN 高速化ドメイン名を作成し、HTTPS 証明書を追加する場合、cert_type パラメーターを cas に設定します。これは、Alibaba Cloud 認証センターの証明書を使用することを示します。
cert_type パラメーターを cas に設定し、アカウントが Alibaba Cloud 国際サイトで作成されている場合は、cert_region パラメーターを ap-southeast-1 に設定する必要があります。アカウントが Alibaba Cloud 中国サイトで作成されている場合、cert_region パラメーターはデフォルトで中国サイトの Alibaba Cloud 認証センターのリージョンである cn-hangzhou になるため、この設定は不要です。
alicloud_cdn_domain_new のパラメーターの詳細については、「alicloud_cdn_domain_new」をご参照ください。

解決策
alicloud_cdn_domain_new を使用して CDN 高速化ドメイン名を作成し、HTTPS 証明書を追加する場合、cert_type パラメーターを cas に設定します。
アカウントが国際サイトで作成されている場合は、
cert_regionパラメーターをap-southeast-1に設定します。アカウントが中国サイトで作成されている場合、
cert_regionパラメーターはデフォルトでcn-hangzhouになります。
サンプルコード:
# 高速化ドメイン名を追加します。
resource "alicloud_cdn_domain_new" "domain" {
domain_name = "mycdndomain.alicloud-provider.cn"
cdn_type = "download"
scope = "overseas"
sources {
content = "myoss.oss-rg-china-mainland.aliyuncs.com"
type = "oss"
priority = "20"
port = 80
weight = "15"
}
# 証明書を構成します。
# cert_id: 証明書 ID を取得するには、まず Alibaba Cloud 認証センターで証明書を購入またはアップロードする必要があります。
# cert_type="cas" は、Alibaba Cloud 認証センターの証明書が使用されていることを示します。
# cert_region = "ap-southeast-1" は、国際サイトの Alibaba Cloud 認証センターが使用されていることを示します。
certificate_config {
cert_id = "1111111"
cert_name = "cert-2987438279834"
cert_type = "cas"
cert_region = "ap-southeast-1"
}
}