2022-09-20 @이영훈
AWS에서 웹사이트를 배포할 때 최근에는 Amplify를 사용합니다
예전에는 S3(Static Hosting) + CloudFront(CDN) + Route53 (DNS) + ACM (TLS, 보안 레이어) 조합을 사용하였는데 이것들을 Amplify가 모두 해주기 때문에 배포가 굉장히 편리합니다.
그리고 CI/CD까지 자동으로 해줍니다. 내부적으로 CodeBuild, CodeDeploy가 동작합니다.
Amplify에서 웹사이트에 아이디, 비밀번호를 설정할 수도 있습니다. 인가되지 않은 사람들이 접속을 하지 못하도록 설정하는 가장 쉬운 방법입니다. 아이디, 비밀번호를 입력하기 전까지 어떠한 파일(HTML, JS, CSS)도 받아오지 않습니다.
설정하는 방법도 굉장히 편리합니다.
Amplify에서 아이디, 비밀번호 설정하기
배포된 앱에 들어가 왼쪽 탭에서 Access control에 접속합니다
그리고 브랜치 별로 (또는 모든 브랜치에) 아이디, 비밀번호를 설정합니다.
다음 그림의 설정은 develop 브랜치에서만 아이디, 비밀번호를 설정하는 하는 것입니다.
모든 브랜치에서 아이디, 비밀번호를 설정하고 싶으면, ‘Apply a global password’를 활성화(ON) 하면 됩니다.
웹사이트에 접속시 다음과 같이 아이디, 비밀번호를 요청합니다.
아이디, 비밀번호가 맞은 뒤에 html, js, css 파일을 불러옵니다. (동기적으로 동작합니다)
인증된 상태는 몇 시간 동안 유지되고, 일정 시간 뒤에 다시 아이디, 비밀번호를 요구합니다