目次

概要

独自ドメイン名で EC2上のWebAPサーバ、または API Gateway にアクセス出来るようにする為の手順を記載する。
以下の例では、ドメイン名は example.com として、サブドメイン付きの aws-sample.example.com で EC2 または API Gateway にアクセスできるようにする手順を記載する。

証明書の作成

ドメイン名の検証について

  • 「DNSの検証」では DNSの cname を設定する事によりドメインの持ち主である事を確認する。

  ※DNSのTTL設定等にもよる為、少し時間がかかる。(ドキュメントには72時間以内に検証可能な状態になれば良い旨が書いてある)
  ※参考 ... DNS を使用したドメインの所有権の検証

  • 「Eメールの検証」では以下のアドレスに送信される確認メールに記載されているリンクから確認作業を行う。
    • administrator@ドメイン名
    • hostmaster@ドメイン名
    • postmaster@ドメイン名
    • webmaster@ドメイン名
    • admin@ドメイン名

  ※確認メールは上記の5つのメールアドレス全てに送られる。
  ※リンク先の [I Approve] を押下後はすぐに検証OKとなるので、上記のアドレスでメール受信できる場合は「Eメールの検証」の方が早い。
  ※参考 ... E メールを使用したドメインの所有権の検証

EC2にアクセスする場合

ACM で作成したパブリック証明書はエクスポートできない為、EC2等でそのまま利用する事はできない。
その為、EC2へのアクセス時に利用する場合は、ELBやCloudFront等を噛ます必要がある。
ここでは、ELBを利用する手順を記載する。
※参考 AWS Certificate Manager のよくある質問

  • マネージメントコンソールの EC2から [ロードバランサー] を選択し「ロードバランサーの作成」を押下
  • Application Load Balancer の「作成」を押下
  • 名前、スキーム、IP アドレスタイプ を入力/選択。
  • リスナーに HTTP(ポート:80) 及び HTTPS(ポート:443) を設定
  • アベイラビリティーゾーンを設定(対象のEC2インスタンスのあるVPC/アベイラビリティゾーンを選択)
  • 証明書タイプで 「ACM から証明書を選択する」を選択し、証明書の名前で先ほど作成した証明書を選択する。
  • セキュリティポリシーで「ELBSecurityPolicy-2016-08」を選択する。
     ※ELBでは、カスタムセキュリティポリシーを利用する事はできない為、用意されているものを利用する必要がある。
      (用意されているセキュリティポリシーは Application Load Balancer の HTTPS リスナー を参照)
  • セキュリティグループの設定で 80 及び 443 ポートを許可するセキュリティグループを選択する。 ※無い場合は「新しいセキュリティグループを作成する」から作成可能
  • ターゲットグループ、ヘルスチェックの設定を行う。 ※ターゲットの種類は「インスタンス」を選択
  • ターゲットの登録で、対象のEC2インスタンス選択/追加する。

  • 最後に、作成したロードバランサーのDNS名を対象ドメインのDNSに cname として設定する。

    Bindの設定例) ドメイン名: aws-sample.example.com ロードバランサーのDNS: elb-aws-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com の場合
    aws-sample IN CNAME elb-aws-xxxxxxxxxx.ap-northeast-1.elb.amazonaws.com.
    
    ※Route53を使用している場合は、Route53で設定可能。

API Gateway にアクセスする場合

API Gateway へのアクセス時に作成した証明書を利用する場合は、カスタムドメインを設定する。

(参考)
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/how-to-custom-domains.html
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html

  • マネージメントコンソールの API Gateway から「カスタムドメイン名」を選択。
  • 「カスタムドメイン名の作成」を押下。
  • ドメイン名を入力し、エンドポイントの設定で「Regional」を選択、ACM証明書で作成した証明書を選択後に「保存」を押下。
  • ベースパスマッピングで対象のAPIとのマッピングを設定する。

  • 最後に、作成したカスタムドメインの「ターゲットドメイン名」を対象ドメインのDNSに cname として設定する。

    Bindの設定例) ドメイン名: aws-sample.example.com ターゲットドメイン名: xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com の場合
    aws-sample IN CNAME xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com.
    
    ※Route53を使用している場合は、Route53で設定可能。

以上で、https://aws-sample.example.com でEC2 または API Gateway にアクセス可能となる。


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-02-19 (火) 08:09:03 (275d)