기본 제공 CI/CD 워크플로를 통해 정적 웹 애플리케이션의 글로벌 배포 및 호스팅을 지원하는 완전관리형 서비스. 단순히 Amplify 콘솔에서 애플리케이션의 코드 repository를 연결하기만 하면 코드를 커밋할 때마다 프런트엔드와 백엔드의 변경 사항이 단일 워크플로로 배포된다.
즉, Git repository와 연동시킨 뒤, Git에 소스코드를 Push하는 것만으로 프로젝트가 빌드되고 그 결과물을 호스팅까지 해주는 서비스
프론트와 백엔드를 분리하여 배포할 때 사용할 수 있으며 모바일, 웹앱(정적 개발 및 배포)에 이용한다. AWS에 풀스택 애플리케이션을 쉽고 빠르게 구축할 수 있도록 지원하는 특별히 제작된 도구와 서비스 집합이다.
Amplify Console App을 생성하는 절차가 무척 간단하다.
Amplify Console에서는 App이라는 개념으로 프로젝트들을 관리 한다. 이 App을 생성하면 배포 자동화 시스템을 구축할 수 있는데, 이 과정이 무척 간단하다.
[Git repository 연결 -> Branch 선택 -> 빌드 스펙 설정] 이렇게 크게 세 단계만으로 App 생성이 완료 된다.
배포 절차를 자동화 하여 배포 절차가 간단해진다.
Amplify는 지속적 배포 서비스이기 때문에 배포 과정이 매우 간단해진다.
따라서, 연결된 git repository의 브랜치에 변경이 발생하면 자동으로 이를 감지해 빌드와 배포를 알아서 해준다.
새로운 빌드가 준비되면 바로 배포되고 적용된다.
Amplify Console은 프론트엔드 프로젝트를 배포할 때, 내부적으로 S3와 CloudFront를 이용하여 호스팅 한다.
자동 빌드가 완료되면 파일이 S3에 업로드되며, 이는 즉시 CloudFront까지 업로드 된다.
그리고 새로운 빌드가 진행되어 이전과 같은 파일 이름으로 S3에 업로드 할 때는 버저닝을 하고, CloudFront는 새로운 버전이 확인되면 즉시 CloudFront에 새로 업로드하여 소스코드가 변경되면 바로바로 배포된다.
SSL 인증서 적용과 Custom Domain 설정이 간편하다
Amplify Console에서는 관리 메뉴에서 필요한 정보들만 입력하면 자동으로 SSL 인증서와 Domain의 Record set이 생성되고 적용된다.
지정한 Branch에 Pull Request를 생성하면 해당 Pull Request에 대한 독립적인 호스팅 환경이 만들어진다.
Amplify Console에는 Preview라는 기능이 있는데 이 기능은 지정한 Branch에 PR(Pull Request)당 PR 소스코드로 빌드 및 배포가 진행되어 별도로 분리된 호스팅 환경이 만들어지며 별도의 URL이 할당 된다.
이 기능을 이용하여 다수의 작업자가 각각 여러 과제를 수행하더라도 각 과제에 대한 분리된 호스팅 환경이 만들어지기 때문에 동시에 여러 과제에 대한 테스트가 가능해진다.