Azure 함수를 사용하여 연결을 관리합니다.
Azure Functions 를 사용할 수 있습니다. Atlas와 함께라면.
모범 사례
다음 권장사항을 사용하여 Azure Functions 간의 연결을 올바르게 관리하세요. 및 Atlas:
Azure 함수 핸들러 의메서드 외부에서 MongoDB 서버에 대한 클라이언트를 정의합니다.
Run
함수를 호출할 때마다 새
MongoClient
객체를 정의하지 않습니다. 이로 인해 드라이버가 각 함수 호출에 대해 새 데이터베이스 연결을 생성하게 됩니다. 이 경우 비용이 많이 들 수 있고 그 결과 애플리케이션이 데이터베이스 연결 제한을 초과할 수 있습니다. 새MongoClient
를 정의하는 경우 다음과 같이 수행해야 합니다.MongoClient
객체를 한 번 생성합니다.함수가 함수 호출에서
MongoClient
를 재사용할 수 있도록 객체를 저장합니다.
연결 예시는 기존 데이터베이스 연결을 재사용하여 데이터베이스와의 통신 속도를 높이고 애플리케이션 트래픽과 관련하여 데이터베이스에 대한 연결 수를 합리적인 수준으로 유지합니다.
Azure Functions에서 Atlas 클러스터에 대한 네트워크 액세스를 제한합니다.
Atlas cluster 와 Azure Functions 간의 네트워크 피어링 연결 을 사용하거나 비공개 엔드포인트 를 사용하여 비공개 네트워킹을 통해 Atlas cluster 에 연결하여 IP 액세스 목록에서 비공개 IP 주소만 허용할 수 있습니다.
참고
이 구성에는 Azure Functions 프리미엄 플랜 이 필요합니다.가상 네트워크(VNet) 통합 을 통한 구성되었습니다.
비공개 네트워킹을 사용하지 않는 경우,NAT 게이트웨이 를 사용하여 Atlas 클러스터에 연결하는 것이 좋습니다. . 아웃바운드 IP 주소 변경 검토 및 고정 아웃바운드 IP 주소를 보장하기 위한 전략을 제공합니다.
유휴 시간 1분 후 자동으로 연결을 종료하려면 maxIdleTimeMS를
60000
으로 설정합니다.maxIdleTimeMS
를 조정하면 서버리스 함수에서 시간 초과 오류 발생을 줄이는 데 유용할 수 있습니다.
연결 예시
Azure Functions mongodb-developer
예제 리포지토리에는 Atlas 클러스터를 사용하여 MongoDB C# 드라이버 및 Azure Functions로 작업하는 방법을 보여주는 예제 코드가 포함되어 있습니다.
Visual Studio Code에서 Azure Functions를 사용하는 방법에 대해 자세히 알아보려면 빠른 시작: Visual Studio Code를 사용하여 Azure에서 C# 함수 만들기 를 참조하세요.
Visual Studio에서 Azure Functions를 사용하는 방법에 대해 자세히 알아보려면 빠른 시작: Visual Studio를 사용하여 Azure에서 첫 번째 C# 함수 만들기를 참조하세요.