
AWS Amplify는 풀스택 애플리케이션 개발을 지원하는 개발 플랫폼이다. 특히 프론트엔드와 백엔드를 쉽게 설정, 개발, 배포를 통합적으로 관리하는에 유용하다. Elastic Beanstalk는 백엔드를 쉽게 구성해주지만 Amplify는 프론트엔드, 백엔드, CI/CD를 쉽게 올인원으로 만들어준다.

merge 시에 자동으로 빌드와 배포 가능HTTPS를 사용해 데이터 전송도메인 이름 앞에 *를 사용해 서브 도메인 자리에 무엇이 오더라도 동일한 특정 브랜치로 연결해주는 기능이다.

설정: .example.com→ main 브랜치 연결
결과:
customer1.example.com 접속 → main 브랜치 앱 실행
nike.example.com 접속 → main 브랜치 앱 실행
anything.example.com 접속 → main 브랜치 앱 실행
SaaS 애플리케이션의 멀티 테넌트 지원 때문에 많이 사용한다.
예를 들어, 고객이 가입할 때마다 new-client.myapp.com을 DNS에 일일이 등록하고 배포 설정을 수정하는 것은 실질적으로 불가능하다. 이때, 와일드카드를 쓰면 인프라나 DNS 설정 변경없이 코드가 알아서 처리하도록 설정할 수 있다.
Amplify 콘솔에서 도메인 추가
AWS의 Amplify 서비스에서 앱을 추가하고 해당 콘솔에서 도메인 관리 메뉴로 들어가 사용할 루트 도메인을 연결한다.
서브 도메인 설정에 * 설정
서브 도메인 입력란에 *을 입력하고 이 와일드카드가 바라볼 브랜치를 선택한다.
DNS 레코드 업데이트 (CNAME)
Amplify가 제공하는 CNAME 값을 DNS 제공업체 (ex) Route 53 등)에 등록한다.
회사는 AWS 리전에 워크로드를 가지고 있습니다. 고객은 Amazon API Gateway REST API를 통해 워크로드에 접속합니다. 회사는 Amazon Route 53을 DNS 공급자로 사용하고 있습니다. 회사는 모든 고객에게 개별적이고 안전한 URL을 제공하려고 합니다.가장 운영 효율적으로 이러한 요구 사항을 충족할 솔루션 조합은 무엇입니까? (3개 선택)
A. 레지스트라에서 필요한 도메인을 등록합니다. Route 53 호스팅 존에 와일드카드 커스텀 도메인 이름을 생성하고, API Gateway 엔드포인트를 가리키는 레코드를 추가합니다.
B. 다른 리전의 AWS Certificate Manager(ACM)에서 도메인에 일치하는 와일드카드 인증서를 요청합니다.
C. Route 53에서 각 고객별로 호스팅 존을 생성하고, API Gateway 엔드포인트를 가리키는 존 레코드를 생성합니다.
D. 같은 리전의 AWS Certificate Manager(ACM)에서 커스텀 도메인 이름에 일치하는 와일드카드 인증서를 요청합니다.
E. API Gateway에서 각 고객을 위한 여러 API 엔드포인트를 생성합니다.
F. API Gateway에서 REST API를 위한 커스텀 도메인 이름을 생성하고, AWS Certificate Manager(ACM)에서 인증서를 가져옵니다.
이때 문제의 핵심은 모든 고객에게 개별 url 제공과 운영 효율적으로 요구사항을 충족해야 한다는 것이다.
이때, 각 고객별로 API 엔드포인트를 설정하는 것보다 와일드카드를 사용하게되면 운영 효율적으로 요구사항을 만족할 수 있다. 이때, 인증서를 만들어야 하는데 API Gateway의 엔드포인트 타입이 지역일 경우 API Gateway가 위치한 리전과 동일한 리전에 있는 인증서만 사용 가능하기에 정답은 D가 된다. 이렇게 인증서를 만든 후 요청 처리를 위해 커스텀 도메인을 생성하고 와일드 카드 인증서와 연결이 필요하기에 정답은 F가 된다. 마지막으로 와일드카드를 통해 API Gateway의 도메인 이름을 가리키도록 설정해야한다. 그래서 정답은 총 A, D, F가 된다.