ラボ information

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)で早速使ってみましたので、その手順を共有します。

  1. SSL証明書を取得するために、秘密鍵と証明書署名要求を用意します。
    今回はcdn.hands.netというドメインに対して証明書署名要求を作成しました。
  2. SSL証明書を取得します。
    今回は認証機関としてグローバルサイン社からSSL証明書を取得しました。
  3. 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を表示するオプション
  4. CloudFrontでDistributionを作成します。
    SSL Certificateに3.でアップロードしたものが選択できるようになっています。
    Alternate Domain Namesはなぜかいったん作成した後でないと指定できないので、
    一度作成後にEditで開き直してcdn.hands.netと指定しました。
  5. Route53でCNAMEレコードを作成します。
    cdn.hands.net名前に対して、d2wfovtg54h0mn.cloudfront.net.という値のCNAMEレコードを作成しました。

これで以下のURLでアクセスするとCloudFront経由で画像が表示されます。
https://cdn.hands.net/images/4930846100045.jpg

一覧に戻る