LoginSignup
4
3

More than 5 years have passed since last update.

API Gatewayに別アカウントで所有しているドメインを使ってカスタムドメイン名を設定する

Posted at

Steps

  1. 別アカウントで所有しているドメインを利用した証明書の取得
  2. 証明書をセットしたカスタムドメイン名の作成
  3. カスタムドメイン名をRoute53のレコードに設定

1. 別アカウントで所有しているドメインを利用した証明書の取得

証明書の発行自体はACMからすぐにできましたが、ドメインを持っていること自体の証明が必要でした。

DNS証明という方法があって、これから証明書を取得するドメイン名のサブドメインに対して、自分が指定したドメイン名(=証明書を申請した側のAWSアカウントで作成された、******.acm-validations.aws/のようなアドレス) の組み合わせを作成し、それをドメインを所有している側のアカウントでレコードに登録することで証明しています。

参考:
- AWS Certificate Manager で証明書の準備をする
- DNS を使用したドメインの所有権の検証

2. 証明書をセットしたカスタムドメイン名の作成

API Gatewayの Custom Domain Nameから、こんな感じでドメイン名を設定します。

なお、ドメイン名に関する用語が紛らわしいので整理すると...

"デフォルトのベースURL": https://api-id.execute-api.region.amazonaws.com/stage

"リージョンのドメイン名"(またはターゲットドメイン名): https://api-id.execute-api.region.amazonaws.com
"カスタムドメイン名": https://api.example.com/myservice

ガイドにも書いてありますが、リージョンAPIのカスタムドメイン名を作成する場合にAPI Gatewayから返ってくるのは"リージョンのドメイン名"なんですね。これをDNSレコードに設定することで、カスタムドメイン名を使うための手続きが完了します。

参考: API Gateway で API のカスタムドメイン名を設定する

3. カスタムドメイン名をRoute53のレコードに設定

ドキュメント API Gateway でリージョン別 API 用のカスタムドメイン名をセットアップするではCLIのコマンドが示されている箇所です。

Aliasとして設定します。

その他

  • 疎通確認の際、 http でアクセスしないように気をつけてください。Chromeでドメインだけ(test.example.com)打ち込むとhttp として解釈されます。
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3