Amplify가 뭔가요?
AWS Amplify는 안전하고 확장 가능한 모바일 및 웹 애플리케이션을 구축하기 위한 개발 플랫폼입니다. 쉬운 사용자 인증, 안전한 데이터 및 사용자 메타 데이터 저장, 데이터에 대한 선택적 액세스 권한 부여, 또한 기계 학습을 통합하고, ... |
출처 : https://aws.amazon.com/ko/amplify/
AWS 공식 홈페이지에 나온 설명입니다만, 너무 추상적입니다.
제 나름대로 정의하자면 다음과 같습니다.
- EC2, RDS, Cognito, Lambda 같은 독립적인 서비스는 아니다.
- Amplify CLI로 다수의 독립적인 서비스를 자동으로 생성하고 연결해 준다.
- 프로젝트 내에서 Amplify 객체로 생성된 AWS 서비스에 접근할 수 있다.
예를 들어보겠습니다.
Amplify CLI를 전역으로 설치한 다음,
- 터미널에서 amplify auth add를 실행하면, 프로젝트 내부에 인증에 필요한 AWS 서비스들(Cognito User Pool, Cognito Federated Identity Pool 등)의 설정 파일이 생성됩니다.
- 터미널에서 amplify api add를 실행하면, 프로젝트 내부에 백엔드에 필요한 AWS 서비스 서비스들(DynamoDB, Lambda 등)의 설정 파일 및 Lambda 핸들러가 생성됩니다.
- 터미널에서 amplify push를 실행하면, 프로젝트 내부의 AWS 서비스의 설정 파일의 내용대로 AWS 서비스가 생성됩니다.
그리고 프로젝트 내에서 Amplify CLI에 의해 생성된 AWS 서비스들(Cognito, DynamoDB)을 Amplify 객체를 통해 쉽게 접근할 수 있습니다. 아래와 같이 말이죠.
import Amplify, { Auth, Hub } from 'aws-amplify';
Auth.currentAuthenticatedUser(); // Cognito에서 현재 인증된 사용자를 가져옵니다.
Auth.signIn(userName, password); // 사용자가 입력한 userName과 password로 Cognito에 로그인을 시도합니다.
전 amplify api는 사용하지 않을 것입니다. Prisma CLI를 사용해서 테이블을 생성하고, Prisma 클라이언트를 사용해서 직접 만든 데이터베이스를 사용할 것이기 때문이죠.
다음 포스트에서는 실제 코드상에서 amplify auth를 초기화 하는 방법에 대해 포스팅해 보겠습니다.
P.S. 예전에 AWS IoT 서비스를 사용하는 안드로이드 앱을 만들 땐 AWS 서비스를 일일이 직접 새성하고 설정해서 로그인을 구현했었는데 참 편해졌네요. 코드 한줄로 인증을 확인하고, 로그인을 할 수 있으니까요.
'AWS > Amplify' 카테고리의 다른 글
Amplify 초기화 (0) | 2020.05.11 |
---|