API 网关是 AWS 提供的一项服务,用于构建、部署和管理 RESTful API。为了更好地管理 API,可以通过设定子域名来实现对 API 端点进行更细粒度的控制。
设置子域名需要经历以下步骤:
在 API 网关的控制台创建一个自定义域名。
创建一个与所需子域名匹配的 CNAME 记录,并将其指向所创建的自定义域名。例如,如果所需子域名为 api.example.com,则应创建一个 CNAME 记录,将其值设置为自定义域名。
创建一个 base path 映射,将其与 API 资源关联。base path 映射将请求路由到正确的 API 资源,从而保证 API 端点的正确访问。
示例代码:
下面的代码演示了如何使用 AWS CLI 创建自定义域名、CNAME 记录和 base path 映射:
aws apigateway create-domain-name \
--domain-name api.example.com \
--certificate-name my-cert-name \
--certificate-body file://my-cert-body.pem \
--certificate-private-key file://my-cert-key.pem \
--regional-certificate-name my-regional-cert-name
aws route53 change-resource-record-sets \
--hosted-zone-id my-hosted-zone-id \
--change-batch file://my-cname-record.json
aws apigateway create-base-path-mapping \
--rest-api-id my-rest-api-id \
--stage my-stage-name \
--domain-name api.example.com \
--base-path my-base-path
这些命令将创建名为 api.example.com 的自定义域名,为其创建一个 CNAME 记录以及与 /my-base-path 路径段关联的 base path 映射。请注意,这些示例命令需要进行参数替换,具体取决于您的实际需求。此外,还可以使用 AWS SDK 进行编程式设置。