API Gateway のカスタムドメイン設定で困った話
AWS(Amazon Web Service)のAPI Gatewayで、カスタムドメインを設定した時に色々トラブったのでメモを残します。
原因はかなりクダらないのですが、私のような初心者には割とありがちなのかも...?
カスタムドメイン設定手順
メモがてら。route53に該当する独自ドメインが登録済みであることを前提とします。
独自ドメインをhoge.com、API用のサブドメインをapi.hoge.comとして説明します。
また、APIは東京リージョンで稼働するものとします。
それぞれ該当箇所を変更しながら作業してください。
Certificate Managerで証明書を作る
セキュリティ、ID、およびコンプライアンスの項にあります。
- 右上のリージョンを東京に変更
- 証明書のリクエストをクリック
- パブリック証明書のリクエストを選択
- ドメイン名の追加 ドメイン名を入力する(api.hoge.com)
- 検証方法 DNSの検証を選択
- お好みでタグをつける(空白可能)
- 確定とリクエストボタンをポチる
- 検証 ドメイン名の横の矢印を押すと「Route 53でのレコードの作成」なるボタンがある。ポチる
- 確認画面で作成ボタンをポチる
- 「成功」となったら右下の続行ボタンをポチ
- すると証明書一覧に跳ぶのでしばらく待つ
- 該当の証明書の状況が「発行済み」になったら完了!
このうち1.のリージョン変更を忘れがちです。(2敗)
お気をつけあそばせ。
API Gatewayでカスタムドメインを設定する
該当するAPIのリソースを表示する画面まで行ってください。
- 左のメニューから「カスタムドメイン名」を選択する
- 作成をポチる
- ドメイン名を入力(api.hoge.com)
- エンドポイントタイプはリージョン TLSはお好みで(1.2でよさろう)
- 先ほど作ったACM 証明書を選択
- 作成をぽちっとな
- ちゃんとできていればカスタムドメイン名の一覧にapi.hoge.comがいるはず
- api.hoge.comを選択する
- ドメイン名の詳細が出てきたら一番下の「API マッピングを設定」をぽちっとな
- 新しいマッピングを追加をぽちっとな
- APIから対応するAPIを、ステージから送りたいステージを選択
- パスは基本空白でOK
- 追加したら右下の保存ボタンをぽちっとな
最後にRoute53からちょいと設定
Route53で、ホストゾーンからhoge.comの設定に移ります。
- 上のレコードセットの作成をクリック
- 名前はapi.hoge.comの内apiを空欄に入力
- タイプはA - IPc4アドレス
- エイリアスではいを選択
- ターゲット名の入力をクリックすると、それっぽい対象がずらーッと出てくる
- その中からAPI Gatewayの対応するものを選択
- そのまま作成をぽちっとな
これで一連の作業は完了です!
アクセスしてみよう!
どれ、http://api.hoge.com/hoge っと...
おっ、キレそーーーーー!!!
ゴミみたいな理由
× http://api.hoge.com/hoge
〇 http s ://api.hoge.com/hoge
そもそも
どうにもHTTPSでしかアクセスできないっぽいです。
調べればわかることでしたね...5日ぐらい溶けました。
〆
何だかんだ簡単にカスタムドメイン登録出来ちゃいます。
ほぼ知識無からでも、REST APIを作って公開できちゃうんだからすごい世の中ですよね...
本当にありがてえ限りです。
(何か間違っている点がありましたら、ご指摘いただけると幸いです)