Help us understand the problem. What is going on with this article?

Amazon API Gateway にカスタムドメインを設定する

More than 1 year has passed since last update.

概要

Amazon API Gateway に独自ドメインを設定しアクセス可能にします。
SSL証明書は AWS Certificate Manager を利用します。

前提条件

この記事の内容を実践する為に必要な前提条件です。

  • 公開可能済のAPI Gatewayが存在している事
  • 利用可能なドメインを取得している事
  • AWS Certificate ManagerでSSL証明書が準備されている事

前提条件1 API Gatewayの準備

API Gatewayの準備ですが、Serverless Framework を使うと簡単に用意出来るのでオススメです。
以前、 Serverless Frameworkのインストールと初期設定 という記事を書きましたので参考になると幸いです。

前提条件2 利用可能なドメインを取得する

Route 53でドメインを購入すると全てがAWSのサービスで管理出来る事になるのでオススメです。
ドメインの購入方法等は下記の記事に載せてありますので参考にして頂けると幸いです。

前提条件3 AWS Certificate ManagerでSSL証明書を準備する

手順に関しては難しくありません、 AWSのサービスでドメインを取得しALBでSSLで接続出来るようにする に取得方法を記載してあります。

1点だけ注意点があります。それは証明書を配置する region は必ず us-east-1 米国東部(バージニア北部) にする事です。

2017-06-15 現在の時点では AWS Certificate Manager の証明書を利用する為には、証明書が us-east-1 米国東部(バージニア北部) に配置されている必要があります。

API Gatewayにカスタムドメインの設定を行う

マネジメントコンソール → Amazon API Gateway → +カスタムドメイン名の作成 より設定を行います。

以下の情報を入力します。

  • ドメイン名: 任意のドメイン名を入力します
  • ACM 証明書: 作成した証明書を選択します
  • ベースマッピング: 作成したどのAPI Gatewayにマッピングさせるかを選択します

custom-domain1.png

「保存」を押すと作成が開始されます。(かなり時間がかかります)

しばらくすると下記のような形になります。
この「ディストリビューションドメイン名」という箇所をコピーしましょう。

custom-domain2.png

ディストリビューションドメイン名をRoute 53に設定する

DNSレコードの設定を行っていきます。

私の場合はAPI Gatewayに設定したドメインは 元々持っていたドメインのサブドメインとして設定を行いました。

その為、元々のHosted zoneにAレコードとして登録を行います。

Name: 設定したドメイン名を入力
Alias Target: 先程コピーしたディストリビューションドメイン名

CreateRecordSet.png

このあたりの方法に関しては AWSのサービスでドメインを取得しALBでSSLで接続出来るようにする でも方法を紹介しています。

動作確認

最後に動作確認を行います。

自動で割り当てられるURLで接続
curl -v https://i99999999i.execute-api.ap-northeast-1.amazonaws.com/development/other
設定したカスタムドメインで接続
curl -v https://api-gateway.hoge.org/other

両方で同じ内容が返ってくれば成功になります。

以上になります。最後まで読んで頂きありがとうございました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした