Edge Server 에 연결 - 미리 보기
이 페이지의 내용
Edge Server 인스턴스가 구성 되어 실행 중이 면 클라이언트 애플리케이션에서 연결할 수 있습니다.
클라이언트 에서 Edge Server 인스턴스 에 연결할 수 있는 방법에는 세 가지가 있습니다.
Atlas Device SDK: Device Sync 는 여러 장치 및 Edge Server 와 데이터를 자동으로 동기화합니다.
MongoDB 드라이버 및 도구: 지원되는 MongoDB API의 하위 집합을 사용하여 CRUD 작업을 수행합니다.
MongoDB Compass: Edge Server 인스턴스 에 동기화되는 문서를 탐색하고 해당 문서를 업데이트합니다.
에서 에 연결 Edge Server Atlas Device SDK
클라이언트 에서 인스턴스 에 연결하려면 Edge Server Atlas Device SDK 앱 이 다음을 충족해야 합니다.
앱 구성의 동기화 URL을 에지 서버
edge_config.json
baseURL
필드에 설정한 퍼블릭 액세스 가능 DNS 주소로 설정합니다.TLS가 활성화되지 않은 경우 포트 80을 통해 HTTP를 사용합니다.
팁
에지 서버 배포를 개발하는 동안에는 단순화를 위해 포트 80을 통해 HTTP에 연결하는 것이 좋습니다. 프로덕션으로 이동하기 전에 제품 또는 계정 담당자와 협력하여 자체 서명된 인증서로 HTTPS를 구성할 수 있습니다.
앱 구성 사용자 지정에 대한 자세한 내용은 선호하는 SDK의 설명서를 참조하세요.
C++ SDK: App Services 에 연결 - C++ SDK
Flutter SDK: App Services 에 연결 - Flutter SDK
Java SDK: Atlas App Services 백엔드에 연결 - Java SDK
Kotlin SDK: Atlas App Services에 연결 - Kotlin SDK
.NET SDK: Atlas App Services 백엔드에 연결 - .NET SDK
Node.js SDK: Atlas App Services 백엔드에 연결 - Node.js SDK
React Native SDK: Atlas App Services 앱에 연결 - React Native SDK
Swift SDK: Atlas App Services 백엔드에 연결 - Swift SDK
지원되는 인증 제공자
Edge Server 는 현재 SDK와 연결할 때 다음과 같은 인증 제공자의 하위 집합을 지원합니다.
에지 서버 간 로밍
SDK 클라이언트는 Edge Server 인스턴스 간 또는 Edge Server 인스턴스와 Atlas 간에 로밍할 수 있습니다.
로밍을 사용하려면 클라이언트의 앱 구성에서 기본 URL 을 변경해야 합니다. 자세한 내용은 위에 링크된 SDK 설명서를 참조하세요.
SDK 사용자가 로밍하는 경우 클라이언트 앱 은 새 서버 에 연결할 때 클라이언트 재설정 을 수행해야 합니다. 클라이언트 재설정에 대한 자세한 내용은 클라이언트 재설정을 참조하세요 .
로밍 사용자 및 익명 인증
Edge Server 인스턴스 또는 Edge Server 인스턴스와 Atlas 간에 로밍할 때 익명 사용자는 서버 간에 유지되지 않습니다. Atlas는 클라이언트가 연결되는 각 서버에 대해 새로운 익명 사용자를 생성하며, 서버 간에 로컬 데이터를 유지하지 않습니다.
지원되는 다른 모든 인증 제공자의 경우 사용자는 지속되며 서버 전체에서 예상 데이터에 액세스 할 수 있습니다.
예시: SwiftUI 템플릿 앱
템플릿 앱 을 사용하여 빠른 개념 증명을 위해 Swift 템플릿 앱 을 다음과 Edge Server 같이 수정할 수 있습니다. 인스턴스 에 연결합니다.
서버 연결 구성
Swift 템플릿 앱의 atlasConfig
에서 값을 다음으로 설정합니다.
키 | 값 |
---|---|
baseUrl | Edge Server 인스턴스 호스트의 공개적으로 액세스할 수 있는 DNS입니다. 이 값은 http:// 이며, TLS가 활성화된https:// IP Edge Server 경우 뒤에 컨테이너 구성에 노출된 주소가 옵니다. |
appId | 에지 서버가 활성화된 App Services 앱의 앱 ID입니다. 앱 ID 찾기에 대한 자세한 내용은 앱 ID 찾기를 참조하세요. |
앱 전송 보안 설정 조정(선택 사항)
앱에서 TLS를 사용하는 경우 이 단계를 무시해도 됩니다. 개발 중에 TLS를 사용하도록 설정하지 않은 상태로 에지 서버 앱을 개발하는 경우 이 단계를 완료해야 합니다.
iOS의 경우 Apple은 안전하지 않은 연결을 기본적으로 비활성화합니다. 클라이언트 앱이 연결할 수 있도록 허용하려면 공개적으로 액세스할 수 있는 DNS에 대한 예외를 추가해야 합니다.
앱 대상을 선택하고 Signing & Capabilities 탭으로 Go. + Capability 버튼을 누르고 App Transport Security Settings
을 검색합니다. 이 기능을 앱에 추가합니다.
공개 액세스 가능 DNS에 대한 예외 도메인을 추가합니다. 이는 ec2-13-58-70-88.us-east-2.compute.amazonaws.com
와 유사한 문자열 도메인이어야 합니다.
그러면 프로젝트에 Info.plist
파일이 만들어집니다. 이 파일로 이동하여 다음과 같이 조정합니다.
이 String
키를 Dictionary
로 변경합니다. 다음에 대한 키를 두 개 더 추가합니다.
키 | 유형 | 값 |
---|---|---|
NSIncludesSubdomains | 부울 | YES |
NSExceptionAllowsInsecureHTTPLoads | 부울 | YES |
이렇게 하면 iOS 클라이언트가 안전하지 않은 HTTP DNS에 연결할 수 있습니다.
Info.plist
파일은 다음과 유사해야 합니다.
로그 수준 조정(선택 사항)
에지 서버와의 통신 상태에 대한 추가 세부 정보를 얻으려면 로그 수준을 조정할 수 있습니다.
App
파일에서 .onAppear
블록을 추가하여 로그 수준을 설정할 수 있습니다. 추가 정보를 얻으려면 이 블록에 로그 수준 줄을 추가합니다.
var body: some Scene { WindowGroup { ContentView(app: app) .environmentObject(errorHandler) .alert(Text("Error"), isPresented: .constant(errorHandler.error != nil)) { Button("OK", role: .cancel) { errorHandler.error = nil } } message: { Text(errorHandler.error?.localizedDescription ?? "") } .onAppear { Logger.shared.level = .trace } } }
로그 수준 설정에 대한 자세한 내용은 로깅 - Swift SDK 를 참조하세요.
앱 실행하기
이제 앱 을 빌드 하고 실행 수 있습니다. 로그인 하면 앱 이 Edge Server 인스턴스 에 연결됩니다. 새 항목을 만들면 해당 항목이 인스턴스 와 동기화 됩니다. 그런 다음 인스턴스 는 Atlas App Services App과 동기화됩니다.
호스팅하다 에서 Edge Server 인스턴스 의 상태를 확인할 수 있습니다. 클라이언트 실행 면 인스턴스 상태에 "num_local_clients": 1
이(가) 표시됩니다. 동기화 상태에 반영된 오류 메시지도 확인할 수 있습니다.
다음에 Edge Server 인스턴스가 App Services App 과 동기화되면 연결된 Atlas 컬렉션에 동기화된 변경 사항이 반영된 것을 확인할 수 있습니다.
중요
이전에 Device Sync를 사용하여 클라이언트에서 App Services App에 직접 연결한 경우 시뮬레이터 또는 장치에서 상태를 지워야 할 수 있습니다. 캐시를 재설정하면 클라이언트가 Edge Server 인스턴스에 연결할 수 있습니다.
콘솔 앱에서 mongodb-realm
디렉토리를 삭제합니다. iOS 또는 Android 시뮬레이터 또는 기기를 사용하는 경우 앱을 제거했다가 다시 설치하세요.
드라이버 및 도구를 사용하여 Edge Server 에 연결 MongoDB
표준 MongoDB 드라이버 및 도구를 사용하여 에지 서버에 연결할 수 있습니다. 클라이언트는 특수 MongoDB URI 연결 문자열을 사용하여 에지 서버에 연결하고 요청을 보냅니다.
유선 프로토콜 서버 는 이러한 수신 연결을 허용합니다. MongoDB URI를 사용하여 호스팅하다 머신에 연결할 수 있습니다.
이 URI는 인증 유형에 따라 다를 수 있습니다. 대체로 다음과 같은 형식과 유사합니다.
mongodb://<username>:<password>@<hostname>:<port>?authMechanism=PLAIN
요소 | 설명 |
---|---|
<username> | Atlas user 의 사용자 이름입니다. 이메일/비밀번호 사용자 의 경우 first.last@example.com 와(과) 유사할 수 있습니다. 이 사용자 이름에 @ 기호가 포함된 경우 @ 기호를 이스케이프 처리해야 합니다. 예를 들어 john.doe@example.com 은 john.doe%40example.com 이(가) 됩니다. |
<password> | Atlas user 의 비밀번호입니다. 이는 myPassword123456 와 유사할 수 있습니다. |
<hostname> | Edge Server 호스팅하다 의 공용 DNS입니다. 로컬 개발 중에는 localhost 일 수 있습니다. 그렇지 않으면 ec2-13-58-70-88.us-east-2.compute.amazonaws.com 과 유사하게 보일 수 있습니다. 자세한 내용 은 Edge Server 인스턴스 설치 및 구성을 참조하세요. |
<port> | Edge Server 유선 프로토콜 수신 포트입니다. 기본값 포트는 27021 입니다. 자세한 내용 은 Edge Server 인스턴스 설치 및 구성을 참조하세요. |
authMechanism=PLAIN | 인증 메커니즘. 현재 지원되는 유일한 값은 PLAIN 입니다. |
예시
EC 에서 호스팅되는 인스턴스 에 대한 유선 프로토콜 연결 URI는 Edge Server Amazon 2 다음과 유사할 수 있습니다.
mongodb://example-user:my-password@ec2-13-58-70-88.us-east-2.compute.amazonaws.com:27021?authMechanism=PLAIN
익명 연결
사용자 이름이나 비밀번호를 지정하지 않고도 익명 연결을 활성화하고 연결할 수 있습니다. 이 옵션은 기본적으로 비활성화되어 있습니다.
중요
프로덕션에서 익명 연결 비활성화
익명 연결을 활성화하면 인증 흐름을 우회하여 개발을 간소화할 수 있습니다. 이는 개발 보조용으로만 사용됩니다. 프로덕션 환경에서는 인증 흐름을 우회하지 마세요.
관련 플래그로 Edge Server 구성
익명 연결을 활성화 하려면 --insecure-disable-auth
플래그를 true
로 설정하다 하여 Edge Server 를 시작합니다. 이렇게 하면 사용자 이름 과 비밀번호를 지정하지 않고도 연결할 수 있습니다.
이 설정은 기본적으로 false
입니다. 이 값을 true
로 설정하면 연결에서 인증을 우회할 수 있습니다.
edgectl
를 사용하여 에지 서버 인스턴스를 구성하고 시작하는 방법에 대한 자세한 내용은 Edge Server 인스턴스 Edge Server 및 구성을 참조하세요.
MongoDB URI에서 인증 세부 정보 생략
인증 없이 연결할 때 MongoDB URI는 인증 관련 매개변수를 생략합니다. 이 간소화된 URI는 다음과 같습니다.
mongodb://<hostname>:<port>
예시
EC 에서 호스팅되는 인스턴스에 대한 익명 유선 프로토콜 연결 URI는 Edge Server Amazon 2 다음과 유사할 수 있습니다.
mongodb://ec2-13-58-70-88.us-east-2.compute.amazonaws.com:27021
개발 중 컴퓨터에서 실행 중인 Edge Server 인스턴스에 대한 익명 연결은 다음과 유사할 수 있습니다.
mongodb://localhost:27021
지원되는 MongoDB API
Edge Server 는 현재 MongoDB API의 하위 집합을 지원합니다. 지원되는 API에 대한 자세한 내용은 Edge Server MongoDB API 지원 - 미리 보기를 참조하세요.
MongoDB Compass 와 연결
를 MongoDB Compass Edge Server 통해 MongoDB URI를 사용하여 인스턴스 에 연결할 수 있습니다. Compass 를 사용하면 Edge Server 인스턴스 에 동기화되는 문서를 탐색하고 해당 문서를 업데이트할 수 있습니다.
제한 사항
Edge Server Compass 에 대한 지원은 제한적입니다. 다음과 같은 용도로 사용할 수 있습니다.
Edge Server 인스턴스 에서 데이터베이스, 컬렉션 및 문서를 찾습니다.
인스턴스의 CRUD 문서에 Edge Server 대해 기본 작업을 수행합니다.
현재 Edge Server 는 Compass 를 사용한 애그리게이션을 지원하지 않습니다.