AWS Amplify 기본도메인, 프로덕션 브랜치 URL 접근 암호화하기
현재 회사에서 int 배포를 amplify를 통해서 하고 있다.
amplify로 생성된 기본 프로덕션 브랜치 URL이 존재하는데,
이 URL로의 접근을 차단하고 Route 53을 통해 딴 도메인으로만 접근이 가능하게 하고 싶었다.
그래서 이 기본 도메인의 접근만 차단하는 방식을 기록해두고자 한다.
위 이미지에서 보이는 프로덕션 브랜치 URL로의 접근을 차단할 것이다.
1. 액세스 제어 메뉴
액세스 제어에 처음 접근하면 엑세스 설정이 "공개적으로 허용"이라고 되어있을 것이다.
액세스 관리를 눌러 사용자이름과 암호를 추가해주어야 한다.
그렇게 설정하고 나면!
기본도메인, 프로덕션 브랜치 URL로 접근 시 사용자이름과 비밀번호를 입력하라는 alert가 뜨며 접근이 제한될 것이다.
그런데, 액세스 제어를 걸고 나면 Route 53을 통해 딴 도메인으로 접근할 때에도 동일하게 접근이 제한된다.
커스텀 도메인으로의 접근 제한을 막기 위해 Route 53을 연결한 cloudfront 메뉴로 이동한다.
2. CloudFront
우리 회사에서는 amplify의 보안을 위해 cloudfront에 연결해서 사용하고 있다. (WAF 때문)
CloudFront 메뉴로 접근, 액세스 제어를 걸었던 amplify의 도메인이 연결된 CloudFront로 들어간다.
위 사진 처럼 원본 탭으로 들어가서 원본 체크 후 편집을 누른다.
원본 편집에서 우리가 집중해서 봐야 할 부분은 사용자 정의 헤더 추가 - 선택 사항 이다.
헤더를 추가하여 커스텀 도메인으로 접근할 때에는 권한을 함께 헤더로 넘겨주게끔 하는 것이다.
헤더 이름: Authorization
값: Basic {사용자이름:비밀번호}
위와 같이 넣어주면 되며 사용자이름, 비밀번호는 위 1번 메뉴 Amplify의 액세스 제어시 넣어주었던 사용자이름과 비밀번호를 넣어준다.
단, 그대로 넣으면 안된다. {사용자이름:비밀번호} 이 것을 Base64 로 인코딩한 값을 넣자!
Base64로 인코딩은 인터넷에 치면 변환해주는 사이트가 많으며 ChatGPT한테 물어봐도 변환해준다!
그러면 최종적으로는
헤더이름: Authorization 값: Basic blablablabla~~~
위 처럼 들어가게 될 것이다. 이렇게 넣고 변경 사항 저장을 눌러주면 커스텀 도메인으로는 접근이 그냥 가능하게 될 것이다!

AWS는 만질 일이 많지 않아서 조금 미숙하지만 알아가는 재미가 있다.
잘못된 부분은 피드백 부탁드리며 오늘의 포스팅 끝!