はじめに
この記事はアイスタイル Advent Calendar 2024 9日目の記事です
こんにちは、oniyanagigです
皆さんはAmazon API Gateway使ってますか?
簡単にAPIエンドポイントを作成でき、APIを外部公開する際には非常に便利なサービスだと思います
そんなAPI Gatewayですが、11月21日に以下の大きなアップデートがありました!
Amazon API Gateway がプライベート REST API のカスタムドメイン名のサポートを開始
本記事ではこのアップデートの内容について確認していきたいと思います
概要
改めてアップデート内容を見ていきたいと思います
https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-api-gateway-custom-domain-name-private-rest-apis/
Amazon API Gateway (APIGW) で、ユーザーにとって使いやすいカスタムのプライベート DNS 名 (private.example.com など) を使用してプライベート REST API を管理し、API を簡単に検出できるようになりました。
以前まではカスタムドメインはプライベートAPIではサポートされておらず、エッジ最適化APIまたはリージョンAPIでのみ利用できました
プライベートAPIを利用してエンドポイントを提供する場合、API利用者はAPI Gatewayで作成されるデフォルトエンドポイントを指定してアクセスする必要がありました
そのため、既存のAPIをAPI Gateway経由に置き換えるケースにおいて既存のドメインが使えず、API利用者側で宛先変更の対応が必要でした
この問題が、今回のアップデートにより解消されるかたちになります
以下、アップデート前と後での構成の違いについて、ユースケースを踏まえ見てみましょう
ユースケース
プライベートAPIを利用するケースとしては、システム内においてDirectConnectなどを経由したプライベートな通信があるかと思います
例えば、オンプレに古くからあるサーバからAWS内のサービスにアクセスをすることを考えてみましょう
条件は以下の通りとします
- オンプレ-AWS間はDirectConnect接続
- オンプレ側はAPIの宛先を変更できないため、既存のドメインを使いたい
アップデート前
こちらの記事を参考にします
(参考もとではプライベートホストゾーンにレコードを登録していますが、DirectConnect接続の場合はパブリックホストゾーンでも問題ない認識です)
ポイントは、設定したいドメインの証明書をLB側に設定することで、ドメインと証明書の紐づけをLBが行うところです
通常プライベートAPIだけで済ませたいところにLBが必要となり、構成が複雑&コスト増となります
アップデート後
具体的な手順はこちらを参考
ALBが不要になり、構成がシンプルになりました!
最後に
以上、API GatewayでプライベートAPIにカスタムドメインが設定できるようになったよ!というアップデートの紹介でした
稚拙な文章ではございますが、今後AWS環境の設計をされる方の参考になれば幸いです
ここまで読んでくださりありがとうございました
参考
API Gateway での REST API のカスタムドメイン名
プライベート API の呼び出し
Custom domain names for private APIs in API Gateway
Implementing custom domain names for private endpoints with Amazon API Gateway
サーバーワークスエンジニアブログ
カスタムドメイン名はプライベートAPIではサポートされない、とはどういうことか