주요 기능

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, Android, 및 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는 사용자를 위해 Amazon DynamoDB 테이블과 적절한 인덱스를 자동으로 프로비저닝할 수 있습니다. 또한, AWS AppSync는 데이터 소스를 "GraphQL 해석기"에 연결하므로 사용자는 애플리케이션 코드와 데이터 구조에만 집중할 수 있습니다.

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

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

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

    GraphQL 요청은 "해석기"로서 실행되고 AWS AppSync와 통합된 다른 AWS 서비스에 맞는 적절한 메시지 형식으로 변환되어야 합니다. 예를 들어 GraphQL 쿼리 필드는 Amazon DynamoDB, AWS Lambda 및 Amazon Elasticsearch Service의 고유 형식에 맞게 각각 변환되어야 합니다. 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 Service 및 AWS Lambda의 기능을 충분히 활용할 수 있습니다. 매핑 템플릿과 더불어 인덱싱 및 조건부 확인과 같은 기능은 DynamoDB로부터 종합적인 결과를 반환합니다. Amazon Elasticsearch Service에서 제공하는 퍼지 검색, 지역 검색 등과 같은 사용 사례를 애플리케이션에서 사용할 수 있습니다. 마지막으로 일련의 또는 배치된 요청에 Lambda를 사용하여 Amazon Aurora와 같은 다른 소스로부터 데이터를 반환할 수 있습니다.

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

    AWS AppSync는 미국 동부(버지니아 북부), 미국 서부(오레곤), 미국 동부(오하이오), EU(아일랜드), 아시아 태평양(도쿄) 및 아시아 태평양(시드니) 리전에서 사용할 수 있습니다.

  • Q: 기존 Amazon DynamoDB 테이블을 가져올 수 있습니까?

    AWS AppSync는 기존 DynamoDB 테이블에서 자동으로 테이블 키 스키마 및 인덱스 유추를 포함한 GraphQL 스키마를 생성할 수 있습니다. GraphQL 가져오기가 완료되면 쿼리, 변경 및 구독을 제로 코딩에서 사용할 수 있습니다. 또한, AppSync는 GraphQL 타입의 비식별자 속성을 DynamoDB 속성으로 "오토맵"하게 됩니다.

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

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