Amazon Web Services ブログ

AWS Amplify Hosting に独自の SSL 証明書を持ち込む方法

はじめに

本日 (2024 年 2 月 21 日)、AWS Amplify Hosting のカスタム SSL 証明書の一般提供を発表できることを嬉しく思います。この機能を使うことで AWS Certificate Manager (ACM) から独自の SSL 証明書を Amplify ドメインに設定することができます。

Amplify はお客様に代わって SSL/TLS 証明書を管理し、アプリのユーザー数が 100 人であろうと 10 万人であろうと、HTTPS でお客様のドメインに安全にトラフィックを提供します。Amplify Hosting が生成した SSL 証明書は、ほとんどのお客様のユースケースに適していますが、一部のお客様からは、独自の証明書をドメインに関連付ける機能を要望されていました。カスタム SSL 証明書機能は、お客様の Amplify ドメインで以下のユースケースを可能にしますが、これに限定されるものではありません。

  • サードパーティの認証局 (CA) が発行した証明書を使用したい場合
  • セキュリティ強度を高めるために、証明書の TLS バージョンと公開鍵暗号化アルゴリズムを設定したい場合
  • www.example.com、www.example.ne など、複数の完全修飾ドメイン名 (FQDN) で証明書を共有したい場合

ウォークスルー

本記事では、IT コンプライアンスのニーズを満たすために、ACM 証明書をリクエストまたはインポートし、Amplify ドメインに関連付ける方法を説明します。

前提条件

このウォークスルーを始める前に、以下のステップを実施しておく必要があります。

  • Amplify Hosting に Web アプリをデプロイする。Web アプリの構築、デプロイ、ホスティングの詳細については、AWS Amplify Hosting ユーザーガイドを参照してください。
  • カスタムドメインを作成する。所有権を確認するプロセスを簡素化するために、Amazon Route 53 で作成したドメインを使用することをお勧めします。
  • カスタムドメインを Amplify アプリに関連付ける。Amplify Hosting でカスタムドメインを設定する方法はカスタムドメインのセットアップをご覧ください。

us-east-1 で ACM 証明書をプロビジョニングする

Amplify で使用する ACM 証明書をプロビジョニングするには、2 つのオプションがあります。

  • ACM で新規の証明書をリクエストする
  • サードパーティの認証局から発行された既存の証明書をインポートする

米国東部 (バージニア北部、us-east-1) リージョンで証明書をプロビジョニングする必要があります。詳細は Amazon CloudFront Developer Guide を参照してください。

新規の証明書のリクエスト

ACM コンソール (us-east-1) にアクセスし、Request a certificate を選択します。

Request a public certificate を選択し、Next を選択します。プライベート証明書は Amplify ドメインではサポートされていません。

Fully qualified domain name の下に、ルートドメイン名 (example.com など) とワイルドカードサブドメイン名 (*.example.com など) の両方を入力します。

ワイルドカードサブドメイン名は、Amplifyドメインに設定したサブドメインで証明書を使用するために必要です。

Validation methodKey algorithmTags に必要な設定を入力し、Request を選択します。

ACM 証明書がプロビジョニングされました。バナーの View certificate を選択すると、ドメインの所有権を確認するための次のステップが表示されます。

カスタムドメインが同じ AWS アカウントの Route 53 で作成されている場合は、Create records in Route 53 を選択します。

Create records を選択します。これにより、カスタムドメインの Route 53 ホストゾーンに CNAME レコードが作成され、ACM はあなたがドメインを所有していることを確認することができます。

ドメインが Route 53 ではなくサードパーティのドメインレジストラで作成された場合、これらの CNAME レコードを手動で追加する必要があります。詳細については、登録しているドメインレジストラのドキュメントを参照してください。

しばらくすると、証明書が発行され、ドメインの検証に成功したことが表示されます。

既存の証明書のインポート

サードパーティ CA が発行した証明書をすでにお持ちの場合は、Import a certificate を選択します。

サードパーティ証明書には、ルートドメイン名 (example.com など) とワイルドカードサブドメイン名 (*.example.com など) の両方を指定する必要があります。ワイルドカードサブドメイン名は、Amplify ドメインに設定したサブドメインで証明書が動作するために必要です。

Certificate bodyCertificate private keyCertificate chain (オプション) を入力し、Next を選択します。このステップでタグを追加することもできます。

Import を選択します。

インポートされた証明書が ACM でプロビジョニングされます。

Amplify ドメインで ACM 証明書を使用する

Amplify ドメインの管理ページで、カスタムドメインを見つけ、Manage domain を選択します。

Choose your certificateCustom SSL certificate を選択し、ドロップダウンメニューから証明書を選択し、Update を選択します。証明書 ID が、このウォークスルー用に ACM でプロビジョニングした証明書に対応していることを確認します。

Amplify は、ACM 証明書をドメインに関連付けるプロセスを開始し、関連付けのステータスを表示します。

クリーンアップ

Amplify ドメインで Amplify が管理する証明書を使用

カスタム SSL 証明書の代わりに、Amplify が管理する証明書を使用するように切り替えることができます。Amplify ドメイン管理ページで、カスタムドメインを見つけ、ドメインの管理を選択します。

AWS Amplify Hosting のドメイン管理ページでカスタムドメイン (olileung.people.aws.dev) ボックスの右上に Manage domain ボタンがあります。

Choose your certificateAmplify managed certificate を選択し、Update を選択します。

Amplify は、ドメイン上で ACM 証明書を Amplify が管理する証明書に置き換えるプロセスを開始し、更新のステータスを表示します。

ACM 証明書の削除

ACM 証明書を削除することもできます。証明書の ACM ページで、証明書が使用されていないことを確認し、Delete を選択します。

ポップアップで「delete」と入力し、Delete を選択します。これで証明書は ACM から削除されます。

まとめ

本記事では、ACM 証明書をリクエストまたはインポートし、Amplify ドメインに関連付ける方法を紹介しました。これにより、ドメインと IT コンプライアンスのニーズをより詳細に管理できるようになります。

サードパーティの証明書プロバイダから証明書をインポートした場合は、有効期限が切れる前に証明書を再インポートする必要があります。詳細については、証明書の再インポートに関する ACM ユーザーガイドを参照してください。

Amplify ドメインに関連付けられた証明書は、そのサブドメインを保護します。詳細については、サブドメインの管理に関する Amplify Hosting ユーザーガイドを参照してください。

最後に、Next.js, Nuxt, React, Angular, Vue、またはその他のフロントエンドアプリを Amplify Hosting にデプロイして、コミュニティの Discord に参加して感想を聞かせてください!

本記事は 「Bring your own SSL certificate to AWS Amplify Hosting」 を翻訳したものです。

著者について

Alexa Bio

Oliver Leung, Software Development Engineer, Amplify Hosting

Oliver Leung は AWS Amplify Hosting の Software Development Engineer (SDE) です。Oliver は、AWS の信頼性と利便性に裏打ちされたフロントエンドの Web アプリケーションを、顧客がより簡単にホストできるようにする機能を構築しています。余暇には Amazon Jazz Band でアルトサックスを演奏したり、和太鼓を演奏しています。

Alexa Bio

Matt Auerbach, Senior Product Manager, Amplify Hosting

Matt Auerbach はニューヨークを拠点とする AWS Amplify チームのプロダクトマネージャーです。彼は、プロダクトとオファリングに関して開発者を教育し、支援とフィードバックのための主要な窓口として活動しています。Matt は温厚なプログラマーで、テクノロジーを使って問題を解決し、人々の生活を便利にすることを楽しんでいます。しかし、夜は…ほとんど同じことをしています。Matt の X アカウントは @mauerbac です。以前は Twitch, Optimizely, Twilio でデベロッパーリレーションを担当していました。

翻訳者について

稲田 大陸

AWS Japan で働く筋トレが趣味のソリューションアーキテクト。普段は製造業のお客様を中心に技術支援を行っています。好きな AWS サービスは Amazon Location Service と AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログなどを執筆しています。