Amazon MSK クラスターからブローカーを削除する - Amazon Managed Streaming for Apache Kafka

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

Amazon MSK クラスターからブローカーを削除する

Amazon Managed Streaming for Apache Kafka (MSK) でプロビジョニングされたクラスターからブローカーを削除する場合は、この Amazon MSK オペレーションを使用します。可用性への影響、データ耐久性のリスク、データストリーミングアプリケーションの中断なしに、一連のブローカーを削除することで、クラスターのストレージ容量とコンピューティング容量を削減できます。

クラスターにブローカーを追加してトラフィックの増加を処理し、トラフィックが沈静化したときにブローカーを削除できます。ブローカーの追加および削除機能を使用すると、クラスター容量を最大限に活用し、MSK インフラストラクチャのコストを最適化できます。ブローカーを削除すると、ワークロードのニーズに合わせて既存のクラスター容量をブローカーレベルで制御し、別のクラスターへの移行を回避できます。

AWS コンソール、コマンドラインインターフェイス (CLI)、 SDK、または を使用して、プロビジョニングされたクラスターのブローカー数 AWS CloudFormation を減らします。MSK は、パーティションを持たないブローカー (Canary トピックを除く) を選択し、アプリケーションがそれらのブローカーにデータを生成できないようにしながら、それらのブローカーをクラスターから安全に削除します。

クラスターのストレージとコンピューティングを減らす場合は、アベイラビリティーゾーンごとに 1 つのブローカーを削除する必要があります。例えば、1 回のブローカー削除オペレーションで、2 つのアベイラビリティーゾーンクラスターから 2 つのブローカーを削除したり、3 つのアベイラビリティーゾーンクラスターから 3 つのブローカーを削除したりできます。

クラスターからブローカーを削除した後にパーティションを再調整する方法については、「」を参照してくださいパーティションの再割り当て

インスタンスサイズに関係なく、すべての M5 および M7g ベースの MSK プロビジョニングクラスターからブローカーを削除できます。

ブローカーの削除は、KRaft モードクラスターを含む Kafka バージョン 2.8.1 以降でサポートされています。

すべてのパーティションを削除してブローカーを削除する準備をする

ブローカーの削除プロセスを開始する前に、まず、削除する予定のブローカー__amazon_msk_canary_stateから、トピック__amazon_msk_canaryと を除くすべてのパーティションを移動します。これらは、Amazon MSK がクラスターのヘルスと診断メトリクス用に作成する内部トピックです。

Kafka 管理 APIs または Cruise Control を使用して、クラスターに保持する予定の他のブローカーにパーティションを移動できます。「パーティションの再割り当て」を参照してください。

AWS マネジメントコンソールでブローカーを削除する

AWS マネジメントコンソールでブローカーを削除するには
  1. https://console.aws.amazon.com/msk/ で Amazon MSK コンソールを開きます。

  2. 削除するブローカーを含む MSK クラスターを選択します。

  3. クラスターの詳細ページで、アクションボタンを選択し、ブローカー数の編集オプションを選択します。

  4. アベイラビリティーゾーンごとにクラスターに含めるブローカーの数を入力します。コンソールは、削除するアベイラビリティーゾーン全体のブローカーの数を要約します。これを希望どおりに実行してください。

  5. [変更を保存] を選択します。

ブローカーが誤って削除されないように、ブローカーを削除するかどうかを確認するメッセージが表示されます。

AWS CLI を使用してブローカーを削除する

次のコマンドを実行し、 をクラスターの作成時に取得した Amazon リソースネーム (ARN) ClusterArnに置き換えます。クラスターの ARN がない場合は、すべてのクラスターを一覧表示することで見つけられます。詳細については、「Amazon MSK クラスターの一覧表示」を参照してください。をクラスターの最新バージョンCurrent-Cluster-Versionに置き換えます。

重要

クラスターのバージョンは単純な整数ではありません。クラスターの最新バージョンを検索するには、 DescribeClusterオペレーションまたは describe-cluster AWS CLI コマンドを使用します。サンプルのバージョンは KTVPDKIKX0DER です。

Target-Number-of-Brokers パラメータは、このオペレーションが正常に完了したときにクラスターが持つブローカーノードの総数を表します。Target-Number-of-Brokers に指定する値は、クラスター内の現在のブローカー数よりも小さい整数である必要があります。また、アベイラビリティーゾーンの数の倍数である必要があります。

aws kafka update-broker-count --cluster-arn ClusterArn --current-version Current-Cluster-Version --target-number-of-broker-nodes Target-Number-of-Brokers

この update-broker-count オペレーションの出力は、次の JSON のようになります。

{ "ClusterOperationInfo": { "ClientRequestId": "c0b7af47-8591-45b5-9c0c-909a1a2c99ea", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-09-25T23:48:04.794Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "DECREASE_BROKER_COUNT", "SourceClusterInfo": { "NumberOfBrokerNodes": 12 }, "TargetClusterInfo": { "NumberOfBrokerNodes": 9 } } }

この出力では、OperationTypeDECREASE_BROKER_COUNT です。OperationState の値が UPDATE_IN_PROGRESS の場合は、しばらく待ってから再度 describe-cluster-operation コマンドを実行します。

AWS API を使用してブローカーを削除する

API を使用してクラスター内のブローカーを削除するには、UpdateBrokerCount「Amazon Managed Streaming for Apache Kafka API Reference」の「」を参照してください。