

# Lambda マネージドインスタンスのモニタリング
<a name="lambda-managed-instances-monitoring"></a>

CloudWatch メトリクスを使用して、Lambda マネージドインスタンスをモニタリングできます。Lambda では CloudWatch にメトリクスが自動的に発行さるため、リソース使用率のモニタリング、コストの追跡、パフォーマンスの最適化を簡単に行えます。

## 使用可能なメトリクス
<a name="lambda-managed-instances-available-metrics"></a>

Lambda マネージドインスタンスでは、キャパシティープロバイダーレベルと実行環境レベルの 2 つのレベルでメトリクスが提供されます。

### キャパシティープロバイダーレベルのメトリクス
<a name="lambda-managed-instances-capacity-provider-metrics"></a>

キャパシティープロバイダーレベルのメトリクスは、インスタンス全体のリソース使用率を可視化します。これらのメトリクスは、次のディメンションを使用します。
+ **CapacityProviderName** – キャパシティープロバイダーの名前
+ **InstanceType** – EC2 インスタンスのタイプ

**リソース使用率メトリクス:**
+ **CPUUtilization** – キャパシティープロバイダー内のインスタンス全体の CPU 使用率
+ **MemoryUtilization** – キャパシティープロバイダー内のインスタンス全体のメモリ使用率

**キャパシティメトリクス:**
+ **vCPUAvailable** – インスタンスで割り当て可能な vCPU 数 (カウント)
+ **MemoryAvailable** – インスタンスで割り当て可能なメモリ数 (バイト単位)
+ **vCPUAllocated** – 実行環境のインスタンスに割り当てられた vCPU 数 (カウント)
+ **MemoryAllocated** – 実行環境のインスタンスに割り当てられたメモリ数 (バイト単位)

### 実行環境レベルのメトリクス
<a name="lambda-managed-instances-execution-environment-metrics"></a>

実行環境レベルのメトリクスは、各関数のリソース使用率と同時実行性を可視化します。これらのメトリクスは、次のディメンションを使用します。
+ **CapacityProviderName** – キャパシティープロバイダーの名前
+ **FunctionName** – Lambda 関数の名前
+ **リソース** - リソースごとに、関数の特定バージョンのメトリクスを表示します。

**注記**  
Lambda マネージドインスタンス (LMI) の場合、`Resource` ディメンションは関数バージョンのみをサポートします。形式は `<FunctionName>:<FunctionVersion>` です。

**使用可能な実行環境メトリクス:**
+ **ExecutionEnvironmentConcurrency** – 5 分間のサンプル期間中の最大同時実行数
+ **ExecutionEnvironmentConcurrencyLimit** – 実行環境あたりの最大同時実行数の制限
+ **ExecutionEnvironmentCPUUtilization** – 関数の実行環境の CPU 使用率の割合
+ **ExecutionEnvironmentMemoryUtilization** – 関数の実行環境のメモリ使用率の割合

## スロットル理由メトリクス
<a name="lambda-managed-instances-throttle-reason-metrics"></a>

Lambda マネージドインスタンスは、スロットルの原因となったリソース制約を識別する、詳細なスロットル理由メトリクスを出力します。各スロットル向けに、Lambda は次のサブメトリクスのうち 1 つのみを 1 で出力し、残りの 3 つは 0 で出力します。
+ **ConcurrencyThrottles** – 実行環境が最大同時実行数に達しました。これは、[ExecutionEnvironmentMaxConcurrency](lambda-managed-instances-scaling.md#lambda-managed-instances-maximum-concurrency) を上げるか、[実行環境をより積極的にスケール](lambda-managed-instances-scaling.md#lambda-managed-instances-target-resource-utilization)することで対処できます。
+ **CPUThrottles** – 実行環境は割り当てられた CPU リソースを使い果たしました。これは、関数の [vCPU 割り当て](lambda-managed-instances-scaling.md#lambda-managed-instances-function-memory-vcpus)を増やすか、[ExecutionEnvironmentMaxConcurrency](lambda-managed-instances-scaling.md#lambda-managed-instances-maximum-concurrency) を減らして環境あたりの負荷を減らすことで対処できます。
+ **MemoryThrottles** – 実行環境が割り当てられたメモリを使い果たしました。これは、関数の[メモリ割り当て](configuration-memory.md)を増やすか、[ExecutionEnvironmentMaxConcurrency](lambda-managed-instances-scaling.md#lambda-managed-instances-maximum-concurrency) を減らして環境あたりの負荷を減らすことで対処できます。
+ **DiskThrottles** – 実行環境が割り当てられたディスク容量を使い果たしました。これは、関数の[エフェメラルストレージ](configuration-ephemeral-storage.md)を増やすか、[ExecutionEnvironmentMaxConcurrency](lambda-managed-instances-scaling.md#lambda-managed-instances-maximum-concurrency) を減らして環境あたりの負荷を減らすことで対処できます。

Lambda は常に `Throttles` メトリクスをこれらのサブメトリクスと一緒に出力します。これらのメトリクスを使用して、関数がスケールされている理由と、最大同時実行数、関数メモリ、vCPU 割り当て、ディスク設定を調整するかどうかを特定できます。Lambda メトリクスの一覧については、「[Lambda 関数のメトリクスのタイプ](monitoring-metrics-types.md)」を参照してください。

## メトリクスの頻度と保持
<a name="lambda-managed-instances-metric-frequency"></a>

Lambda マネージドインスタンスメトリクスは 5 分間隔で発行され、15 か月間保持されます。

## CloudWatch でのメトリクスの表示
<a name="lambda-managed-instances-viewing-metrics"></a>

**CloudWatch コンソールで Lambda マネージドインスタンスのメトリクスを表示する**

1. CloudWatch コンソールの [console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開きます。

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

1. **[すべてのメトリクス]** タブで、**[AWS/Lambda]** を選択します。

1. 表示するメトリクスのディメンションを選択します。
   + キャパシティープロバイダーレベルのメトリクスの場合は、**CapacityProviderName** と **InstanceType** でフィルタリングします。
   + 実行環境レベルのメトリクスの場合は、**CapacityProviderName**、**FunctionName**、および **Resource** でフィルタリングします。

1. モニタリングするメトリクスを選択します。

## メトリクスを使用してパフォーマンスを最適化する
<a name="lambda-managed-instances-using-metrics"></a>

CPU とメモリの使用率をモニタリングして、関数のサイズが適切かどうかを把握します。使用率が高い場合は、インスタンスタイプを大きくしたり、関数のメモリ割り当てを増やしたりする必要がある可能性があります。同時実行メトリクスを追跡してスケーリング動作を把握し、潜在的なスロットリングを特定します。

キャパシティメトリクスをモニタリングし、ワークロードに対して十分なリソースが確保されている状態か確認します。**vCPUAvailable** メトリクスと **MemoryAvailable** メトリクスは、インスタンスの残りの容量を把握するのに役立ちます。

## 次のステップ
<a name="lambda-managed-instances-monitoring-next-steps"></a>
+ 「[Lambda マネージドインスタンスのスケーリング](lambda-managed-instances-scaling.md)」について説明する
+ [Java](lambda-managed-instances-java-runtime.md)、[Node.js](lambda-managed-instances-nodejs-runtime.md)、[Python](lambda-managed-instances-python-runtime.md) のランタイム固有のガイドを確認する
+ [キャパシティープロバイダーの VPC 接続](lambda-managed-instances-networking.md)を設定する
+ 「[Lambda マネージドインスタンスのセキュリティとアクセス許可](lambda-managed-instances-security.md)」を理解する