メニュー
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

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

YAML

Type: "AWS::ApiGateway::DomainName" Properties: CertificateArn: String DomainName: String EndpointConfiguration: EndpointConfiguration RegionalCertificateArn: String

プロパティ

CertificateArn

このドメイン名のエッジで最適化されたエンドポイントが使用する AWS が管理する証明書への参照。AWS Certificate Manager は、サポートされている唯一のソースです。証明書のセットアップについての要件および追加情報については、API Gateway 開発者ガイドAWS Certificate Manager で証明書の準備をするを参照してください。

必須: いいえ

Type: String

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

DomainName

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

Required: Yes

Type: String

更新に伴う要件: 置換

EndpointConfiguration

ドメイン名のエンドポイントタイプのリスト。

必須: いいえ

タイプ: API Gateway DomainName EndpointConfiguration

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

RegionalCertificateArn

ドメイン名のリージョン別エンドポイントが使用する AWS が管理する証明書への参照。AWS Certificate Manager は、サポートされている唯一のソースです。

必須: いいえ

タイプ: 文字列

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

戻り値

参照番号

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

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

Fn::GetAtt

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

DistributionDomainName

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

例: d111111abcdef8.cloudfront.net

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

カスタムドメインの作成

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

JSON

"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

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

{ "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

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

次の例では、リージョン別証明書 ARN とエンドポイントタイプを指定するカスタムドメイン名を作成します。

JSON

{ "Parameters": { "cfnDomainName": { "Type": "String" }, "certificateArn": { "Type": "String" }, "type": { "Type": "String" } }, "Resources": { "myDomainName": { "Type": "AWS::ApiGateway::DomainName", "Properties": { "CertificateArn": { "Ref": "certificateArn" }, "DomainName": { "Ref": "cfnDomainName" }, "EndpointConfiguration": { "Types": [ { "Ref": "type" } ] }, "RegionalCertificateArn": { "Ref": "certificateArn" } } }, "DomainName": { "Value": { "Ref": "myDomainName" } } } }

YAML

Parameters: cfnDomainName: Type: String certificateArn: Type: String type: Type: String Resources: myDomainName: Type: 'AWS::ApiGateway::DomainName' Properties: CertificateArn: !Ref certificateArn DomainName: !Ref cfnDomainName EndpointConfiguration: Types: - !Ref type RegionalCertificateArn: !Ref certificateArn DomainName: Value: !Ref myDomainName

以下の資料も参照してください。

  • Amazon API Gateway REST API リファレンス』の domainname:create オペレーション