투케이2K

14. (Aws/Amazon) [AWS AppSync] AppSync 앱싱크 GraphQL 서비스 개념 및 설명 정리 본문

Aws (Amazon)

14. (Aws/Amazon) [AWS AppSync] AppSync 앱싱크 GraphQL 서비스 개념 및 설명 정리

투케이2K 2025. 1. 17. 20:07

[개발 환경 설정]

개발 환경 : Aws / Amazon Web Services

 

[방법 설명]

// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------

- 인프라 : Aws / Amazon Web Services

- 기술 구분 : Aws / AppSync / GraphQL / Http / Websocket

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------

1. AWS AppSync는 iOS, 안드로이드, JavaScript 및 React Native 애플리케이션에서 사용하도록 설계되었으며, 실시간 데이터 쿼리, 동기화, 통신 및 오프라인 프로그래밍 기능을 위한 완전 관리형 서버리스 GraphQL 서비스입니다.

   >> GraphQL 서비스 : 실시간 데이터 검색 및 동적 쿼리 실행을 허용하는 데이터 소스를 쿼리하기 위한 반응형 데이터 쿼리 언어이자 서버 측 런타임입니다


2. AppSync 를 사용하면 개발자는 여러 데이터 소스에서 데이터를 쉽게 검색하고 조작할 수 있으므로 빠르게 프로토타입을 만들고, 빌드하고, 견고하고 협업적인 다중 사용자 애플리케이션을 만들 수 있습니다. 


3. AppSync 는 장치가 연결되면 데이터를 최신 상태로 유지하며, 로컬 데이터를 동기화하여 오프라인에서도 작동할 수 있게 지원합니다.


4. AppSync 서비스 정보 : 

  - 단일 GraphQL API 엔드포인트에서 하나 이상의 데이터 소스의 데이터에 액세스합니다.

  - 여러 소스 GraphQL을 하나의 병합된 APIs GraphQL로 결합 합니다.

  - 애플리케이션에 실시간 데이터 업데이트를 게시할 수 있습니다.

  - 내장된 보안, 모니터링, 로깅 및 추적을 활용하고 지연 시간을 줄이기 위한 선택적 캐싱을 활용합니다.

  - 전송된 API 요청 및 모든 실시간 메시지에 대해서만 비용을 지불합니다


5. AWS AppSync 특징 : 

  - GraphQL로 구동되는 간소화된 데이터 액세스 및 쿼리

  - GraphQL 구독 및 pub/sub 채널을 WebSockets 위한 서버리스

  - 서버 측 캐싱을 통해 데이터를 고속 인 메모리 캐시에서 사용할 수 있도록 하여 지연 시간 단축

  - JavaScript 및 비즈니스 로직 작성 지원 (TypeScript)

  - API액세스 및 통합을 제한하는 APIs Private를 통한 엔터프라이즈 보안 (AWS WAF)

  - API키, Amazon Cognito, OpenID Connect 공급자IAM, 사용자 지정 로직에 대한 Lambda 권한 부여를 지원하는 권한 부여 제어 기능이 내장 


6. AWS AppSync 사용 가능 기술 : 

  - GraphQL API : Query , Mutation , Subscriptions

  - Query : Http Get 방식과 유사하며, [서버에 정보 요청 >> 정보 조회 >> 응답 결과 반환] 방식으로 사용합니다

  - Mutation : Http Post , Put 방식과 유사하며, [서버에 수정 요청 >> 정보 수정 >> 응답 결과 반환] 방식으로 사용합니다

  - Subscriptions : 서버와 클라이언트 간의 지속적인 양방향 연결을 여는 WebSockets 웹소켓 에 사용됩니다

  - 참고 : Aws 앱 싱크 사용 설정 후 방화벽 Open 은 https 포트와 websocket 포트도 오픈 해야 합니다

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[설 명] : https://aws.amazon.com/ko/blogs/korea/aws-appsync-production-ready-with-six-new-features/

[설 명] : https://aws.amazon.com/ko/blogs/aws/introducing-amazon-appsync/

[설 명] : https://docs.aws.amazon.com/ko_kr/appsync/latest/devguide/what-is-appsync.html

[Git 라이브러리 추가 사이트 - 안드로이드] : https://github.com/awslabs/aws-mobile-appsync-sdk-android

[AwsConfiguration json 형식 사이트] : https://docs.aws.amazon.com/ko_kr/kinesisvideostreams/latest/dg/producersdk-android-downloadcode.html

[aws appsync 앱 싱크 failed for task app:nodeSetup - ivy unknown code] : https://blog.naver.com/kkh0977/223566095651?trackingCode=blog_bloghome_searchlist

[aws appsync 앱 싱크 Window npm ERR node , npm ERR npm - install error] : https://blog.naver.com/kkh0977/223569727207?trackingCode=blog_bloghome_searchlist

[문법 참고 사이트 - 안드로이드] : https://docs.amplify.aws/gen1/android/sdk/api/graphql/#code-generation

[GraphQL 유형 종류 학습 - Query , Mutation , Subscriptions] : https://blog.naver.com/kkh0977/223570768767?trackingCode=blog_bloghome_searchlist

[GraphQL 개념 학습 및 테스트 참고 사이트] : https://blog.naver.com/kkh0977/223571127844?trackingCode=blog_bloghome_searchlist

[안드로이드 GraphQL 통신 수행 클라이언트 유틸 파일] : https://blog.naver.com/kkh0977/223605174964?trackingCode=blog_bloghome_searchlist

[IOS GraphQL 통신 수행 클라이언트 유틸 파일] : https://blog.naver.com/kkh0977/223607083845?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
반응형
Comments