문서 메뉴

문서 홈Atlas App Services

GraphQL을 하수라로 마이그레이션하기

이 페이지의 내용

  • 시작하기 전에
  • 하수라로 마이그레이션
  • 하수라에서 새 프로젝트 만들기
  • MongoDB에 Hasara 권한 부여
  • GraphQL 스키마 마이그레이션
  • GraphQL 쿼리 테스트
  • 권한 부여 및 인증
  • 사용자 지정 리졸버 설정
  • 클라이언트 애플리케이션 업데이트
  • MongoDB Atlas App Services 엔드포인트 종료

중요

항상 MongoDB Atlas와 Hasura 의 공식 문서를 모두 참조하세요. 최신 정보와 정확한 정보를 제공합니다. 구체적인 단계는 프로젝트의 세부 정보와 사용된 기술에 따라 달라질 수 있습니다.

개발자가 MongoDB에서 GraphQL 및 REST API 를 빠르게 빌드하고 배포할 수 있도록 하수라 지원 및 기타 여러 데이터 소스가 포함됩니다. 하수라는 API 개발 시간을 크게 단축함으로써 데이터에 빠르게 액세스하고, 팀과 서비스 간의 마찰을 줄이며, 기업이 데이터 기반 제품 및 기능의 출시 시간을 단축할 수 있도록 지원합니다.

아직 계정을 생성하지 않았다면 Hasura의 웹사이트 cloud.hasura.io에서 계정을 생성하세요.

MongoDB Atlas 앱 서비스에서 하수라로 GraphQL API 엔드포인트를 마이그레이션하려면 하수라에서 환경 설정, 데이터베이스 연결 구성, 스키마 마이그레이션, 권한 부여 및 인증 메커니즘 구현을 포함하는 여러 단계의 프로세스를 거쳐야 합니다. 아래는 Hasura 내의 권한 부여 및 역할 기반 액세스 제어(RBAC)에 중점을 두고 각 단계를 자세히 설명하는 확장 가이드입니다. 자세한 내용은 Hasura 문서를 참조하세요.

Hasara로 마이그레이션하려면 다음을 수행합니다.

  1. 하수라에서 새 프로젝트 생성

  2. MongoDB에 Hasara 권한 부여

  3. GraphQL 스키마 마이그레이션

  4. GraphQL 쿼리 테스트

  5. 권한 부여 및 인증 처리

  6. 사용자 지정 해석기 설정

  7. 클라이언트 애플리케이션 업데이트

  8. MongoDB Atlas Atlas App Services 종료

1

하수라에 로그인한 후 프로젝트로 이동하여 New Project 를 클릭하여 새 프로젝트를 만듭니다. 최적의 성능을 위해 MongoDB Atlas 설정에 적합한 요금제, 클라우드 공급자 및 리전을 선택하세요.

하수라 프로젝트 페이지
2

프로젝트를 생성한 후에는 이 페이지의 Hasara 클라우드 IP를 기록해 둡니다.

프로젝트 정보 페이지
3

Launch Console 을(를) 클릭하여 하수라 콘솔을 엽니다.

4

상단의 DATA 탭을 클릭하고 Hasara가 지원하는 다양한 데이터베이스 목록에서 MongoDB를 선택한 다음 Connect Existing Database 을(를) 클릭합니다.

데이터베이스 연결 페이지

하수라는 신규 또는 기존 MongoDB Atlas 데이터베이스에 연결하여 GraphQL API를 생성할 수 있습니다.

1

Go cloud.mongodb.com (으)로 이동하여 Atlas 대시보드의 네트워크 액세스 페이지로 이동합니다.

2

ADD IP ADDRESS 버튼을 클릭하고 이전에 Hasara Cloud 대시보드에서 얻은 Hasara Cloud IP를 입력합니다. 이 항목을 하수라로 설명합니다.

이제 Hasura cloud가 MongoDB Atlas 인스턴스와 통신할 수 있습니다.

네트워크 액세스 페이지.
3

데이터베이스 페이지에서 Atlas App Services App에 연결된 Atlas cluster를 찾아 Connect 을(를) 클릭합니다. 드라이버 옵션을 선택하고 연결 문자열을 복사합니다.

Atlas cluster 연결 문자열을 가져옵니다.
4

하수라 클라우드 대시보드로 돌아갑니다. 기존 MongoDB용 데이터베이스 연결 페이지에서 연결하려는 MongoDB 데이터베이스의 이름과 이전 단계에서 복사한 연결 문자열을 입력합니다.

하수라 프로젝트에 Atlas 연결 문자열을 추가합니다.
5

Connect Database 을 클릭합니다. 각각의 cloud 인스턴스에서 호스팅되는 Hasara와 MongoDB 간의 연결 설정이 완료되었습니다.

MongoDB Atlas GraphQL 스키마를 하수라의 GraphQL 스키마로 마이그레이션합니다. 여기에는 Hasara 콘솔 또는 Hasara CLI에서 유형, 쿼리, 변형 및 구독을 정의하는 작업이 포함됩니다.

1

Hasara 콘솔에서 탭을 클릭하고 왼쪽 창에서 MongoDB database를 선택합니다.

당신은 MongoDB database의 모든 collection을 볼 수 있습니다.

Atlas collection은 표에 나열되어 있습니다.
2

collection에 대한 스키마를 생성하려면 원하는 collection 옆에 있는 Track 버튼을 클릭합니다.

collection의 스키마를 추론하는 방법에는 세 가지가 있습니다.

  • collection에서 복사하여 붙여넣은 문서에서 스키마를 추론합니다.

  • Use Database Schema 데이터베이스에 데이터베이스의 유효성 검사 스키마가 있는 경우 이를 사용할 수 있습니다(GraphQL 스키마가 자동으로 생성됨).

  • Use Existing Logical Model 이전에 생성한 로지컬 모델을 선택할 수 있습니다.

샘플 문서를 사용하여 새 스키마를 생성합니다.
3

Validate 버튼을 클릭하여 JSON document의 유효성을 검사합니다. 다음 단계에서는 이 JSON document에서 파생된 모델을 볼 수 있습니다. 마지막으로 Track Collection 버튼을 클릭합니다.

collection을 추적하고 스키마를 가져온 후 Hasara 콘솔의 API 탐색기 페이지로 이동하여 일부 GraphQL 쿼리를 테스트할 수 있습니다.

또한 Hasara는 Atlas App Services에서 쿼리를 테스트하는 방법과 유사한 GraphiQL 인터페이스를 사용합니다.

GraphiQL 인터페이스를 사용하여 쿼리를 테스트합니다.

하수라는 인증을 직접 처리하지 않습니다. 대신 외부 인증 서비스에서 제공하는 세션 변수를 사용합니다. 이러한 세션 변수에는 데이터 액세스 권한을 결정하는 데 중요한 사용자, 역할 및 조직 정보가 포함됩니다. 자세한 내용은 Hasura 인증 문서 를 참조하세요.

역할 및 규칙 표현식을 포함한 데이터 액세스 권한은 Hasira 역할 기반 권한 규칙으로 변환할 수 있습니다.

Atlas가 제공하는 모든 인증 방법은 하스라의 Webhook 및 JSON web token 인증 방법과 호환됩니다. Email/Pass, Anonymous 또는 API Key 인증을 사용하는 경우 Hasara Webhook을 사용하세요. 사용자 지정 JSON web token를 사용하는 경우 하수라의 JSON web token 인증 방법과 직접 통합하세요.

보안 및 유연성 강화를 위해 인증 프로세스 관리에 외부 IdP를 사용할 것을 권장합니다. 인증0, Firebase 인증, AWS Cognito 또는 사용자 지정 솔루션과 같이 원하는 인증 제공자와 Hasura를 통합하여 사용자를 확인하고 필요한 세션 변수를 설정할 수 있습니다. Hasura에서 JSON web token 또는 웹훅 인증을 구성하는 방법은 다음 문서를 참조하세요.

기존 GraphQL API API에 사용자 지정 해석기 또는 비즈니스 로직이 포함된 경우, 이를 Hasura에서 구현해야 합니다. Hasura는 원격 스키마, 이벤트 Atlas Triggers 및 조치를 사용하여 사용자 지정 비즈니스 로직을 지원합니다.

Hasura 조치를 사용하여 사용자 지정 해석기를 만들 수 있습니다. 페이로드 유형 및 입력 유형을 포함한 사용자 지정 쿼리 및 변형은 Hasura 내에서 정의할 수 있으며, Hasura는 HTTP를 통해 리졸버 함수와 통합할 수 있습니다.

Hasara 조치를 사용하여 사용자 지정 해석기를 만듭니다.

리졸버 함수는 어딘가에 배포되어야 하며 Hasara는 함수에 대한 JavaScript 코드를 생성할 수 있습니다.

하수라는 조치 코드를 자동으로 생성합니다.

GraphQL API 엔드포인트와 상호 작용하는 모든 클라이언트 애플리케이션이 새로운 Hasara 엔드포인트 URL을 점하도록 업데이트합니다. 기존의 모든 Apollo 클라이언트는 하수라와 함께 작동합니다.

애플리케이션에서 사용하는 GraphQL 작업을 하수라 스타일 GraphQL 작업과 일치하도록 업데이트합니다.

GraphQL API 엔드포인트가 완전히 마이그레이션되어 Hasura에서 작동하는지 확인한 후에는 불필요한 비용을 방지하기 위해 MongoDB Atlas Atlas App Services 앱을 삭제할 수 있습니다. 참고로 Atlas GraphQL 엔드포인트는 12, 2025 3월부터 더 이상 지원되지 않습니다.

← CLI에서 GraphQL 작업 실행