2013.06.19
Amazon CloudFrontで独自SSL証明書を使う
ハンズラボの今井です。
ついにAWSで「Amazon CloudFrontが独自SSL証明書」がサポートされました。
http://aws.typepad.com/aws_japan/2013/06/custom-ssl-domain-names-root-domain-hosting-for-amazon-cloudfront.html
弊社ECサイトのハンズネット(https://hands.net)で早速使ってみましたので、その手順を共有します。
- SSL証明書を取得するために、秘密鍵と証明書署名要求を用意します。
今回はcdn.hands.netというドメインに対して証明書署名要求を作成しました。 - SSL証明書を取得します。
今回は認証機関としてグローバルサイン社からSSL証明書を取得しました。 - AWSアカウントにSSL証明書をアップロードします。
IAM CLIを使って次のコマンドで、AWSアカウントにSSL証明書をアップロードします。
iam-servercertupload –aws-credential-file credential-file
-b cdn.hands.net.crt
-c globalsign.crt
-k cdn.hands.net.key
-s cdn.hands.net
-p /cloudfront/cdn.hands.net
-v
IAM CLIはAmazonLinuxに入っているものを使いました。
以下は、各種ファイルの説明です。
–aws-credential-file credential-file credential-fileは、APIを発行するための認証ファイル
awsaccesskeyid=your-aws-access-key-id
awssecretkey=your-aws-secret-key
-b cdn.hands.net.crtは、SSL証明書
-c globalsign.crt は、中間証明書
-k cdn.hands.net.keyは、秘密鍵
-s cdn.hands.netは、証明書名
-p /cloudfront/cdn.hands.netは、CloudFrontで使う指定とパス
-v は、作成された証明書オブジェクトのARNを表示するオプション - CloudFrontでDistributionを作成します。
SSL Certificateに3.でアップロードしたものが選択できるようになっています。
Alternate Domain Namesはなぜかいったん作成した後でないと指定できないので、
一度作成後にEditで開き直してcdn.hands.netと指定しました。 - Route53でCNAMEレコードを作成します。
cdn.hands.net名前に対して、d2wfovtg54h0mn.cloudfront.net.という値のCNAMEレコードを作成しました。
これで以下のURLでアクセスするとCloudFront経由で画像が表示されます。
https://cdn.hands.net/images/4930846100045.jpg