[AWS] AWS에서 풀 스택 개발하기 (AWS Amplify)
MinIO를 대체 할 S3 Web Exploler 서비스를 계속해서 찾고있었는데, 바로 얼마전 AWS에서 제공하는
Storage Browser for S3 서비스에 대해 알게되었다.
해당 서비스는 간단히 애기하면 웹 애플리케이션에 추가하여 S3에 저장된 데이터에 대한 간단한 인터페이스를 최종 사용자에게 제공 할 수 있는 오픈소스다.
해당 서비스는 AWS의 Amplify Gen2 Project 에서 동작하는데, 이번 포스팅에서 Amplify에 대해 먼저 알아보자.
AWS Amplify란?
AWS Amplify는 프론트엔드 및 풀스택 웹, 모바일 애플리케이션을 손쉽게 개발, 배포, 관리할 수 있도록 지원하는 클라우드 기반 서비스다. React, Angular, Vue 같은 웹 프레임워크 뿐만 아니라 IOS 및 Android 앱 개발에도 활용이 가능하다.
Amplify는 백엔드 구축, 호스팅, 인증, 데이터 저장, 서버리스 기능 등을 손쉽게 설정할 수 있도록 돕는 다양한 기능을 제공한다.
특히 서버리스 아키텍처를 기반으로 하여 빠르게 MVP(최소 기능 제품)를 개발하거나, 프로덕션 환경을 구축하는 데 용이하다.
AWS Amplify의 주요 기능
✅ 백엔드 서비스 구축
Amplify는 백엔드를 빠르게 설정하고 클라이언트 애플리케이션과 연동할 수 있도록 지원한다.
- 인증(Authentication) : Amazon Cognito를 기반으로 사용자 로그인 및 관리 기능 제공
- 데이터 저장(Database) : Amazon DynamoDB 및 Graph API(AWS App Sync) 지원
- 파일 스토리지(Storage) : Amazon S3를 이용한 이미지, 동영상 등의 파일 저장 기능
- 서버리스 함수(Fuctions) : AWS Lambda를 이용한 백엔드 로직 구현 가능
✅ 프론트엔드 애플리케이션 배포
AWS Amplicy는 정적 웹사이트 및 SPA(Single Page Application)를 빠르게 배포할 수 있도록 지원한다.
- Git 기반 배포 : GitHub, GitLab, Bitbuckett 등과 연동하여 코드 변경 시 자동 배포가 가능
- 자동화된 CI/CD : 브랜치 별 환경을 설정하여 개발, 스테이징, 프로덕션을 분리 가능
- 커스텀 도메인 연결 : Route53 및 외부 도메인 서비스와 연동 가능
✅ 풀스택 애플리케이션 지원
Amplify는 단순한 정적 호스팅 뿐만아니라, 백엔드 서비스와 연결된 풀스택 애플리케이션 개발을 지원한다.
- GraphQL 및 REST API 연동
- React, Vue, Angular, Next.js 같은 프레임워크 지원
- 모바일 앱과도 연동 가능 (IOS, Android 지원)
AWS Amplify 사용
앞서 설명했던 Amplify Gen2 Project 를 AWS Amplify로 빠르게 구축하는 방법에 대해 알아보자.
1. Repository 생성
aws-samples의 amplify-vite-react-template를 자신의 git repository에 생성해준다. (private, pubilc 상관 X) 아래 링크를 통해 생성이 가능하다.
GitHub · Build and ship software on a single, collaborative platform
Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.
github.com
2. AWS Amplify에서 앱 배포하기
콘솔에서 AWS Amplify에 들어간 후 앱 배포를 클릭한다. 다음과 같은 창이 나오면 GitHub를 선택한다.
다음과 같이 Github에 로그인을 하라는 창이 나오게 된다. 방금 전 리포지토리를 생성했던 git으로 로그인한다.
그 후 리포지토리에 대한 권한을 설정하게 되는데, 나는 아까 생성했던 repository에 대해서만 권한을 부여했다.
권한 설정이 완료되면 콘솔로 돌아가 드롭다운 메뉴에서 repository와 branch를 설정한다.
앱 설정은 따로 해주지 않았으며, 완료되면 배포를 클릭한다. 앱이 배포되기 까지 5분~10분 정도 소요된다.
3. 배포 확인
배포가 완료돤 후 콘솔의 도메인을 확인해보면 배포된 앱을 확인할 수 있다.
결론
AWS Amplify는 스타트업, 프로토타입 개발, 간단한 웹/모바일 프로젝트에서 강력한 기능을 제공하는 클라우드 솔루션이다. 서버 설정을 간편하게 설정 할 수 있기 때문에, 관리 없이 프론트엔드 개발에 집중이 가능하다.
다만, AWS 생태계에 종속적인 점과 복잡한 백엔드 커스텀화가 어려운 단점이 있으므로, 프로젝트의 특성에 맞게 도입을 고려하는 것이 좋다.
'💻 CSP > AWS' 카테고리의 다른 글
[AWS] EC2에서 IAM 역할 사용하기 (0) | 2025.03.04 |
---|---|
[AWS] S3 버킷의 권한 정책과 객체 소유권(Object Ownership) (0) | 2025.02.03 |
[AWS] 생성형 AI : Bedrock (0) | 2025.01.24 |
[AWS] S3 CLI로 객체 수 확인하기 (0) | 2025.01.15 |
[AWS] IAM Role for SeviceAccount (IRSA) (2) | 2024.11.15 |