harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

AWS cloud Load Balancing security SSL

[AWS]Certificate Manager 証明書リクエストメールの宛先を変更する場合

投稿日:2016年11月20日

 
参考:お世話になっております!

AWS Certificate Manager UserGuide:
Validate Domain Ownership
Using the ACM API
Configure Email for Your Domain
RequestCertificate
request-certificate

▼オーバービュー

ACMにてtest.hoge.example.comといったサブドメインのついた証明書を作成しようとすると
承認メールがそのままのドメインのアドレス宛に配信されてしまった。

例:

test.hoge.example.com
admin@test.hoge.example.com
webmaster@test.hoge.example.com
administrator@test.hoge.example.com
hostmaster@test.hoge.example.com
postmaster@test.hoge.example.com
  • 一方で、hostmasterやwebmasterなどのアドレスはオリジナルのドメインのみで、サブドメインでのメール受信環境は無い(test.hoge.example.comのMTAは無い)
  • またサブドメインを含め、Route53でなく外部のDNSサーバーを利用しているため、Route53+SESの合わせ技も使えない。
  •  

    受信に利用できる/したいアドレス

    administrator@example.com
    admin@example.com
    webmaster@example.com
    hostmaster@example.com
    postmaster@example.com

    なぜこのような現象が起こるのか?と思って該当ドメインを調べてみたら、サブドメインに対応した、複数のMXレコードが存在している場合にFQDNに指定したドメイン名をアドレスパートに用いて承認メールを送る、という仕組みがある様子。

    example.com IN MX mx.example.com
    foo.example.com IN MX mx.foo.example.com

    この場合だと hoge.example.com MXレコードが無い!どちらに送ればいいのか?

    上記のアドレスに承認メールを送るよう変更リクエストを投げたい場合には、AWS APIのrequest-certificateを利用するとメールアドレスのドメインパートをオリジナルのドメインに変更してもらえる様子。
    2016/08/31現在、AWSマネージメントコンソールでは提供されておらず、CLIからの提供のみとのこと
    (そのうちマネージメントコンソールでも利用できるようになったらステキ!)。

    ▼コマンドラインでの変更申請

    AWS マネージメントコンソールを使わず、APIツールを利用しての利用となる。
    acmの利用は、aws-cliのバージョン1.10以降で対応しているとのこと。
    また、コマンドラインからおなじFQDNで再申請する場合はすでに申請し、”検証保留中”となっているリクエストと重複してしまうので、いったん削除してから実施するのが適切。

    コマンドオプション

  • –domain-name 証明書に使用するドメイン名(FQDN)
  • –subject-alternative-names “domain-name”に追加で指定する、ドメイン名の別名
    AWS manegement consoleでの”この証明書に別の名前を追加”に対応。
  • –domain-validation-options ドメイン、および承認に使用するオプション
    FQDNとは別に、承認メールの宛先に使用するドメインパートを指定したい場合は
    こちらも指定してリクエストを発行する。
  • DomainName= FQDNに該当する部分
  • ValidationDomain= 承認メールの宛先に使用するドメイン名
  • コマンドライン

    # aws acm request-certificate --region=ap-northeast-1 --domain-name test.hoge.example.com --domain-validation-options DomainName=test.hoge.example.com,ValidationDomain=example.com
    

    実行後、コンソールにARNと識別子が出力されればリクエストは成功。

    {
    "CertificateArn": "arn:aws:acm:ap-northeast-1:05**********:certificate/19c8****-62**-4d**-8c**-18**********"
    }
    

    ※aws-cliのバージョンによっては、以下のような表示で出力される場合もある。

    ----------------------------------------------------------------------------------------------------------------
    | RequestCertificate |
    +----------------+---------------------------------------------------------------------------------------------+
    | CertificateArn| arn:aws:acm:ap-northeast-1:05**********:certificate/19c8****-62**-4d**-8c**-18********** |
    +----------------+---------------------------------------------------------------------------------------------+
    

    ▼変更後の確認

    AWS マネージメントコンソールのAWSにて、以下の表示に変更となる。

    状況 検証保留中
    状況の詳細 リクエストの検証 E メールを 2016-09-23T06:06:47UTC に送信しましたが、まだ以下のドメインの
    証明書の発行承認を受信していません:

    administrator@example.com
    admin@example.com
    webmaster@example.com
    hostmaster@example.com
    postmaster@example.com

    指定したメールアドレス宛に承認確認メールが配信されていれば成功。
    承認したらコンソールにて”状況”を確認しましょう~
     
     

     

    -AWS, cloud, Load Balancing, security, SSL
    -,

    執筆者:


    comment

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    CAPTCHA


    関連記事

    [AWS]s3fsの最新版を試してみた(s3fs-1.70)

    以前バックアップテストにCentOS6.3のAMIを使用したが、s3fsをインストールする際、RPM版fuseのバージョンが2.8.3と古く、これに合わせてs3fsのバージョンも1.19と古いバージョ …

    [AWS]s3-tools(s3cmd)のインストールと検証

    EC2上のDB→S3バケットへのダンプファイルの転送にて、s3fs以外のものでも試してみよう、ということで 今日はs3-toolsのテストを。 インスタンスはAmazon Linux AMI、ラージイ …

    [ただのメモ] Amazon_Linux_yumでのupdate不具合を解消

      09/01にAmazon LinuxにてGitのアップデートがリリースされたのでyum updateしようとしたら、”No packages marked for update&#82 …

    no image

    [メモ]DNS SPFレコードタイプトTXTレコードタイプについて(RFC7208)

      Route53で新サービス用のドメインのDNS環境整備ため、SPFレコードを登録しようとしたところ、レコードタイプに”SPF”なるタイプがあった! 自分は今までずっとTXT …

    no image

    haproxyを試す 3.SSLリバースプロキシを設定してみる

      HAProxyにてSSLリバースプロキシを設定してみるテスト。 設定環境はAWS EC2にてRightImageのCentOS6を使用しました。 HTTP/80については設定済みとなっている前提で …