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 계정이 없는 경우 아래 링크를 통해 계정을 생성합니다.

Create Account

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과 연결하는 과정에 대해 알아보도록 하겠습니다.

다음 단계

Reference

AWS Amplify for Flutter

댓글남기기