Overview
해당 포스트는 AWS Amplify 와 Flutter 를 서로 연동하는 방법에 대해 다룰 것이며 그 중 첫 번째로 AWS Amplify의 개념과 AWS Amplify 선행 설정에 대해 알아보도록 하겠습니다.
AWS Amplify??
AWS Amplify는 모바일 및 프런트 엔드 웹 개발자가 AWS에서 구동되는 안전하고 확장 가능한 풀 스택 애플리케이션을 개발하도록 지원하는 도구 및 서비스 집합입니다. Amplify를 사용하면 몇 분 만에 앱 백엔드를 구성하고 앱을 연결하며, 클릭 몇 번 만으로 정적 웹 앱을 배포하고, AWS 콘솔 외부에서 앱 콘텐츠를 쉽게 관리할 수 있습니다.
쉽게 말해 백 엔드에 지식이 전무한 프론트엔드 개발자가 매우 손 쉽게 서버와 서버의 서비스를 생성 할수 있으며 Amplify와 유사 서비스로는 Google의 Firebase가 있습니다.
Amplify는 JavaScript, React, Angular, Vue, Next.js 등의 널리 사용되는 웹 프레임워크와 Android, iOS, React Native, Ionic, Flutter 등의 모바일 플랫폼을 지원합니다.
현재 Amplify에서 제공하는 대표 서비스는 아래와 같습니다.
- 소셜 미디어 로그인, OAuth 등을위한 AWS Cognito
- 비디오, 오디오, 이미지 등의 스토리지 미디어 파일 용 AWS S3
- 앱에 대한 분석 데이터를 수집하는 AWS Analytics
Amplify 설정 과정
Flutter와 Amplify 간 연동하기 전에 Amplify 관련 선행 과정을 수행해야 합니다.
1. AWS 계정 생성
AWS 계정이 없는 경우 아래 링크를 통해 계정을 생성합니다.
2. Amplify CLI 설치
Amplify CLI 은 리눅스, 맥의 터미널이나 윈도우의 파워쉘을 통해 Amplify 의 서비스를 생성하기 위한 툴체인입니다.
아래 명령어를 통해 설치합니다.
Windows
curl -sL https://aws-amplify.github.io/amplify-cli/install-win -o install.cmd && install.cmd
Mac/Linux
curl -sL https://aws-amplify.github.io/amplify-cli/install | bash && $SHELL
3. Amplify Configuration
Amplify CLI를 설치하였다면 터미널/파워셀을 실행하여 아래 명령어를 입력합니다.
amplify configure
웹브라우저가 실행이 되면서 AWS console에 접속하게 되고 로그인을 합니다. 그 다음 터미널/파워셀에 다시 돌아와서 엔터를 누릅니다.
그 다음 AWS IAM 유저를 생성합니다. 터미널/파워셀에 원하는 리전 그리고 IAM 이름을 입력합니다.
IAM는 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있습니다. 또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부할 수 있습니다.
만약 기존에 IAM을 생성한 것이 있다면 IAM 유저를 생성하는 과정을 생략해도 됩니다.
Specify the AWS Region
? region: # Your preferred region
Specify the username of the new IAM user:
? user name: # User name for Amplify IAM user
Complete the user creation using the AWS console
- 웹 브라우저가 실행이 되면서 IAM 생성 콘솔이 실행이 됩니다. 아래 스크린 샷 과정을 통해 생성을 합니다. 여기서 중요한 것은
액세스 키 ID
와비밀 엑세스 키
입니다. 따로 메모장을 열어서 저장을 하거나 csv 파일을 다운받아 저장합니다.
- 생성이 모두 완료되었다면 다시 터미널/파워셀 화면으로 넘어가서 키 값을 입력합니다.
Enter the access key of the newly created user:
? accessKeyId: # YOUR_ACCESS_KEY_ID
? secretAccessKey: # YOUR_SECRET_ACCESS_KEY
This would update/create the AWS Profile in your local machine
? Profile Name: # (default)
Successfully set up the new user.
정리
Amplify 를 생성하기 전에 필요한 사전 작업에 대해 알아보았습니다. 다음은 Amplify 서비스를 생성하고 Flutter app과 연결하는 과정에 대해 알아보도록 하겠습니다.
댓글남기기