AWSでサーバーの固定ドメインを発行する

EC2インスタンスにSSL証明書を発行しようとしたところ

An unexpected error occurred: The server will not issue certificates for the identifier :: Error creating new order :: Cannot issue for "ec2-13-230-29-59.ap-northeast-1.compute.amazonaws.com": Policy forbids issuing for name

このようなエラーが出てしまい証明書を発行できなかった。

調べたところEC2インスタンスのデフォルトのパブリックDNSはサーバーは対比するパブリックIPアドレスが固定されていないため証明書を作ってくれないらしい。

そのためにAWSのElastic IPとRoute53を使って固定のIPアドレスとそれに対するドメインを取得した。 Elastic IPではEC2のインスタンスIDを入れるとそのインスタンスに対するパブリックIPを発行してくれて、サーバーを再起動してもそのIPで固定されるようになる。

またRoute53ではホストゾーンを作りそこに先程発行したElastic IPを指定する。IPアドレスに新たな名前を付けるイメージだ。

このようにしてAWSにあるものだけでもドメインを取得することができる。これだと一応ちゃんと使われるであろうドメインに見えるためSSL証明書を発行することができる。