事例研究6 - コントソ社
背景
概要
あなたはContoso, Ltd.の開発者です。同社はシングルページアプリケーション(SPA)として開発されたソーシャルネットワーキングWebサイトを運営しています。このソーシャルネットワーキングWebサイトのメインWebアプリケーションは、ブロブストレージからユーザーがアップロードしたコンテンツを読み込みます。
あなたは、アップロードされたデータに不適切なコンテンツが含まれていないか監視するソリューションを開発しています。ユーザーがSPAを使用してコンテンツをアップロードすると、次のプロセスが発生します。
* メッセージはContentUploadServiceに送信されます。
* コンテンツはContentAnalysisServiceによって処理されます。
処理完了後、コンテンツはソーシャルネットワークに投稿されるか、拒否メッセージが送信されます。
その代わりに掲示されています。
ContentAnalysisServiceは、contosoimagesという名前のプライベートAzureコンテナレジストリからAzureコンテナインスタンスを使用してデプロイされます。
このソリューションでは、8つのCPUコアを使用します。
Azure Active Directory
Contoso, Ltd.は、社内アカウントとゲストアカウントの両方にAzure Active Directory(Azure AD)を使用しています。
要件
コンテンツ分析サービス
同社のデータサイエンスグループは、ユーザーが生成したコンテンツを文字列として受け取り、不適切なコンテンツである可能性を示す値を返すContentAnalysisServiceを開発しました。特定のしきい値を超える値は、Contoso, Ltd.の従業員による確認が必要です。
コンテンツチェックを実行するには、CheckUserContent という名前の Azure Function を作成する必要があります。
費用
すべてのAzureサービスのコストを最小限に抑える必要があります。
マニュアルレビュー
コンテンツをレビューするには、ユーザーはAzure ADの認証情報を使用してContentAnalysisServiceのWebサイト部分に認証する必要があります。WebサイトはReactで構築されており、すべてのページとAPIエンドポイントで認証が必要です。コンテンツをレビューするには、ユーザーはContentReviewerロールに属している必要があります。完了したすべてのレビューには、監査目的でレビュー担当者のメールアドレスを含める必要があります。
高可用性
すべてのサービスは複数のリージョンで稼働する必要があります。いずれかのリージョンにおけるサービスの障害が、アプリケーション全体の可用性に影響を与えてはなりません。
監視
ContentUploadServiceが利用可能なCPUコアの80%以上を使用した場合は、アラートを発する必要があります。
安全
セキュリティ要件は以下のとおりです。
インターネット経由でアクセス可能なウェブサービスは、クロスサイトスクリプティングから保護されなければならない。
攻撃。
* すべてのウェブサイトおよびサービスは、有効なルート認証局によるSSL証明書を使用する必要があります。
* Azure Storage アクセス キーはメモリにのみ保存され、
サービス。
* すべての内部サービスは、内部仮想ネットワーク(VNet)からのみアクセス可能である必要があります。
* システムのすべての部分は、送受信トラフィックの制限をサポートする必要があります。
* すべてのサービス呼び出しは、Azure ADを使用して認証する必要があります。
ユーザー規約
ユーザーがコンテンツを投稿する際には、利用規約に同意する必要があります。この規約により、Contoso, Ltd.の従業員はコンテンツを審査し、ユーザーのデバイスにCookieを保存し、ユーザーのIPアドレスを追跡することが可能になります。
契約に関する情報は、Contoso, Ltd. 内の複数の部門で使用されます。
ユーザーからの回答は失われてはならず、個々のサービス稼働時間に関わらず、すべての関係者が利用できる状態である必要がある。合意件数は1時間あたり数百万件に達すると予想される。
検証テスト
ContentAnalysisServiceの新しいバージョンが利用可能になった場合、新しいバージョンが古いバージョンと大きく異なっていないことを確認するために、過去7日間のコンテンツを新しいバージョンで処理する必要があります。
問題
ContentUploadServiceのユーザーから、特定のページでHTTP 502エラーが発生することがあるとの報告が寄せられています。
コード
コンテンツアップロードサービス

アプリケーションマニフェスト

要件に従ってContentUploadServiceを監視する必要があります。
どのコマンドを使用すべきですか?
az monitor metrics alert create -n alert -g ... - -scopes ... - -condition