주요 기능

GraphQL

데이터 액세스 및 쿼리 간소화

AWS AppSync는 클라이언트 앱이 서버에서 데이터를 가져오고 변경하고 구독할 수 있도록 지원하는 데이터 언어인 GraphQL을 사용합니다. GraphQL 쿼리에서 클라이언트는 서버에서 데이터가 반환될 때 데이터가 어떻게 구조화되어야 하는지 지정합니다. 따라서 클라이언트는 필요한 데이터만 필요한 형식의 데이터로 쿼리할 수 있습니다. 또한, GraphQL에는 "인트로스펙션"이라는 기능이 포함되어 있습니다. 이 기능을 사용하면 프로젝트의 새로운 개발자가 백엔드에 대한 지식 없이 제공된 데이터를 검색할 수 있습니다.

실시간 데이터 액세스 및 업데이트

클라이언트와 디바이스 전체에 즉시 업데이트

AWS AppSync에서는 GraphQL Subscriptions를 사용해 데이터의 어떤 부분이 실시간으로 제공되어야 하는지 지정할 수 있습니다. GraphQL Subscriptions는 애플리케이션 코드의 간단한 문으로서, 실시간으로 업데이트해야 하는 데이터가 무엇인지 서비스에 알려줍니다.

오프라인 데이터 동기화

오프라인일 때도 데이터와 상호 작용 및 업데이트

AWS AppSync는 애플리케이션 데이터를 오프라인에서 사용할 수 있을 뿐만 아니라 사용자가 데이터를 추가하고 업데이트할 수 있는 오프라인 프로그래밍 모델을 지원합니다. 디바이스가 오프라인일 때 애플리케이션 UI는 오프라인 데이터로 자동 업데이트됩니다. AppSync에서는 데이터가 오프라인에서 캐시되는 방법과 서로 다른 네트워크 조건에서 AppSync가 캐시 업데이트를 관리하는 방법을 정의할 수 있습니다.

앱에서 데이터 쿼리, 필터링 및 검색

AWS 데이터 소스에 대한 미리 구성된 액세스

AWS AppSync는 클라이언트 애플리케이션이 필요한 데이터만 가져오도록 GraphQL로 데이터 요구 사항을 지정할 수 있는 기능을 제공하며 서버 필터링과 클라이언트 필터링을 모두 지원합니다. AWS AppSync에서 AWS Lambda, Amazon DynamoDB 및 Amazon Elasticsearch를 지원하므로, GraphQL 작업은 간단한 조회, 복잡한 쿼리 및 매핑, 전체 텍스트 검색, 퍼지/키워드 검색 또는 지역 조회가 될 수 있습니다.

엔터프라이즈 보안 및 세분화된 액세스 제어

데이터 제어

AWS AppSync에서는 애플리케이션 요구 사항에 따라 몇 가지 수준의 데이터 액세스 및 권한 부여를 지원합니다. 간단한 액세스는 키로 보호하고 좀 더 제한적인 권한은 AWS Identity and Access Management에서 역할을 사용해 보호할 수 있습니다. 또한, AWS AppSync는 이메일 및 암호 기능, 소셜 공급자(Facebook, Google+ 및 Login with Amazon) 및 SAML을 통한 엔터프라이즈 연동을 위해 Amazon Cognito 사용자 풀과 통합됩니다. 고객은 사용자와 역할의 논리적 분류를 위해 그룹 기능을 사용하고 애플리케이션 액세스를 위해 OAuth 기능을 사용할 수 있습니다.

FAQ

  • Q: AWS AppSync란 무엇입니까?

    AWS AppSync는 개발자가 디바이스와 사용자 전체에서 실시간으로 모바일 앱 데이터를 관리 및 동기화할 수 있도록 지원하면서 모바일 디바이스가 오프라인 상태일 때도 데이터에 액세스하고 데이터를 수정할 수 있게 해주는 새로운 서비스입니다.

    이 서비스는 개발자가 GraphQL이라는 쿼리 언어를 사용해 사용자 데이터에 변경 사항이 발생할 때 어떤 데이터를 각 사용자의 디바이스에 자동으로 동기화할지 선택하고 스토리지 및 대역폭 요구 사항을 최소화함으로써 사용자 경험을 최적화할 수 있게 해줍니다.

    개발자는 이러한 기능을 사용하여 브라우저에서 모바일 앱, Alexa 스킬, IoT 디바이스에 이르기까지 몇 분 만에 실시간 협업 환경을 구축할 수 있으며 이러한 환경은 네트워크 연결이 끊겨도 계속 사용할 수 있습니다.

  • Q: 오늘 릴리스된 기능을 사용해 어떤 유형의 앱을 구축할 수 있습니까?

    AWS AppSync는 디바이스 전체에서 사용자와 앱 데이터를 동기화하고 연결이 끊겼을 때도 계속 작동하며 실시간 협업 환경을 제공하는 기능을 충분히 활용할 수 있는 모바일 앱을 구축하는 데 사용할 수 있습니다. 모든 영역에 적용할 수 있습니다. 예:

    • 실시간 스코어보드를 제공하는 게임 앱
    • 뉴스 피드 및 금융 데이터
    • 고객 서비스 대시보드
    • 오프라인 사용을 지원하는 공유 지갑, 여행 또는 여행 일정
    • 콘텐츠 피드와 검색/메시징이 지원되는 소셜 미디어
    • 좋아요, 메시징 및 지역/근접 인식 기능이 지원되는 데이트 앱
    • 연결이 끊겨도 쿼리 및 CRUD 작업을 수행해야 하는 현장 서비스 앱
    • 문서 협업
    • 공유 화이트보드와 같은 3D 협업
    • 다수의 배우가 등장하는 증강현신/가상현실(수술실에 있는 의사와 참관인, 교사, 학생)
    • 오프라인으로 작업할 수 있으면서 동시에 동일한 최종적 일관된 상태를 반영해야 하는 다중 디바이스(예: Alexa, 모바일, 웹, IoT) 및 다중 모드 애플리케이션(예: 작업 목록)
    • 현재 상태 표시기와 대화 기록을 제공하는 채팅 앱
  • Q: AWS AppSync에서 지원하는 애플리케이션 개발자 언어에는 어떤 것이 있습니까?

    AWS AppSync SDK에서는 먼저 iOS 및 JavaScript를 지원합니다. JavaScript 지원에는 React Angular와 같은 웹 프레임워크와 React Native 및 Ionic과 같은 기술이 모두 포함됩니다. 또한, Android, HTTP 라이브러리 또는 심지어 간단한 CURL 명령과 같은 다른 플랫폼을 사용하도록 오픈 소스 클라이언트를 사용해 AppSync GraphQL 엔드포인트에 연결할 수도 있습니다.

  • Q: GraphQL이란 무엇입니까?

    GraphQL은 클라이언트 앱이 서버에서 데이터를 가져오고 변경하고 구독할 수 있게 해주는 데이터 언어입니다. GraphQL 쿼리에서 클라이언트는 서버에서 데이터가 반환될 때 데이터가 어떻게 구조화되어야 하는지 지정합니다. 따라서 클라이언트는 필요한 데이터만 필요한 형식의 데이터로 쿼리할 수 있습니다.

  • Q: GraphQL 스키마란 무엇입니까?

    GraphQL 스키마는 클라이언트 애플리케이션이 작업하는 데 사용할 수 있는 데이터 기능이 무엇인지에 대한 정의입니다. 예를 들어 스키마는 기본 데이터 소스에 대한 지식 없이도 앱이 데이터를 어떻게 구독할 수 있는지 또는 어떤 쿼리를 사용할 수 있는지 알 수 있습니다. 유형 시스템에서 스키마를 정의하면, 애플리케이션 데이터 모델이 이를 활용할 수 있습니다.

  • Q: AWS AppSync로 데이터베이스를 생성할 수 있습니까?

    고객은 수동으로 또는 콘솔을 사용해 GraphQL 스키마를 생성할 수 있고, AWS AppSync는 사용자를 위해 DynamoDB 테이블과 적절한 인덱스를 자동으로 프로비저닝할 수 있습니다. 또한, AWS AppSync는 데이터 소스를 "GraphQL 해석기"에 연결하므로 사용자는 애플리케이션 코드와 데이터 구조에만 집중할 수 있습니다.

  • Q: AWS AppSync를 내 기존 AWS 리소스와 함께 사용할 수 있습니까?

    예. AWS AppSync에서는 GraphQL 스키마를 통해 Amazon DynamoDB, AWS Lambda 및 Amazon Elasticsearch의 기존 테이블, 함수 및 도메인을 사용할 수 있습니다. AWS AppSync를 사용하면 기존 AWS 리소스를 사용해 데이터 소스를 생성하고 매핑 템플릿을 사용해 상호 작용을 구성할 수 있습니다.

  • Q: 매핑 템플릿이란 무엇입니까?

    GraphQL 요청은 "해석기"로서 실행되고 AWS AppSync와 통합된 다른 AWS 서비스에 맞는 적절한 메시지 형식으로 변환되어야 합니다. 예를 들어 GraphQL 쿼리 필드는 Amazon DynamoDB, AWS Lambda 및 Amazon Elasticsearch의 고유 형식에 맞게 각각 변환되어야 합니다. AWS AppSync에서는 이를 위해 Apache Velocity Template Language(VTL)로 작성된 매핑 템플릿을 제공하므로, 자체 요구 사항에 맞춰 사용자 지정 로직을 제공할 수 있습니다. 또한, AWS AppSync에서는 다양한 서비스용 내장 템플릿과 사용성 강화를 위한 유틸리티 함수를 제공합니다.

  • Q: AWS AppSync에서는 데이터가 어떻게 보호됩니까?

    애플리케이션 데이터는 AWS AppSync 서비스가 아니라 사용자의 AWS 계정에 저장됩니다. AWS Identity and Access Management(IAM) 및 Amazon Cognito 사용자 풀을 비롯하여 AWS AppSync의 보안 제어 기능을 사용해 애플리케이션의 액세스로부터 이러한 데이터를 보호할 수 있습니다. 또한, 인증된 요청의 경우 사용자 컨텍스트가 전달될 수 있으므로 AWS AppSync의 매핑 템플릿을 사용해 리소스에 대한 세분화된 액세스 제어 로직을 수행할 수 있습니다.

  • Q: AWS AppSync를 사용해 내 데이터가 실시간이 되도록 할 수 있습니까?

    예. AWS AppSync에서는 모든 데이터 소스에 대한 구독을 지원하므로, 변형이 발생하면 MQTT를 사용하는 WebSocket을 통해 해당 결과가 이벤트 스트림을 구독하는 클라이언트로 즉시 전달될 수 있습니다.

  • Q: AWS AppSync로 복잡한 쿼리를 수행하려면 어떻게 해야 합니까?

    GraphQL을 사용하는 경우 AWS AppSync에 제공되는 데이터 소스에서 Amazon DynamoDB, Amazon Elasticsearch 및 AWS Lambda의 기능을 충분히 활용할 수 있습니다. 매핑 템플릿과 더불어 인덱싱 및 조건부 확인과 같은 기능은 DynamoDB로부터 종합적인 결과를 반환합니다. Elasticsearch에서 제공하는 퍼지 검색, 지역 검색 등과 같은 사용 사례를 애플리케이션에서 사용할 수 있습니다. 마지막으로 일련의 또는 배치된 요청에 Lambda를 사용하여 Amazon Aurora와 같은 다른 소스로부터 데이터를 반환할 수 있습니다.

  • Q: AWS AppSync를 사용할 수 있는 AWS 리전은 어디입니까?

    AWS AppSync는 미국 동부(버지니아 북부), 미국 서부(오레곤) 및 미국 동부(오하이오) 리전에서 사용할 수 있습니다.

AWS AppSync 요금에 대해 자세히 알아보기

요금 페이지로 이동하기
시작할 준비가 되셨습니까?
평가판 가입하기
질문이 있으십니까?
AWS에 문의
페이지 콘텐츠
주요 기능 FAQ