Amazon MSK Connect を使用してコネクタを作成しようとしたときのエラーのトラブルシューティング方法を教えてください。

所要時間4分
0

Amazon Managed Streaming for Apache Kafka (Amazon MSK) Connect を使用してコネクタを作成しようとすると、エラーが発生します。

簡単な説明

MSK Connect を使用してコネクタを作成すると、次のエラーメッセージのいずれかが表示されることがあります。

  • コネクタコードに問題があります: 不明なエラー。不明なメッセージ: 最後の操作は失敗しました。操作を再試行してください。
  • パラメータが無効です。コネクタ構成: 次の必須フィールドがないか、無効な値 :tasks.max が含まれています
  • 無効なパラメータ サービス実行ロールです: サービスにリンクされたロール ARN をサービス実行ロール ARN として提供することはできません
  • org.apache.kafka.connect.errors.ConnectException: Connector を実装しているクラスで、名前が一致するクラスが見つかりませんでした...
  • org.apache.kafka.common.errors.TimeoutException: コールの送信を待っている間にタイムアウトしました。コール:メタデータを取得
  • org.apache.kafka.common.errors.SaslAuthenticationException: 接続数が多すぎます
  • org.apache.kafka.connect.errors.ConnectException: com.amazonaws.sdkClientException: HTTP リクエストを実行できません: s3.eu-central-1.amazonaws.com: 443\ [s3.eu-central-1.amazonaws.com /52.219.47.235] への接続失敗:接続がタイムアウトしました
  • org.apache.kafka.connect.errors.ConnectException: com.amazonaws.sdkClientException: HTTP リクエストを実行できません: firehose.us-east-2.amazonaws.com: 443\ [firehose.us-east-2.amazonaws.com /52.95.23.168] への接続失敗:接続がタイムアウトしました
  • ノード-1 (ブローカーエンドポイント) への接続が認証に失敗しました。理由は次のとおりです。 アクセス拒否
  • エラーノード -3 (b-1. への接続<cluster><region>.amazonaws.com/Internal\ _IP) 認証が失敗した理由は次のとおりです。 エラー :(java.security .PrivilegedActionException: javax.security .sasl.saslException: AWS IAM 認証情報が見つかりませんでした\ [原因:aws\ _msk\ _iam\ _auth\ _shadow.com.amazonaws.sdkClientException: いずれからも AWS 認証情報をロードできません... 環境変数 (AWS\ _ACCESS\ _KEY\ _ID (または AWS\ _ACCESS\ _KEY) と AWS\ _SECRET\ _KEY (または AWS\ _SECRET\ _ACCESS\ _KEY) から AWS 認証情報をロードできません

解決方法

コネクタコードに問題があります: 不明なエラー。不明なメッセージ: 最後の操作は失敗しました。操作を再試行してください。

このエラーは、MSK Connect がコネクタを作成できず、コネクタが Failed 状態に移行した場合に発生します。

障害の根本原因を突き止めるには、MSK Connect のログイベント を確認してください。MSK Connect は、コネクタのデバッグに使用できるログイベントを書き込みます。コネクタを作成するときは、ログ宛先をゼロにするか、次のログ宛先のいずれかを指定できます。

  • Amazon CloudWatch Logs
  • Amazon Simple Storage Service (Amazon S3)
  • Amazon Kinesis Data Firehose

パラメータが無効です。コネクタ構成: 次の必須フィールドがないか、無効な値 :tasks.max が含まれています

設定の最後にキャリッジリターン (/r) 文字を使用すると、次のエラーが表示されます。

Invalid parameter connectorConfiguration: The following required field is missing or has invalid value: tasks.max

このエラーを解決するには、次のトラブルシューティング手順を試してください。

  • ドキュメントなどの別のソースからコピーして貼り付ける代わりに、コネクタ構成ダイアログボックスに設定情報を手動で入力します。
  • Windows オペレーティングシステムを使用している場合は、テキストエディタ (Notepad++ など) を使用してください。テキストエディタを使用して、キャリッジリターン (CRLF) と行末 (EOL) 文字を確認および削除することができます。キャリッジリターンを削除するには、設定をコピーしてテキストエディタに貼り付けます。テキストエディターから、「表示」 と「シンボルを表示」を選択します。次に、「すべての文字を表示」を選択し、構成に存在する可能性のある CRLF または EOL 文字を確認します。すべての CRLF 文字 (「\ r\ n」) を LF 文字 (「\ n」) に置き換えます。

無効なパラメータ サービス実行ロールです: サービスにリンクされたロール ARN をサービス実行ロール ARN として提供することはできません。

サービスにリンクされたロールを使用してコネクタを作成すると、このエラーが表示されます。MSK Connect は、サービスにリンクされたロールのサービス実行ロールとしての使用をサポートしてはいません。別のサービス実行ロールを作成する必要があります。カスタム AWS Identity and Access Management (IAM) ロールを作成する方法については、「 AWS サービスにアクセス権限を委任するロールの作成」を参照してくださいコネクタに連携させたいロールを指定します。このロールは、サービスがコネクタリソースを作成するために内部で使用する **AWSServiceRoleForKafkaConnect ** のサービスにリンクされたロールとは異なる必要があります。

org.apache.kafka.connect.errors.ConnectException: Connector を実装しているクラスで、名前が一致するクラスが見つかりませんでした...

このエラーを解決するには、次のトラブルシューティング手順を試してください。

  • コネクタ構成に存在する可能性のあるキャリッジリターン (/r) 文字をすべて削除します。
  • コネクタプラグインに複数のファイルが必要な場合は、これらのファイルを zip ファイルに含めてください。圧縮ファイルは、コネクタプラグインの作成中に使用されます。ZIP ファイル内の JAR ファイルも、そのプラグインに必要なファイル構造が文書化されている必要があります。MSK Connect のログをオンにし、ログを確認してファイル構造が正しく設定されていることを確認するのがベストプラクティスです。

org.apache.kafka.common.errors.TimeoutException: コールの送信を待っている間にタイムアウトしました。コール:メタデータを取得

コネクタが MSK クラスターに到達できない場合、TimeoutException エラーが表示されます。このエラーを解決するには、次のトラブルシューティング手順を試してください。

org.apache.kafka.common.errors.SaslAuthenticationException: 接続数が多すぎます

MSK クラスターが IAM アクセス制御機能を備えた kafka.t3.small ブローカータイプで実行されている場合は、接続制限に注意してくださいkafka.t3.small インスタンスタイプは、1 秒間にブローカーごとに 1 つの TCP 接続のみを受け入れます。この接続制限を超えると、作成テストは失敗します。その結果、認証情報が無効であるというエラーを示す ** SASLAuthenticationException ** エラーが表示されます。MSK クラスターと IAM アクセスコントロールの詳細については、「Amazon MSK と IAM の仕組みの仕組み」を参照してください。

SASLAuthenticationException エラーを解決するには、次のいずれかのアクションを実行してください。

  • Amazon MSK Connect ワーカー設定で、 [reconnect.backoff.ms][ reconnect.backoff.max.ms] の値を 1000 以上に更新してください。
  • より大きなブローカーインスタンスタイプ (kafka.m5.large 以上など) にアップグレードしてください。Amazon MSK ブローカータイプと適切なブローカータイプの選択の詳細については、 「ブローカータイプ」と「クラスターの適切なサイズ」を参照してください。

org.apache.kafka.connect.errors.ConnectException: com.amazonaws.sdkClientException: HTTP リクエストを実行できません: s3.us-east-1.amazonaws.com: 443 への接続失敗:接続がタイムアウトしました

このエラーは、コネクタが Amazon S3 に接続できない場合に発生します。このエラーをトラブルシューティングするには、クラスターの VPC から Amazon S3 への Amazon 仮想プライベートクラウド (Amazon VPC) エンドポイントを作成したことを確認してください。クラスターの VPC から Amazon S3 に Amazon VPC エンドポイントを作成するには、以下の手順を実行します。

  1. Amazon VPC コンソールを開きます。
  2. ナビゲーションペインで、 [エンドポイントサービス] を選択します。
  3. [エンドポイントの作成] を選択します。
  4. サービスカテゴリでは、** AWS サービス**を選択します。
  5. サービス」で「サービス名」フィルターを選択し、「com.amazonaws」を選択してください。<region>.s3。お使いの**<region>**AWS リージョンで置き換えます。
    タイプ」フィルターを選択し、次に [ゲートウェイ] を選択します。
  6. VPC の場合は、クラスターの VPC を選択します。
  7. ルートテーブル」で、クラスターのサブネットに関連付けられているルートテーブルを選択します。
  8. [エンドポイントの作成] を選択します。

org.apache.kafka.connect.errors.ConnectException: com.amazonaws.sdkClientException: HTTP リクエストを実行できません: firehose.us-east-2.amazonaws.com: 443 への接続失敗:接続がタイムアウトしました

このエラーは、コネクタが Amazon Kinesis Data Firehose に接続できない場合に発生します。このエラーをトラブルシューティングするには、クラスターの VPC から Kinesis Data Firehose への Amazon VPC エンドポイントが作成されているかを確認してください。

クラスターの VPC から Kinesis Data Firehose に Amazon VPC エンドポイントを作成するには、前のセクションの手順に従います。サービス名フィルター** com.amazonaws.<region>.kinesis-firehose**を使用してください。

ノード -1(b1. への接続<cluster><region>(.amazonaws.com) は次の理由で認証に失敗しました: アクセス拒否

このエラーは、MSK Connect の IAM ユーザーにコネクタの作成に必要な権限がない場合に発生します。

MSK Connect でコネクタを作成する場合、それに使用する IAM ロールを指定する必要があります。MSK Connect がこの役割を引き継ぐには、サービス実行ロールに次の信頼ポリシーが必要です。

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Principal": {
            "Service": "kafkaconnect.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "Account-ID"
            },
            "ArnLike": {
                "aws:SourceArn": "MSK-Connector-ARN"
            }
        }
    }]
}

コネクタで使用する MSK クラスターが IAM 認証を使用する場合、コネクタのサービス実行ロールに次の権限ポリシーを追加する必要があります。

{
    "Version": "2012-10-17",
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:Connect",
                "kafka-cluster:DescribeCluster"
            ],
            "Resource": [
                "cluster-arn"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:ReadData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "ARN of the topic that you want a sink connector to read from"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:WriteData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "ARN of the topic that you want a source connector to write to"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:CreateTopic",
                "kafka-cluster:WriteData",
                "kafka-cluster:ReadData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "arn:aws:kafka:region:account-id:topic/cluster-name/cluster-uuid/__amazon_msk_connect_*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:AlterGroup",
                "kafka-cluster:DescribeGroup"
            ],
            "Resource": [
                "arn:aws:kafka:region:account-id:group/cluster-name/cluster-uuid/__amazon_msk_connect_*",
                "arn:aws:kafka:region:account-id:group/cluster-name/cluster-uuid/connect-*"
            ]
        }
    ]
}

クラスターの UUID の検索とトピックの ARN の作成方法については、「リソース 」を参照してください。

エラーノード -3 (b-1. への接続<cluster><region>.amazonaws.com/INTERNAL\ _IP) 認証が失敗した理由は次のとおりです。 エラー :(java.security .PrivilegedActionException: javax.security .sasl.saslException: AWS IAM 認証情報が見つかりませんでした\ [原因:aws\ _msk\ _iam\ _auth\ _shadow.com.amazonaws.sdkClientException: いずれからも AWS 認証情報をロードできません... 環境変数 (AWS\ _ACCESS\ _KEY\ _ID (または AWS\ _ACCESS\ _KEY) と AWS\ _SECRET\ _KEY (または AWS\ _SECRET\ _ACCESS\ _KEY) から AWS 認証情報をロードできません

このエラーは、コネクタの作成に使用した IAM ロールに必要な権限がない場合に発生します。

Amazon MSK へのアクセスに使用するコネクタの IAM ロールのアクセスポリシーと信頼関係を確認してください。詳細については、「サービス実行ロール」を参照してください。

関連情報

Kafka-Kinesis-Connector を使用して Amazon MSK クラスターに接続する方法を教えてください。

MSK Connect

Amazon MSK クラスターのトラブルシューティング

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ