プロビジョニングストレージのスループット - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

プロビジョニングストレージのスループット

Amazon MSKブローカーはストレージボリュームにデータを保持します。ストレージ I/O は、プロデューサーがクラスターに書き込むとき、ブローカー間でデータがレプリケートされるとき、およびコンシューマーがメモリ内にないデータを読み取るときに消費されます。ボリュームストレージのスループットは、ストレージボリュームにデータを書き込んだり、ストレージボリュームからデータを読み取ったりできる速度です。プロビジョンドストレージのスループットは、クラスター内のブローカーに対してその速度を指定する機能です。

プロビジョニングされたスループットレートは、ブローカーのサイズが kafka.m5.4xlarge以上のクラスターと、ストレージボリュームが 10 GiB 以上のクラスターに対して 1 秒あたり MiB 単位で指定できます。 GiB プロビジョンドスループットは、クラスター作成時に指定できます。また、ACTIVE 状態のクラスターのプロビジョンドスループットを有効または無効にすることもできます。

スループットのボトルネック

ブローカースループットのボトルネックには、ボリュームスループット、Amazon EC2 から Amazon へのEBSネットワークスループット、Amazon EC2 エグレススループットの複数の原因があります。プロビジョンドストレージのスループットを有効にして、ボリュームスループットを調整できます。ただし、ブローカーのスループット制限は、Amazon から Amazon EC2 へのEBSネットワークスループットと Amazon EC2 エグレススループットによって発生する可能性があります。

Amazon EC2 エグレススループットは、コンシューマーグループ数とコンシューマーグループあたりのコンシューマー数の影響を受けます。また、ブローカーサイズが大きいほど、Amazon EC2 から Amazon EC2 へのEBSネットワークスループットと Amazon エグレススループットの両方が高くなります。

ボリュームサイズが 10 GiB 以上の場合は、250 MiB/秒以上のストレージスループットをプロビジョニングできます。デフォルトは 250 MiB/秒です。ストレージスループットをプロビジョニングするには、ブローカーサイズ kafka.m5.4xlarge 以上 (または kafka.m7g.2xlarge 以上) を選択し、次の表に示すように最大スループットを指定できます。

ブローカーサイズ ストレージの最大スループット (MiB/秒)
kafka.m5.4xlarge 593
kafka.m5.8xlarge 850
kafka.m5.12xlarge 1,000
kafka.m5.16xlarge 1,000
kafka.m5.24xlarge 1,000
kafka.m7g.2xlarge 312.5
kafka.m7g.4xlarge 625
kafka.m7g.8xlarge 1,000
kafka.m7g.12xlarge 1,000
kafka.m7g.16xlarge 1,000

ストレージスループットの測定

VolumeReadBytes および VolumeWriteBytes メトリクスを使用して、クラスターの平均ストレージスループットを測定できます。これら 2 つのメトリクスを合計は、ストレージの平均スループット (バイト単位) を示します。クラスターの平均ストレージスループットを取得するには、これら 2 つのメトリクスを に設定SUMし、期間を 1 分に設定してから、次の式を使用します。

Average storage throughput in MiB/s = (Sum(VolumeReadBytes) + Sum(VolumeWriteBytes)) / (60 * 1024 * 1024)

VolumeReadBytes および VolumeWriteBytes メトリクスについては、「PER_BROKER レベルモニタリング」を参照してください。

設定の更新

プロビジョニングされたスループットを有効にする前または後に、Amazon MSK設定を更新できます。ただし、num.replica.fetchers 設定パラメータの更新と、プロビジョンドスループットの有効化の両方のアクションを実行するまでは、目的のスループットは表示されません。

デフォルトの Amazon MSK設定では、 の値は 2 num.replica.fetchersです。num.replica.fetchers を更新する際には、次の表の推奨値を使用できます。これらの値は参考用です。これらの値は、ユースケースに基づいて調整することが推奨されます。

ブローカーサイズ num.replica.fetchers
kafka.m5.4xlarge 4
kafka.m5.8xlarge 8
kafka.m5.12xlarge 14
kafka.m5.16xlarge 16
kafka.m5.24xlarge 16

更新した設定は最大 24 時間有効にならない場合があり、ソースボリュームが十分に利用されていない場合はさらに時間がかかる場合があります。ただし、移行ボリュームのパフォーマンスは、移行期間中は少なくともソースストレージボリュームのパフォーマンスと同等です。フルに利用されている 1 TiB ボリュームの場合、更新された設定に移行するには、通常は約 6 時間かかります。

を使用したストレージスループットのプロビジョニング AWS Management Console

  1. にサインインし AWS Management Console、Amazon MSKコンソールをhttps://console.aws.amazon.com/msk/ホーム?region=us-east-1#/home/ で開きます。

  2. Create cluster (クラスターの作成) を選択します。

  3. Custom create (カスタム作成) を選択します。

  4. クラスターの名前を指定します。

  5. [ストレージ] セクションで、[有効化] を選択します。

  6. ブローカーあたりのストレージスループットの値を選択します。

  7. VPC、ゾーンとサブネット、およびセキュリティグループを選択します。

  8. [Next (次へ)] を選択します。

  9. [セキュリティ] ステップの一番下で [次へ] を選択します。

  10. [モニタリングおよびタグ] ステップの一番下で [次へ] を選択します。

  11. クラスター設定を確認し、[クラスターの作成] を選択します。

を使用したストレージスループットのプロビジョニング AWS CLI

このセクションでは、 を使用して、プロビジョニングされたスループットを有効にしたクラスター AWS CLI を作成する方法の例を示します。

  1. 以下をコピーJSONし、ファイルに貼り付けます。サブネットIDsとセキュリティグループ ID のプレースホルダーをアカウントの値に置き換えます。ファイルに cluster-creation.json という名前を付け、保存します。

    { "Provisioned": { "BrokerNodeGroupInfo":{ "InstanceType":"kafka.m5.4xlarge", "ClientSubnets":[ "Subnet-1-ID", "Subnet-2-ID" ], "SecurityGroups":[ "Security-Group-ID" ], "StorageInfo": { "EbsStorageInfo": { "VolumeSize": 10, "ProvisionedThroughput": { "Enabled": true, "VolumeThroughput": 250 } } } }, "EncryptionInfo": { "EncryptionInTransit": { "InCluster": false, "ClientBroker": "PLAINTEXT" } }, "KafkaVersion":"2.8.1", "NumberOfBrokerNodes": 2 }, "ClusterName": "provisioned-throughput-example" }
  2. 前のステップでJSONファイルを保存したディレクトリから次の AWS CLI コマンドを実行します。

    aws kafka create-cluster-v2 --cli-input-json file://cluster-creation.json

APIを使用したストレージスループットのプロビジョニング

クラスターの作成中にプロビジョニングされたストレージスループットを設定するには、CreateClusterV2 を使用します。