AWS マネジメントコンソール を使用して MSK プロビジョンド クラスターを作成する - Amazon Managed Streaming for Apache Kafka

AWS マネジメントコンソール を使用して MSK プロビジョンド クラスターを作成する

このプロセスでは、カスタム作成オプションAWS マネジメントコンソールを使用して、プロビジョニングされた MSK クラスターを作成する一般的なタスクについて説明します。AWS マネジメントコンソール で使用できる他のオプションを使用して、以下を作成することもできます。

このトピックの手順

  1. https://console.aws.amazon.com/msk/ で Amazon MSK コンソールを開きます。

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

  3. [クラスターの作成方法] で、[カスタム作成] を選択します。

  4. クラスタ名には固有の名前を指定し、64 文字以内でなければなりません。

  5. [クラスタータイプ][プロビジョンド] を選択します。

  6. Apache Kafka バージョンでは、ブローカーで実行するバージョンを選択します。各 Apache Kafka バージョンでサポートされている Amazon MSK 機能の比較を確認するには、バージョン互換性を表示 を選択してください。

  7. ブローカー セクションで、次の操作を行ってください。

    1. ブローカータイプ については、以下のいずれかのオプションを選択します。

      • Express ブローカー:完全管理型仮想ストレージを備えた、高性能でスケーラブルなブローカー。要求の厳しい高スループットアプリケーションには、このブローカータイプを選択してください。

      • 標準 ブローカー: 完全な設定制御を備えた従来の Kafka ブローカー。このブローカータイプは、中程度のスループット要件を持つ汎用ワークロードに選択してください。

      これらのブローカータイプに関する詳細については、Amazon MSK ブローカー タイプを参照してください。

    2. ブローカーサイズについては、クラスターの操作能力、メモリ、およびストレージの要件に基づいて、クラスターに使用するサイズを選択してください。

    3. ゾーン数については、ブローカーが分散される横方向のゾーン数AWS アベイラビリティーゾーンを選択します。

      Express ブローカーは、高可用性を実現するために 3 つのアベイラビリティゾーンを必要とします。

    4. ゾーンごとのブローカーについては、Amazon MSK が各アベイラビリティゾーンに作成するブローカーの数を指定してください。最小値はアベイラビリティーゾーンごとに 1、最大値は ZooKeeper ベースのクラスターの場合クラスターごとに 30、KRaft ベースのクラスターの場合クラスターごとに 60 です。

この手順では、すべてのブローカーにわたるデータストレージ要件の設定方法と、ストレージモードの指定方法について説明します。これにより、ワークロードの要件に基づいてデータストレージの要件を定義できます。さらに、この手順では、ブローカーの動作を制御するクラスタ構成設定について説明します。これらの設定には、ブローカー設定、デフォルトのトピック設定、階層型ストレージポリシーが含まれます。

  1. ブローカータイプを標準として選択した場合は、ストレージセクションで次の操作を行います。

    1. ストレージについては、クラスターに含める初期容量を選択してください。クラスターの作成後にストレージ容量を減らすことはできません。

    2. (オプション) 選択したブローカーサイズ (インスタンスサイズ) に応じて、ブローカーごとのプロビジョニング済みストレージスループットを指定することもできます。このオプションを使用すると、各ブローカーの Amazon EBS ボリュームに対して専用の入出力 (I/O) パフォーマンスを割り当てることができます。

      このオプションを有効にするには、x86 の場合 kafka.m5.4xlarge 以上、Graviton ベースのインスタンスの場合 kafka.m7g.2xlarge 以上のブローカーサイズ (インスタンスサイズ) を選択します。次に、プロビジョニングされたストレージスループットを有効にするチェックボックスをオンにします。このチェックボックスを選択すると、スループットを毎秒最低 250MiB に手動で設定できます。これは、I/O 負荷の高いワークロードや、高速で予測可能なストレージ性能を必要とするアプリケーションに有用です。詳細については、「Amazon MSK クラスター 内の標準 ブローカー の ストレージ スループットを プロビジョニング する」を参照してください。

    3. クラスターストレージモードでは、クラスター内でデータを保存および管理する方法を指定します。このオプションは、ブローカーに使用されるストレージの種類と構成を決定します。以下のオプションのいずれかを選択してください。

      • EBS ストレージのみ: 各ブローカーにアタッチされた Amazon Elastic Block Store (Amazon EBS) ボリュームにすべてのトピックデータをローカルに保存します。一貫したパフォーマンスと最近のメッセージへの高速アクセスが必要な場合にこのモードを選択してください。

      • 階層型ストレージと EBS ストレージ: ローカル Amazon EBS データと Amazon S3 の大規模なデータセットのリモートでコスト効率の高いストレージを組み合わせます。このモードでは、Amazon EBS ストレージのコストを削減し、より長いデータ保持をサポートし、手動による介入なしでストレージを自動的にスケーリングします。データを低コストで長期間保持する場合や、ストレージが大幅に増加することが予想される場合は、このモードを選択します。

    注記

    Express ブローカーのストレージを管理する必要はありません。

  2. クラスター設定では、次のいずれかのオプションを指定して、クラスターの動作を定義します。

    • Amazon MSK のデフォルト設定: 汎用ユースケース用に最適化された事前定義された設定のセットが含まれています。クラスタの迅速な設定とデプロイにはこのオプションを選択してください。Amazon MSK の設定については、「Amazon MSK プロビジョンド 設定」を参照してください。

    • カスタム設定: 独自のブローカーとトピックの設定を指定できます。リストから既存のカスタム設定を選択するか、新しいカスタム設定を作成することができます。ブローカーのファインチューニング制御 (特定のパフォーマンス調整、セキュリティ設定など) を行うには、このオプションを選択してください。

  3. [Next] (次へ) をクリックして先に進みます。

ネットワーク設定は、クラスターをAWSインフラストラクチャ内にデプロイする方法を定義します。これには、ネットワーク、可用性、アクセスを制御する VPC、アベイラビリティーゾーンとサブネット、セキュリティグループが含まれます。

  1. ネットワーク設定を行うには、次の手順を実行してください。

    1. クラスターに使用する VPC を選択してください。

    2. 事前に選択したアベイラビリティゾーンの数に基づき、ブローカーを導入するアベイラビリティゾーンとサブネットを指定してください。

      米国西部 (北カリフォルニア) リージョンにおける標準ブローカーの場合、2 つの異なるアベイラビリティゾーンに 2 つのサブネットが必要です。Amazon MSK が使用可能なその他のリージョンでは、サブネットを 2 つまたは 3 つ指定できます。サブネットはすべて、異なるアベイラビリティーゾーンに存在している必要があります。

      Express ブローカーの場合、3 つの異なるアベイラビリティゾーンに 3 つのサブネットが必要です。

      MSK プロビジョンド クラスターを作成すると、MSK はブローカーノードを指定したサブネットに均等に配分します。

    3. Amazon EC2 のセキュリティグループでは、クラスターへのアクセスを許可する 1 つ以上のセキュリティグループを選択または作成します。これらの Amazon EC2 セキュリティグループは、ブローカーへの着信および発信トラフィックを制御します。例えば、クライアントマシンのセキュリティグループなどです。

      共有されるセキュリティグループを指定する場合は、そのセキュリティグループを使用するアクセス許可があることを確認する必要があります。具体的には、 ec2:DescribeSecurityGroups アクセス許可が必要です。詳細については、「MSK クラスター への接続」を参照してください。

  2. [Next] (次へ) をクリックして先に進みます。

  1. セキュリティ設定 セクションで、次の操作を行います。

    1. 以下の認証および認可方法から 1 つ以上を選択し、Kafka クラスターへのクライアントアクセスを制御します。

      • 認証されていないアクセス: クライアントが認証情報を指定せずにクラスターにアクセスできるようにします。この方法はセキュリティリスクであり、セキュリティのベストプラクティスに準拠していない可能性があります。詳細については、「msk-unrestricted-access-check」を参照してください。

      • IAM ロールベースの認証: AWSIAM ユーザー/ロールを使用したクライアント認証と認可を有効にします。この方法では、IAM ポリシーによるクラスターアクセスをきめ細かく制御できます。この方法は、AWS で既に実行されているアプリケーションに推奨されます。

      • SASL/SCRAM 認証: クライアントは認証のために AWS Secrets Manager に保存されているユーザー名とパスワードの認証情報を提供する必要があります。Amazon MSK は、Secrets Manager からこれらの認証情報を取得し、ユーザーを安全に認証します。

        クラスターの認証に関するサインイン認証情報を設定するには、まず Secrets Manager で Secret リソースを作成します。次に、サインイン認証情報をそのシークレットに関連付けます。このアクセス制御方式の詳細については、Amazon MSK クラスターの SASL/SCRAM 認証を設定するを参照してください。

      • AWS Certificate Manager (ACM) による TLS クライアント認証: デジタル証明書を使用したクライアントとブローカー間の相互認証を有効にします。クラスターと同じに配置するか、異なる AWS アカウント に配置するかのいずれかで、AWS Private Certificate Authority (AWS Private CA) を設定する必要があります。

        mTLS を実装するときは、MSK クラスターごとに独立した AWS Private CA を使用することを強くお勧めします。これにより、PCAs によって署名された TLS 証明書は 1 つの MSK クラスターでのみ認証されるため、厳格なアクセスコントロールが維持されます。

  2. 暗号化では、保管中のデータを暗号化するために使用する KMS キーの種類を選択します。詳細については、「保管中の Amazon MSK 暗号化」を参照してください。

    保管中のデータを暗号化すると、保存データの整合性が保護され、転送中のデータを暗号化することにより、転送中のネットワークモニタリングからデータの機密性が保護されます。

  3. [Next] (次へ) をクリックして先に進みます。

この手順では、ブローカーメトリクスをセットアップし、ブローカーログを収集して配信する方法について説明します。これらの設定により、クラスターの状態、パフォーマンス、問題のトラブルシューティングを監視および分析できます。詳細については、「Amazon MSK プロビジョニングされたクラスターをモニタリングする」を参照してください。

  1. このクラスターの Amazon CloudWatch メトリクスでは、次のいずれかのモニタリングレベルを選択します。各モニタリングレベルで収集されたメトリクスは、可視化とアラート通知のために CloudWatch と連携します。

    1. 基本モニタリング: クラスターレベルの必須メトリクスのセットを追加料金なしで提供します。このレベルは、一般的なモニタリングが必要なほとんどのユースケースに適しています。

    2. 強化ブローカーレベルモニタリング: 詳細なブローカーメトリクスを追加料金で提供します。このレベルには、基本的モニタリングに加えて、階層化ストレージメトリクス、他のブローカーの入出力バイト数、読み取り/書き込み操作の合計時間など、より詳細なブローカーメトリクスが含まれます。このレベルのメトリクスは有料となりますが、基本レベルのメトリクスは引き続き無料でご利用いただけます。

    3. 強化トピックレベルモニタリング: 個々のトピックのメトリクスを追加料金で提供します。このレベルを選択すると、ブローカー間のトピックのパフォーマンスをより粒度の細かい確認できます。このレベルには、ブローカーレベルの監視機能の強化とトピックレベルのメトリクスが含まれます、具体的には、指定されたトピックに対する階層型ストレージのメトリクスや、1秒あたり受信メッセージ数などが挙げられます。

    4. 拡張パーティションレベルモニタリング: パーティションあたりのメトリクスの最も詳細なビューを追加料金で提供します。このレベルを選択すると、ブローカー間で各トピック内の各パーティションのメトリクスをキャプチャすることで、最も詳細なモニタリングを実現できます。このレベルには、トピックレベルの改善されたモニタリングと、オフセットラグメトリクスなどのきめ細かいパーティション固有のメトリクスが含まれます。

    これらの各モニタリングレベルで Standard および Express ブローカー タイプで使用できるメトリクスの詳細については、「標準ブローカーの CloudWatch メトリクス」および「Express ブローカーの CloudWatch メトリクス」を参照してください。

  2. (オプション) JMX Exporter、ノード Exporter、またはその両方を使用してメトリクスを Prometheus 形式でエクスポートする場合は、Prometheus でオープンモニタリングを有効にするを選択します。このオプションの詳細については、「Prometheus でモニタリングする」を参照してください。

  3. (オプション) トラブルシューティングと監査のためにブローカーログをさまざまな AWS のサービス に配信するように MSK クラスターを設定するには、次のオプションを 1 つ以上選択します。Amazon MSK は、これらの宛先リソースがまだ存在しない場合、それらを作成しません。詳細については、「ブローカーログ」を参照してください。

    • Amazon CloudWatch Logs への配信: クラスタリング 、検索、視覚化機能を備えた CloudWatch にログを送信します。ログをAWS マネジメントコンソールから離れずにクエリや分析を実行できます。

    • Amazon S3 に配信:ログを Amazon S3 バケット内のファイルとして保存し、長期アーカイブとバッチ分析を可能にします。

    • Amazon Data Firehose に配信: Amazon OpenSearch Service への自動配信とリアルタイムのトラブルシューティング用に、ログを Firehose に送信します。

  4. (オプション) クラスターを識別、整理、または検索するには、新しいタグを追加 を選択して、キーと値のペアとしてタグを追加します。たとえば、Load testingTest のキーと値のペアを使用してクラスターにタグを追加します。

    クラスターでのタグの使用に関する詳細については、Amazon MSK クラスターをタグ付けるを参照してください。

  5. [Next] (次へ) をクリックして先に進みます。

  1. クラスターの設定を確認します。

    編集または を選択して、以前に指定した設定を変更するか、前のコンソール画面に戻ります。

  2. [クラスターを作成] を選択します。

  3. クラスターの詳細ページのクラスター概要セクションで、このクラスターのステータスを確認します。Amazon MSK がクラスターをプロビジョニングすると、ステータスが [作成中] から [アクティブ] に変わります。ステータスが [アクティブ] の場合、クラスターに接続できます。クラスターのステータスの詳細については、「MSK プロビジョンドクラスターの状態を理解する」を参照してください。