Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAmazon SQS 用 Anypoint Connector (Amazon SQS Connector) のトラブルシューティングを行うには、よくスローされる例外メッセージの解釈に関する情報を理解しておきます。
SSL ログを有効化して、TLS 通信に関連する問題を調査します。
必要な詳細レベルに応じて SSL ログレベルを設定します。
SSL ログの詳細のみを有効化します。
javax.net.debug=ssl
ハンドシェイクの詳細のみを有効化します。(ハンドシェイクプロトコルは、レコードプロトコル上で交換される一連のメッセージです。)
javax.net.debug=ssl:handshake
ハンドシェイクの詳細と SSL の詳細を同時に有効化します。
javax.net.debug=ssl, handshake
すべての詳細とトラフィックデータのダンプを有効化します。
javax.net.debug=all
このオプションは非常に冗長であり、通常の状況では不要です。 |
SSL ログは、HTTPS または他の TLS 接続のパフォーマンスに影響します。SSL ログは、特定の問題のトラブルシューティングを行うためにのみ有効化し、長期間有効にしないでください。SSL ログでは大量のログメッセージが生成されるため、有効にしたまま放置しておくと、ログファイルが溢れる可能性があります。 |
SSL ログを有効化する手順は、次のとおりです。
アプリケーションのランタイム設定でデバッグパラメーターを引数として設定します。
Studio で、プロジェクトを右クリックし、[Run (実行)] > [Run Configurations (実行設定)] を選択します。
[Arguments (引数)] タブに移動して、[VM arguments (VM 引数)] セクションで -M-Djavax.net.debug=ssl
を追加します。
冗長例外ログを有効化して、デフォルトの切り捨てられた出力ではなくエラーの完全なスタック追跡を表示します。
Studio で、プロジェクトを右クリックし、[Run (実行)] > [Run Configurations (実行設定)] を選択します。
[Arguments (引数)] タブに移動して、[VM arguments (VM 引数)] セクションで引数を付加して mule.verbose.exceptions
プロパティを追加します。次に例を示します。
-XX:PermSize=128M -XX:MaxPermSize=256M -Dmule.verbose.exceptions=true
アプリケーションと Amazon SQS Connector のやりとりが失敗する理由の理解を深めるには、コネクタの冗長ログを一時的に有効にします。
Mule アプリケーションのパフォーマンスに影響する可能性があるため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。
設定ファイルで冗長ログを有効にする手順は、次のとおりです。
Anypoint Studio にアクセスし、[Package Explorer] ビューに移動します。
アプリケーションのプロジェクト名を開きます。
src/main/resources
フォルダーを開きます。
フォルダー内の log4j2.xml
ファイルを開きます。
<Loggers>
タグ内に <AsyncLogger>
タグを追加します。
<Loggers>
...
<AsyncLogger name="org.mule.extension.sqs" level="DEBUG"/>
...
</Loggers>
xml
アプリケーションの変更を保存します。
Package Explorer でプロジェクト名をクリックし、[Run (実行)] > [Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
AWS SDK v2 では、AssumeRoleConnectionProvider
の STS クライアントがセッショントークンを取得するために使用するエンドポイントがグローバルエンドポイントではなくリージョンエンドポイントになりました。詳細は、 「AWS STS リージョンエンドポイント」ドキュメントを参照してください。
「AWS Security Token Service エンドポイントとクォータ」
ドキュメントで説明されているように、リージョンエンドポイントでコネクタの機能は変更されません。
AWS では、STS リージョンエンドポイントを使用してレイテンシーを短縮して、冗長性を組み込み、セッショントークンの検証を増やすことを推奨しています。
リージョンエンドポイントに変更することで問題が発生した場合、コネクタの [Global Elements (グローバル要素)] プロパティ設定ウィンドウの [Advanced (詳細)] タブにある [Custom STS Endpoint (カスタム SQS エンドポイント)] 項目で URL エンドポイント https://sts.amazonaws.com
を指定して、強制的に Amazon SQS Connector でグローバルエンドポイントを使用させることができます。
スローされる一般的な例外メッセージとその解釈方法のリストを次に示します。
SQS:ACCESS_DENIED
ユーザーにこの操作を実行するための権限がありません。
SQS:CONNECTIVITY
Amazon SQS サーバーへの接続が中断されました。
SQS:INTERNAL_FAILURE
不明なエラー、例外、または障害のために要求が失敗しました。
SQS:INVALID_CREDENTIALS
無効なログイン情報が原因で Amazon SQS サーバーに対する認証に失敗しました。
SQS:INVALID_DATA
[Test Queue ARN (キュー ARN をテスト)] パラメーターが設定されていないため、テスト接続を実行できません。
SQS:MESSAGE_NOT_IN_FLIGHT
指定されたメッセージはインフライト状態ではありません。
SQS:MESSAGE_SIZE_THRESHOLD_OUT_OF_RANGE
メッセージしきい値サイズが 0 ~ 256 KB ではありません。
SQS:OPT_IN_REQUIRED
AWS アクセスキー ID には、サービスのサブスクリプションが必要です。
SQS:OVER_LIMIT
試行されたアクションが制限を超えています。たとえば、Recieve Messages ソースでインフライトメッセージの最大数を受信した場合や、Add Permission 操作でキューの権限の最大数に達した場合です。
SQS:PARAMETER_OUT_RANGE
値が、指定された範囲内にありません。
SQS:PURGE_QUEUE_IN_PROGRESS
指定されたキューが過去 60 秒以内に [Purge Queue (キューをパージ)] 要求を受信しました。
SQS:QUEUE_ALREADY_EXISTS
この名前のキューがすでに存在し、この名前の既存のキューとは異なる属性が要求に含まれます。
SQS:QUEUE_DELETED_RECENTLY
同じ名前のキューが過去 60 秒以内に削除されました。
SQS:REQUEST_EXPIRED
要求の日付スタンプまたは要求の有効期限から 15 分以上経過した後に要求がサービスに到達したか、要求の日付スタンプが 15 分以上先になっています。
SQS:RETRY_EXHAUSTED
特定の実行ブロックの再試行回数の上限に達しました。
SQS:S3_BUCKET_ACCESS_DENIED
サーバーから AmazonSQSException が 403 HTTP 状況コードと共に返されました。
SQS:S3_BUCKET_NOT_FOUND
サーバーから AmazonSQSException が 404 HTTP 状況コードと共に返されました。
SQS:SERVICE_UNAVAILABLE
サーバーで一時的な障害が発生しています。
SQS:THROTTLING_EXCEPTION
要求調整が原因で要求が失敗しました。