ども、cloudpack の かっぱ (@inokara) です。
実は
デフォルトでは HTTPS も使えます。但し、独自ドメインではなく*.cloudfront.net というドメインになりまっせ。
参考
- 【AWS発表】 Amazon CloudFrontが独自SSL証明書とルートドメインホスティングをサポート
- HTTPS 接続を使用したオブジェクトへのアクセス
- Server Name Indication
上記の記事等を見ると従来は独自 SSL 証明書は対応していなかったようですね。ちなみに、CloudFront では以下の三パターンの証明書が利用可能なようです。
- *.cloudfront.net というドメインしか利用出来ないけど無料で使える共有 SSL 証明書
- お金を払う必要があるけど全てのクライアントに対応している独自 SSL 証明書
- お金はかからないけどいくつかのクライアントでは利用出来ない独自証明書
三番目のクライアント非対応というは気になりますね。非対応のクライアントの情報はこちらに書かれています。
やってみる
鍵ファイルと証明書ファイルを用意する
今回は自己証明書を以下のように用意致しました。
- key.pem
- cert.pem
一旦、CLI でファイルアップ
なんと、これらのファイルをマネジメントコンソールからではなく CLI を使ってアップロードする必要があります。ELB のマネジメントコンソールに慣れた AWS ゆとり世代の自分にはちょっとキツイかもしれませんが我慢しましょう。
aws iam upload-server-certificate --path /cloudfront/ --server-certificate-name foobar --certificate-body file://cert.pem --private-key file://key.pem
ここでのキモは --path /cloudfront/
です。これを指定しないといくら待っても CloudFront でサーバー証明書を利用することは出来ません。
あとは…
CLI メモ
AWS CLI から証明書を捜査する際のほんのメモです。
証明書のアップロード
aws iam upload-server-certificate --path /cloudfront/ --server-certificate-name foobar --certificate-body file://cert.pem --private-key file://key.pem
--path /cloudfront/
に注意しましょう。指定しない場合には /
にアップロードされて CloudFront からは見えませんのでご注意ください。
証明書一覧取得
aws iam list-server-certificates
証明書削除
aws iam delete-server-certificate --server-certificate-name ${証明書削除}
最後に
ってな感じでデモをお見せ出来なくて恐縮ですが Cloudfront で独自 SSL を使う際のメモでした。
元記事はこちらです。
「CloudFront に独自証明書を適用するメモ」