翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
モニタリング
AWS Amplify は Amazon を通じてメトリクスを出力 CloudWatch し、アプリケーションに対して行われたリクエストに関する詳細情報を含むアクセスログを提供します。このセクションのトピックを利用して、これらのメトリクスとログによってアプリを監視する方法を学びます。
によるモニタリング CloudWatch
AWS Amplify は Amazon と統合されているため CloudWatch、Amplify アプリケーションのメトリクスをほぼリアルタイムでモニタリングできます。メトリックが設定したしきい値を超えたときに通知を送信するアラームを作成できます。 CloudWatch サービスの仕組みの詳細については、「Amazon CloudWatch ユーザーガイド」を参照してください。
メトリクス
Amplify は、アプリケーションのトラフィック、エラー、データ転送、レイテンシーをモニタリングするために、 AWS/AmplifyHosting
名前空間で 6 つの CloudWatch メトリクスをサポートします。これらのメトリクスは 1 分間隔で集計されます。 CloudWatch モニタリングメトリクスは無料で、CloudWatch サービスクォータ にはカウントされません。
利用可能なすべての統計が必ずしもすべてのメトリクスに適用可能であるとは限りません。次の表では、最も関連性の高い統計を各メトリクスの説明にまとめています。
メトリクス | 説明 |
---|---|
リクエスト |
アプリが受信したビューアリクエストの合計数。 最も関連性の高い統計は |
BytesDownloaded |
リクエストに対して視聴者がアプリから転送(ダウンロード)したデータ 最も関連性の高い統計は |
BytesUploaded |
アプリに転送 (アップロード) されたデータの総量 ( 最も関連性の高い統計は |
4XXErrors |
HTTP ステータスコード 400~499 の範囲のエラーを返したリクエストの数。 最も関連性の高い統計は |
5XXErrors |
HTTPステータスコード500~599の範囲のエラーを返したリクエストの数。 最も関連性の高い統計は |
レイテンシー |
最初のバイトまでの時間 (秒単位)。Amplify Hosting がリクエストを受け取ってから、ネットワークにレスポンスを返すまでの総時間。視聴者のデバイスに到達するレスポンスに発生したネットワークレイテンシーは含まれません。 最も関連性の高い統計は 予測されるレイテンシーを評価するために |
Amplify は、次の CloudWatch メトリクスディメンションを提供します。
ディメンション | 説明 |
---|---|
アプリケーション |
指標データはアプリによって提供されます。 |
AWS アカウント |
メトリクスデータは、 のすべてのアプリで提供されます AWS アカウント。 |
CloudWatch メトリクスには、https://console.aws.amazon.com/cloudwatch/
Amplify コンソールを使用してメトリクスにアクセスするには
-
にサインイン AWS Management Console し、Amplify コンソール
を開きます。 -
メトリクスを表示するアプリを選択します。
-
ナビゲーションペインで、[アプリの設定]、[モニタリング]の順に選択します。
-
[概要]ページで、[メトリクス]を選択します。
アラーム
Amplify コンソールで CloudWatch アラームを作成し、特定の基準を満たしたときに通知を送信できます。アラームは 1 つの CloudWatch メトリクスを監視し、メトリクスが指定された評価期間数のしきい値を超えたときに Amazon Simple Notification Service 通知を送信します。
コンソールまたは CloudWatch APIs を使用して、 CloudWatchメトリクスの数式を使用するより高度なアラームを作成できます。例えば、4XXErrorsの割合が 3 つの連続期間で 15% を超えたときに通知するアラームを作成できます。詳細については、「Amazon CloudWatch ユーザーガイド」の「メトリクスの数式に基づく CloudWatch アラームの作成」を参照してください。
アラームには標準 CloudWatch 料金が適用されます。詳細については、「Amazon CloudWatch の料金
次の手順に従って、Amplify コンソールを使用することで ドメインを作成します。
Amplify メトリクスの CloudWatch アラームを作成するには
-
にサインイン AWS Management Console し、Amplify コンソール
を開きます。 -
アラームをセットアップするクォータを選択します。
-
ナビゲーションペインで、[組織の設定]、[モニタリング]の順に選択します。
-
[モニタリング]ページで、[アラーム]を選択します。
-
[アラームを作成] を選択します。
-
「アラームの作成」ウィンドウで、アラームを次のように設定します。
-
メトリックを監視するには、メトリック名をリストから選択します。
-
[アラーム名] に、アラームに意味のある名前を入力します。例えば、リクエストを監視している場合、アラームに
HighTraffic
という名前を付けることができます。名前には ASCII 文字のみを使用します。 -
[通知を設定]については、次のいずれかを実行します。
-
-
次の手順に従って、新規を選択して Amazon SNS の新しいトピックを作成します。
-
[Eメールアドレス] には、通知の受信者の Eメールアドレスを入力します。
-
受信者を追加するには、[新しいメールアドレスを追加]を選択します。
-
-
-
Amazon SNS のトピックを再度利用するには、既存を選択します。
-
SNS topic (SNS トピック) では、 リストから既存のAmazon SNS ピックの名前を選択します。
-
-
-
「Wheneverメトリックの統計」では、アラームの条件を次のように設定します。
-
メトリクスがしきい値より大きい、小さい、またはしきい値と等しいのいずれかを指定します。
-
しきい値を指定します。
-
アラームをトリガーするために状態を維持する必要がある評価期間の数を指定します。
-
評価期間の長さを指定します。
-
-
[アラームを作成] を選択します。
-
注記
指定した各 Amazon SNS 受信者には、 AWS 通知から確認メールが届きます。E メールには、受信者が購読を確認して通知を受け取るために必要なリンクが含まれています。
SSR アプリケーションの Amazon CloudWatch Logs
Amplify は Next.js ランタイムに関する情報を の Amazon CloudWatch Logs に送信します AWS アカウント。SSR アプリをデプロイする場合、アプリには、ユーザーの代わりに他のサービスを呼び出す際に Amplify が引き受けるIAMサービスロールが必要です。Amplify ホスティングコンピューティングにサービスロールを自動的に作成させることも、作成したロールを指定することもできます。
Amplify に IAM ロールの作成を許可する場合、そのロールには CloudWatch ログを作成するアクセス許可が既に付与されています。独自の IAM ロールを作成する場合、Amplify が Amazon CloudWatch Logs にアクセスできるようにするには、ポリシーに次のアクセス許可を追加する必要があります。
logs:CreateLogStream logs:CreateLogGroup logs:DescribeLogGroups logs:PutLogEvents
サービスロールの詳細については、「サービスロールの追加」を参照してください。サーバー側でレンダリングされたアプリを展開する詳細については、Amplify Hosting を使用してサーバー側でレンダリングされたアプリをデプロイしますを参照してください。
アクセスログ
Amplify は、Amplify でホストしているすべてのアプリのアクセスログを保存します。アクセスログには、ホストされているアプリに対して行われたリクエストに関する情報が含まれています。Amplify は、アプリを削除するまで、アプリのすべてのアクセスログを保持します。アプリケーションのすべてのアクセスログは、Amplify コンソールで使用できます。ただし、アクセスログの個々のリクエストは、指定した 2 週間に制限されます。
Amplify は顧客間でディス CloudFront トリビューションを再利用することはありません。Amplify はディス CloudFront トリビューションを事前に作成するので、新しいアプリケーションをデプロイするときにディストリビューションが作成されるのを待 CloudFrontつ必要はありません。これらのディストリビューションが Amplify アプリに割り当てられる前に、ボットからトラフィックを受信する可能性があります。ただし、割り当てられる前は常に「見つかりません」と応答するように設定されています。アプリのアクセスログにアプリを作成する前の期間のエントリーが含まれている場合、これらのエントリーはこのアクティビティに関連しています。
重要
ログは、すべてのリクエストを完全に課金するためのものではなく、コンテンツに対するリクエストの本質を把握するものとして使用することをお勧めします。CloudFront はベストエフォートベースでアクセスログを提供します。特定のリクエストのログエントリが、リクエストが実際に処理されてからかなり後に配信されることも、(まれに) 一切配信されないこともあります。ログエントリをアクセスログから省略すると、アクセスログのエントリ数は AWS 請求および使用状況レポートに表示される使用量と一致しません。
次の手順を使用して、アプリケーションのアクセスログを取得します。
アクセスログを表示するには
-
にサインイン AWS Management Console し、Amplify コンソール
を開きます。 -
ログを表示するアプリを選択します。
-
ナビゲーションペインで、[組織の設定]、[モニタリング]の順に選択します。
-
[監視] ページで [アクセスログ] を選択します。
-
[時間範囲の編集] を選択します。
-
[時間範囲の編集] ウィンドウの [開始日] に、ログを取得する2週間間隔の最初の日を指定します。[開始時間] では、ログの取得を開始する最初の日の時間を選択します。
-
Amplify コンソールのアクセスログセクションには、指定した時間範囲のログが表示されます。[ダウンロード] を選択すると、ログが CSV 形式で保存されます。
アクセスログの分析
アクセスログを分析するには、CSV ファイルを Amazon S3 バケットに保存します。アクセスログを分析する方法の 1 つとして Athena を使用する方法があります。Athena は、 サービスのデータの分析に役立つインタラクティブなクエリ AWS サービスです。step-by-step こちらの手順に従ってテーブルを作成できます。テーブルを作成した後、次のようにデータをクエリすることができます。
SELECT SUM(bytes) AS total_bytes FROM logs WHERE "date" BETWEEN DATE '2018-06-09' AND DATE '2018-06-11' LIMIT 100;