Docs Menu
Docs Home
/
Atlas
/

Azure Functions を使用した接続の管理

Atlas では Azure Functions を使用できます。

次のベストプラクティスを使用して、Azure Functions と Atlas 間の接続を適切に管理します。

  • Azure関数ハンドラーの メソッドの外部でMongoDBサーバーへのクライアントを定義します。Run

    関数を呼び出すたびに新しい MongoClient オブジェクトを定義しないでください。定義すると、ドライバーは関数を呼び出すごとに新しいデータベース接続を作成します。こうなると、コストが高くなり、アプリケーションがデータベース接続制限を超えてしまう可能性があります。新しいMongoClientを定義するときは、次の点に注意してください。

    1. MongoClient オブジェクトを一度だけ作成します。

    2. オブジェクトを保存し、関数の呼び出し全体で MongoClient を再利用できるようにします。

    この接続例では、既存のデータベース接続を再利用して、データベースとの通信を高速化し、データベースへの接続数をアプリケーション トラフィックに関して適切なレベルに維持します。

  • Azure Functions から Atlas クラスターへのネットワーク アクセスを制限します。

    Atlas クラスターと Azure Functions 間のネットワークピアリング接続を使用してプライベート ネットワーク経由で Atlas クラスターに接続するか、またはプライベートエンドポイントを使用して、 IP アクセス リスト からプライベート IP アドレスのみを許可できるようにします。

    注意

    プライベートネットワークを使用しない場合は、NAT ゲートウェイ を使用して Atlas クラスターに接続することを検討してください。静的アウトバウンドIPアドレスを確保するための、アウトバウンドIPアドレスの変更と戦略を検討します。

  • maxIdleTimeMS60000 に設定すると、アイドルタイムが 1 分経過した後に接続が自動的に閉じられます。maxIdleTimeMS を調整すると、サーバーレス関数からのタイムアウト エラーの発生を減らすことができます。

mongodb-developerリポジトリのAzure Functions の例には、Atlas クラスターを使用してMongoDB C#ドライバーとAzure Functions を操作する方法を示す例コードが含まれています。

Visual Studio Code でAzure Functions を使用する方法の詳細については、クイックスタート: Visual Studio Code を使用してAzureでC#関数を作成する を参照してください。

Visual Studio でAzure Functions を使用する方法の詳細については、「 クイックスタート: Visual Studio を使用してAzureで最初のC#関数を作成する 」を参照してください。

戻る

AWS Lambda

項目一覧