【ITニュース解説】How to build an API Gateway with a custom domain using AWS CDK

2025年09月05日に「Dev.to」が公開したITニュース「How to build an API Gateway with a custom domain using AWS CDK」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

AWS CDKを使い、API Gatewayにカスタムドメインを設定する方法を紹介。ACMでTLS証明書を発行し、API Gatewayにドメイン名、証明書、ベースパスを設定。Route 53でエイリアスレコードを作成し、API Gatewayとカスタムドメインを関連付ける。これにより、覚えやすく信頼性の高いAPIエンドポイントが実現する。

ITニュース解説

この記事では、AWS Cloud Development Kit (CDK) を使用して、カスタムドメインを持つAPI Gatewayを構築する方法について解説する。API Gatewayは、アプリケーションのAPIへの入り口を管理するサービスであり、カスタムドメインを設定することで、デフォルトのAWSのURLではなく、ブランド名に合わせた覚えやすいURLを使用できるようになる。

まず、API Gatewayで使用するTLS証明書を作成する必要がある。これは、AWS Certificate Manager (ACM) を使用して行う。CDKでは、certificatemanager.Certificate コンストラクトを使用し、ドメイン名と検証方法を指定することで証明書をプロビジョニングできる。検証方法としては、DNSレコードを使用する方法が推奨される。

次に、API Gateway自体をプロビジョニングする。CDKの apigateway.RestApi コンストラクトを使用すると、API Gatewayの設定を簡単に行うことができる。このコンストラクトには、APIの名前、カスタムドメイン名、証明書、ベースパスなどを設定できる。ベースパスは、APIのURLの先頭に追加されるパスであり、例えば /v1 のように指定することで、APIのバージョン管理などに役立つ。また、API GatewayのルートにHTTPメソッド (例: GET) を追加することで、APIのエンドポイントを定義できる。

API Gatewayをカスタムドメインに接続するには、Route 53でDNSレコードを設定する必要がある。Route 53は、AWSのDNSサービスであり、ドメイン名の管理やDNSレコードの作成を行うことができる。CDKでは、route53.HostedZone コンストラクトを使用して、既存のホストゾーンを参照し、route53.ARecord コンストラクトを使用して、API Gatewayへのエイリアスレコードを作成する。エイリアスレコードは、特定のドメイン名 (例: api.yourcompany.com) をAPI Gatewayに関連付ける。

CDKで定義したリソースをデプロイするには、cdk deploy コマンドを使用する。デプロイが完了すると、カスタムドメイン名を使用してAPIにアクセスできるようになる。ただし、API Gatewayのバックエンドに統合を設定する必要がある場合がある。例えば、Lambda関数をAPI Gatewayに統合することで、APIリクエストを処理することができる。

API Gatewayにカスタムドメインを設定する利点は、以下の通りである。

  • プロフェッショナルなURL: デフォルトのAWSのURLではなく、ブランド名に合わせた覚えやすいURLを使用することで、APIの信頼性を高めることができる。
  • 柔軟な構成: ドメイン名、ベースパスマッピング、Route 53レコードを組み合わせることで、複数のAPIを1つのドメインの下に整理することができる。
  • SSL/TLSセキュリティ: AWS Certificate Managerを使用してHTTPSを簡単に設定できるため、API通信を安全に保つことができる。

テストが完了したら、不要なコストを避けるために、cdk destroy コマンドでスタックを削除することを忘れないようにする。

【ITニュース解説】How to build an API Gateway with a custom domain using AWS CDK | いっしー@Webエンジニア