AI-200:Developing AI Cloud Solutions on Azure Azure データ管理サービスを使った AI ソリューションの開発 問3
Azure データ管理サービスを使った AI ソリューションの開発/Azure Cosmos DB for NoSQL を使った AI ソリューションの開発Azure Cosmos DB for NoSQL のコンテナーに追加・更新された商品情報から埋め込みを作り直す処理を、.NET の変更フィード プロセッサで実装しています。処理量が増えたため、同じ処理を3台のインスタンスに分散させたいと考えています。正しい構成はどれですか。
当サイトのオリジナル問題(AI-200:Developing AI Cloud Solutions on Azureの出題範囲「Azure データ管理サービスを使った AI ソリューションの開発」に対応。実際の試験問題ではありません)
- Aインスタンスごとに別のリース コンテナーを用意し、3台とも同じインスタンス名を付ける
- B3台とも同じインスタンス名にして、プロセッサ名をインスタンスごとに変える
- C3台で同じリース コンテナーと同じプロセッサ名を使い、インスタンス名だけをそれぞれ一意にする
- D監視対象のコンテナーを3つに分割し、インスタンスごとに別のコンテナーを監視させる
正解:C
解説
変更フィード プロセッサは、処理の進み具合を「リース」としてリース コンテナーに保存し、それを複数のインスタンスで分担します。同じリース コンテナーと同じプロセッサ名を使い、インスタンス名をそれぞれ一意にすると、リースが各インスタンスに均等に割り当てられます。インスタンス数は増減でき、そのたびに負荷が自動で再配分されます。ただし、1つのリースを担当するのは常に1台なので、インスタンス数はリースの数を超えないようにします。
選択肢ごとの解説
- A誤り。リース コンテナーを分けると、各インスタンスが独立して変更を最初から処理することになり、処理が重複します。また、インスタンス名は一意にする必要があります。
- B誤り。プロセッサ名が異なると、別々の処理単位(デプロイ単位)として扱われ、同じ変更を3台がそれぞれ処理してしまいます。
- C正しい。リース コンテナーとプロセッサ名をそろえ、インスタンス名を一意にすることが、処理を分散させる条件です。
- D誤り。監視対象のコンテナーを分割する必要はありません。変更フィード プロセッサは、1つのコンテナーの変更を複数のインスタンスで分担して処理できます。