メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::ApiGateway::DomainName

AWS::ApiGateway::DomainName リソースは、Amazon API Gateway (API Gateway) で API のカスタムドメイン名を指定します。

カスタムドメイン名を使用して、より直感的で記憶しやすい URL を提供できます。カスタムドメイン名を使用するための詳細については、API Gateway 開発者ガイドAPI Gateway API のホスト名としてカスタムドメイン名を使用するデータ型を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type": "AWS::ApiGateway::DomainName", "Properties": { "CertificateArn": String, "DomainName": String } }

YAML

Copy
Type: "AWS::ApiGateway::DomainName" Properties: CertificateArn: String DomainName: String

プロパティ

CertificateArn

AWS Certificate Manager に保存された AWS が管理する証明書の Amazon リソースネーム (ARN)。証明書のセットアップについての要件および追加情報については、API Gateway 開発者ガイドAWS Certificate Manager で証明書の準備をするを参照してください。

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

DomainName

Amazon API Gateway での API のカスタムドメイン名。

Required: Yes

Type: String

更新に伴う要件: 置換

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりドメイン名が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。このセクションでは、利用可能な属性とサンプル戻り値のリストが示されます。

DistributionDomainName

カスタムドメイン名にマッピングされた Amazon CloudFront ディストリビューションドメイン名。

例: d111111abcdef8.cloudfront.net

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

カスタムドメインの作成

次の例では、カスタムドメイン名 api.mydomain.com を作成します。

JSON

Copy
"MyDomainName": { "Type": "AWS::ApiGateway::DomainName", "Properties": { "DomainName": "api.mydomain.com", "CertificateArn": "arn:aws:acm:us-east-1:111122223333:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3" } }

YAML

Copy
MyDomainName: Type: 'AWS::ApiGateway::DomainName' Properties: DomainName: api.mydomain.com CertificateArn: arn:aws:acm:us-east-1:111122223333:certificate/fb1b9770-a305-495d-aefb-27e5e101ff3

パラメータからカスタムドメインの作成

次の例では、カスタムドメイン名 example.mydomain.com を作成します。

JSON

Copy
{ "Parameters": { "basePath": { "Type": "String", "Default": "examplepath" }, "domainName": { "Type": "String", "Default": "example.mydomain.com" }, "restApiName": { "Type": "String", "Default": "exampleapi" } }, "Resources": { "myCertificate": { "Type": "AWS::CertificateManager::Certificate", "Properties": { "DomainName": { "Ref": "domainName" } } }, "myDomainName": { "Type": "AWS::ApiGateway::DomainName", "Properties": { "CertificateArn": { "Ref": "myCertificate" }, "DomainName": { "Ref": "domainName" } } }, "myMapping": { "Type": "AWS::ApiGateway::BasePathMapping", "Properties": { "BasePath": { "Ref": "basePath" }, "DomainName": { "Ref": "myDomainName" }, "RestApiId": { "Ref": "myRestApi" } } }, "myRestApi": { "Type": "AWS::ApiGateway::RestApi", "Properties": { "Name": { "Ref": "restApiName" } } } }, "Outputs": { "domainName": { "Value": { "Fn::GetAtt": [ "myDomainName", "DistributionDomainName" ] } } } }

YAML

Copy
Parameters: basePath: Type: String Default: examplepath domainName: Type: String Default: example.mydomain.com restApiName: Type: String Default: exampleapi Resources: myCertificate: Type: 'AWS::CertificateManager::Certificate' Properties: DomainName: !Ref domainName myDomainName: Type: 'AWS::ApiGateway::DomainName' Properties: CertificateArn: !Ref myCertificate DomainName: !Ref domainName myMapping: Type: 'AWS::ApiGateway::BasePathMapping' Properties: BasePath: !Ref basePath DomainName: !Ref myDomainName RestApiId: !Ref myRestApi myRestApi: Type: 'AWS::ApiGateway::RestApi' Properties: Name: !Ref restApiName Outputs: domainName: Value: !GetAtt - myDomainName - DistributionDomainName

このページの内容: