AWS์ SSL certificate ์ถ๊ฐ
Amazon EC2 ์ฌ์ฉ์ SSL ์ธ์ฆ์ ์ค์
์ธ์ฆ์๋ฅผ ์ค์นํ๋ ํฌ์ธํธ๋ ๋ ๊ตฐ๋ฐ.
- Load Balancer
- CDN(Cloudfront)
LB์๋ ์ฝ์์์ ์ง์ ์ถ๊ฐ๋ฅผ ํ ์ ์๋๋ฐ CDN์ command line interface๋ฅผ ์ด์ฉ.
Elastic Loadbalancer๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ๋ง๋ค ์ธ์ฆ์๋ฅผ ์ค์นํ ํ์๋ ์๊ณ ์ธ์ฆ์๋ฅผ ๋ฑ๋กํ๊ณ LB๋ฅผ ๋ง๋ค๋๋ง๋ค ๊ทธ๊ฑธ ์ง์ ๋ง ํด์ฃผ๋ฉด ๋จ.
EC2 Dashboard > Load Balancers > ์ด๋ฏธ ์ฌ์ฉ์ค์ธ ๊ฒฝ์ฐ ์๋ฌด LB๋ ๊ณ ๋ฆ > Listeners > HTTPS์์ SSL Certificate, ํด๋น ์ธ์ฆ์ Change
Certificate Type - Upload a new SSL Certificate
Certificate Name : ์์๋ก ์ง์
Private Key :
- ๊ตฌ๋งคํ ์
์ฒด์์ private key ๋ค์ด๋ก๋ํ ๋ค Openssl์ ์ด์ฉํด ์ํธ ํ์ด์ค, ์๋ ๋ช
๋ น์ด ์
๋ ฅํ๋ฉด ์ํธ๋ฅผ ๋ฌผ์ด๋ณด๋๋ฐ ๊ทธ ๋ ์ํธ๋ฅผ ์
๋ ฅํ๋ฉด passphrase ๊ฐ ์๋ key๋ก ๋ณํ๋จ
openssl rsa -in STAR.dottegi.com.key -out STAR.dottegi.com.nopass.key
- ๊ทธ ํ์ ํ์ผ์ ์ด์ด์ ๋ด์ฉ์ ๋ชจ๋ copy and paste
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAwruNRXlrUUq3y
~
as5gaeN5GlfTc2R4Yf/1n5hBno=
-----END RSA PRIVATE KEY-----
- ์ธ์ฆ ์
์ฒด์์ ์จ ๋ฉ์ผ ์ค ์๋ ๋ถ๋ถ copy and paste
Web Server CERTIFICATE
-----------------
-> ์ด ์๋๋ถํฐ
-----BEGIN CERTIFICATE-----
MIIE8DCCA9 ~ R4wI6mbFkFgv3K5m8=
-----END CERTIFICATE-----
<- ์ด ์๊น์ง
Certificate Chain : option์ด๋ผ๊ณ ํ์ง๋ง ์๋ฌด์
- ์ธ์ฆ ์
์ฒด์ด์ ์จ ๋ฉ์ผ ์ค ์๋ ๋ถ๋ถ copy and paste
INTERMEDIATE CA:
---------------------------------------
-> ์ด ์๋๋ถํฐ
-----BEGIN CERTIFICATE-----
MIIETzCCAzegA ~ IWvMpzNSS
-----END CERTIFICATE-----
<- ์ด ์๊น์ง
์ด ์๋๋ external ca root
-----BEGIN CERTIFICATE-----
MIIDfTCCAuag ~ Y7mHyhD8S
-----END CERTIFICATE-----
CDN์์ ์ฌ์ฉํ๋ SSL ์ถ๊ฐ
ELB์์ ์ฌ์ฉํ๋๋ก ์ถ๊ฐ๋ฅผ ํด๋ CDN์์๋ ์ฝ์ด์ฌ ์๊ฐ ์์
์๋์ ์์๋๋ก ์ถ๊ฐ
Amazon CLI ์๋ ๊ฒฝ์ฐ ์ค์น
brew install aws-cfn-tools aws-iam-tools
์๋์ ๋ช
๋ น์ด๋ก ์ถ๊ฐํจ
aws iam upload-server-certificate --server-certificate-name upcert2015 --certificate-body file://certificate.crt --private-key file://STAR.dottegi.com.nopass.key --certificate-chain file://PositiveSSLCA2.crt --path /cloudfront/dottegi.web.static/
aws iam upload-server-certificate -> IAM์์ server certificate์ upload ํ๊ฒ ๋ค๋ ์๊ธฐ
--server-certificate-name <์ด๋ฆ> -> ์์์ ์ธ์ฆ์ ์ด๋ฆ
--certificate-body file://<์ธ์ฆ์ ํ์ผ ์์น, crt ํํ> -> ์ธ์ฆ์ ๋ฉ์ผ์์ ๋ดค๋ Web Server CERTIFICATE ๋ถ๋ถ
--private-key file://<ํ๋ผ์ด๋น ํค ํ์ผ ์์น> -> ์ธ์ฆ์
์ฒด์์ ๋ค์ด๋ก๋ํ ํ๋ผ์ด๋น ํค์์ passphrase ์ ๊ฑฐํ ๊ฒ
--certificate-chain file://<์ธ์ฆ์ ์ฒด์ธ ํ์ผ ์์น, crt ํํ> -> ์ธ์ฆ์ ๋ฉ์ผ์์์ INTERMEDIATE CA ์ฒซ๋ฒ์งธ ๋ถ๋ถ
--path /cloudfront/<์์์ ์ด๋ฆ, S3 bucket ์ด๋ฆ>/ -> ์ธ์ฆ์ ์์น๋ฅผ ์ง์ ํจ, ๊ผญ /cloudfront/๋ก ํด์ผ ํ๋ฉฐ ๋ง์ง๋ง์ '/'๋ก ๋ซ์์ผ ํจ