#前置き
S3で独自ドメインをSSLに対応させるにはCloudFrontを使う必要がある
ELBやCloudFrontへSSL証明書を登録などの作業は
ManegemntConsoleでは不可能でAWS-CLIを使用する必要がある
MacOSではTeminalでそのまま作業ができる
(バージニアだとACM使えるけどACM発行じゃないとだめ?)
#AWS-CLIのインストール
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
pip install awscli
#IAMユーザの作成
今使ってるIAMユーザを使うか専用のユーザを作成
アクセスキーを確保しておく
#証明書作業用のポリシーを作成
カスタムポリシーを以下のように作成し、ユーザにアタッチする
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:DeleteServerCertificate",
"iam:UploadServerCertificate",
"iam:UpdateServerCertificate",
"iam:ListServerCertificates",
"iam:GetServerCertificate"
],
"Resource": "*"
}
]
}
#AWS-CLIの設定
$ aws configure
AWS Access Key ID [None]:アクセスキー
AWS Secret Access Key [None]:シークレットキー
Default region name [None]:ap-northeast-1
Default output format [None]:
#SSL証明書の導入
##秘密鍵のチェック
$ openssl rsa -in test.key -check -noout
RSA key ok
##証明書の動作チェック
$ openssl s_server -accept 10443 -cert test.crt -key test.key -CAfile test中間証明.crt -WWW
ACCEPT
#SSL証明書をAWSにアップ
$ aws iam upload-server-certificate --server-certificate-name .com --certificate-body file://test.crt --private-key file://test.key --certificate-chain file://test中間証明書.crt --path /cloudfront/hogehoge.com/
{
"ServerCertificateMetadata": {
"ServerCertificateId": "xxxxxxxxxxxxxxxxxx",
"ServerCertificateName": "hogehoge.com",
"Expiration": "2016-07-15T16:16:20Z",
"Path": "/cloudfront/hogehoge.com/",
"Arn": "arn:aws:iam::1234567890:server-certificate/cloudfront/hogehoge.com/hogehoge.com",
"UploadDate": "2016-04-06T08:48:03.087Z"
}
}
上記表示で完了
これでManegementConsole上で設定できる