์ด ๋ฌธ์๋ AWS์ Route53, ACM, ๊ทธ๋ฆฌ๊ณ ๋ก๋๋ฐธ๋ฐ์๋ฅผ ์ด์ฉํด ์น ์ฌ์ดํธ์ ํ๋กํ ์ฝ์ HTTP์์ HTTPS๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
- WS-AutoML Google OAuth API๋ฅผ ์ด์ฉํ ์ธ๋ถ์ฌ์ฉ์ ์ ๊ทผ ํ์ฉ ๋ฐ ๋ฐ์ดํฐ ์ ์ก ๋ณด์ ๊ฐํ๋ฅผ ์ํ ์ํธํ ๊ธฐ๋ฅ ์ ์ฉ
- AWS Route53์์ ๋๋ฉ์ธ ์์ฑ ๋ฐ ๊ฒฐ์
- ACM์์ ์ธ์ฆ์ ๋ฐ๊ธ
- Route53์์ ์์ฑํ ๋๋ฉ์ธ์ ๋ก๋๋ฐธ๋ฐ์์ ๋ฑ๋ก
- ๊ธฐ์กด HTTP ํธ๋ํฝ์ ๋ํ ๋ฆฌ๋ค์ด๋ ํธ ์ค์
- HSTS ์ค์
- ์ฟ ํค์ Secure ํ๋๊ทธ ์ค์
- CORS ๋ฐ CSP ์ค์
- HTTPS ์ ์ฉ ํ์ธ
- AWS Management Console์ ๋ก๊ทธ์ธ ํ, 'Services'์์ 'Route 53' ์๋น์ค๋ฅผ ์ ํํฉ๋๋ค.
- 'Domain Registration'์ ํด๋ฆญ ํ 'Register Domain'์ ์ ํํฉ๋๋ค.
- 'main.wsautoml.com'๊ณผ 'admin.wsautoml.com' ๋๋ฉ์ธ ์ด๋ฆ์ ์ ๋ ฅํ๊ณ , ๋๋ฉ์ธ ์ข ๋ฅ (.com)๋ฅผ ์ ํํฉ๋๋ค. ์ด ์ด๋ฆ์ ์ ์ธ๊ณ์์ ์ ์ผํ ์ด๋ฆ์ด์ด์ผ ํฉ๋๋ค.
- ํ์ํ ์ ๋ณด๋ฅผ ์ ๋ ฅํ ํ, ๊ฒฐ์ ์ ๋ณด๋ฅผ ํ์ธํ๊ณ ๋๋ฉ์ธ์ ๊ตฌ๋งคํฉ๋๋ค. ๋๋ฉ์ธ ์ด๋ฆ์ด ์ด์ฉ ๊ฐ๋ฅํ์ง์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฅ๋์๋์ง๋ฅผ ํ์ธํด์ฃผ์ธ์.
- AWS Management Console์ ๋ก๊ทธ์ธ ํ, 'Services'์์ 'Certificate Manager'๋ฅผ ์ ํํฉ๋๋ค.
- 'Request a certificate'๋ฅผ ํด๋ฆญํฉ๋๋ค.
- 'Request a public certificate' ์ต์ ์ ์ ํ ํ, 'Request a certificate' ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
- ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ ๋ฐ๊ณ ์ ํ๋ ๋๋ฉ์ธ ์ด๋ฆ 'admin.wsautoml.com'๊ณผ 'main.wsautoml.com'์ ์ ๋ ฅํ๊ณ , 'Next' ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
- ๊ฒ์ฆ ๋ฐฉ๋ฒ์ผ๋ก DNS ๊ฒ์ฆ ๋๋ ์ด๋ฉ์ผ ๊ฒ์ฆ์ ์ ํํฉ๋๋ค.
- ์ด๋ฉ์ผ ํ์ธ์ ํตํด ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ ๋ฐ์ต๋๋ค. ์ด๋ฉ์ผ์ ์ ๋ฌ๋ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ์ธ์ฆ ์ ์ฐจ๋ฅผ ์๋ฃํฉ๋๋ค.
- AWS Management Console์์ 'Services'์์ 'EC2'๋ฅผ ์ ํํฉ๋๋ค.
- ์ผ์ชฝ ์ฌ์ด๋๋ฐ์์ 'Load Balancers'๋ฅผ ์ ํํฉ๋๋ค.
- ํ์ํ ๋ก๋๋ฐธ๋ฐ์ (automl-main-web-load-balancer-213875655 ์ automl-user-load-balancer-366843044)๋ฅผ ์ ํํ๊ณ , 'Listeners' ํญ์ ํด๋ฆญํฉ๋๋ค.
- 'Edit'๋ฅผ ํด๋ฆญํ์ฌ 'HTTPS : 443'์ ์ถ๊ฐํ๊ณ , ์ธ์ฆ์๋ฅผ ACM์์ ๋ฐ๊ธ ๋ฐ์ ๊ฒ์ผ๋ก ์ค์ ํฉ๋๋ค.
- 'Route 53' ์๋น์ค๋ก ๋์๊ฐ์ 'Hosted zones'์์ ์์ฑํ ๋๋ฉ์ธ์ ์ ํํฉ๋๋ค.
- ๊ฐ ๋ก๋๋ฐธ๋ฐ์์ DNS ์ด๋ฆ์ ๋ ์ฝ๋์ ์ผ๋ก ์ถ๊ฐํฉ๋๋ค. 'Create Record Set'์ ํด๋ฆญํ๊ณ 'Alias' ํญ๋ชฉ์ ๊ฐ ๋ก๋๋ฐธ๋ฐ์์ DNS ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
- AWS Management Console์์ 'Services'์์ 'EC2'๋ฅผ ์ ํํฉ๋๋ค.
- ์ผ์ชฝ ์ฌ์ด๋๋ฐ์์ 'Load Balancers'๋ฅผ ์ ํํฉ๋๋ค.
- ํ์ํ ๋ก๋๋ฐธ๋ฐ์ (automl-user-load-balancer-366843044 ์ automl-main-web-load-balancer-213875655)๋ฅผ ์ ํํ๊ณ , 'Listeners' ํญ์ ํด๋ฆญํฉ๋๋ค.
- 'View/edit rules'๋ฅผ ํด๋ฆญํ ํ, 'HTTP : 80' ๋ฆฌ์ค๋์ ๋ํด 'Redirect to https://' ๊ท์น์ ์ถ๊ฐํฉ๋๋ค.
- ์น ์๋ฒ์ ์ค์ ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด HSTS ํค๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.
Strict-Transport-Security: max-age=31536000; includeSubDomains
- ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฟ ํค๋ฅผ ์ค์ ํ ๋ 'Secure' ํ๋๊ทธ๋ฅผ ์ฌ์ฉํด ์ฟ ํค๊ฐ HTTPS ์ฐ๊ฒฐ์ ํตํด์๋ง ์ ์ก๋๋๋ก ์ค์ ํฉ๋๋ค.
- ์น ์ ํ๋ฆฌ์ผ์ด์ ์ CORS ๋ฐ CSP ์ค์ ์ ๊ฒํ ํ๊ณ ํ์ํ ๊ฒฝ์ฐ HTTPS๋ก ์ ๋ฐ์ดํธํฉ๋๋ค.
- ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๊ณ , https://main.wsautoml.com ๋ฐ https://admin.wsautoml.com ๋ก ์ ์์ ์๋ํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ์ ์ฃผ์ ์ฐฝ์์ 'https://'๊ฐ ํ์๋๊ณ , ๋ณด์ ์ฐ๊ฒฐ์ด ์ฑ๋ฆฝ๋ ๊ฒ์ ํ์ธํฉ๋๋ค.