AWSにオレオレ証明書を登録する

この記事は「AWSでhttpsを使いたい」という要望に5分で応えるために書きます。難しい話は他のサイトを参考にしてください。
AWSでhttpsを使う際のポイントは以下

  • 証明書はPEM形式でないとN.G.。Apacheで使う形式ではダメ。
  • 2016年6月現在、AWSの各種ダッシュボードからは何故かアップロードできない。
  • AWS CLIを使ってコマンドラインから証明書をアップロードして登録する。
  • EC2、Beanstalkのロードバランサに対して、ポート番号443をリスナ登録する際に登録済み証明書を設定する。

前提として、AWS CLIがインストール済みであるものとします。まだの人は過去記事(IAM (Identity and Access Management)ユーザの追加と AWS CLIのセットアップ)を参考にしてインストールを済ませてください。

オレオレ証明書(PEM形式)の作成

サーバ証明書の作成

$ pwd
/home/ikuty/cert
$ openssl req -new -keyout certkey.pem -text -out cert.req
--
秘密鍵のパスワードを入力
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Minatoku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:OreOreCompany
Organizational Unit Name (eg, section) []:Tech
Common Name (eg, your name or your server's hostname) []:oreore.com
Email Address []:ikuty@oreore.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
--

次に証明書の自己署名。

$ openssl req -x509 -in cert.req -text -key certkey.pem -out cert.crt
上記の秘密鍵のパスワードを再入力

秘密鍵からパスワードを削除

$ openssl rsa -in certkey.pem -out certnokey.pem
上記の秘密鍵のパスワードを再入力

AWS CLIを使ってオレオレ証明書をアップロード

※改行は見易さのためです。コピペする時は1行にしてください。

$ pwd
/home/ikuty/cert

$ aws iam upload-server-certificate 
   --server-certificate-name MyOreOreCertification
   --certificate-body file://cert.crt
   --private-key file://certnokey.pem

成功するとjsonが返ってくる。

{
    "ServerCertificateMetadata": {
        "ServerCertificateId": "**********************",
        "ServerCertificateName": "MyOreOreCertification",
        "Expiration": "2016-07-11T06:10:41Z",
        "Path": "/",
        "Arn": "*********************************",
        "UploadDate": "2016-06-11T06:17:20.991Z"
    }
}

確認

  • EC2のロードバランサに443のリスナを追加する画面で、上で追加したMyOreOreCertificationを選択できるようになります。
  • Elastic Beanstalkのロードバランサでも同様に MyOreOreCertificationを証明書として443のリスナを追加できるようになります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする