Amazon S3 用 Anypoint Connector (Amazon S3 Connector) のトラブルシューティングを行うには、よくスローされる例外メッセージの解釈に関する情報を理解しておきます。
SSL ログの有効化
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 S3 Connector のやりとりが失敗する理由の理解を深めるには、コネクタの冗長ログを一時的に有効にします。
Mule アプリケーションのパフォーマンスに影響する可能性があるため、トラブルシューティングが完了したら、必ず拡張された冗長性を無効にしてください。
設定ファイルで冗長ログを有効にする手順は、次のとおりです。
-
Anypoint Studio にアクセスし、[Package Explorer] ビューに移動します。
-
アプリケーションのプロジェクト名を開きます。
-
src/main/resources フォルダーを開きます。 -
フォルダー内の
log4j2.xml ファイルを開きます。 -
<Loggers> タグ内に <AsyncLogger> タグを追加します。<Loggers> ... <AsyncLogger name="org.mule.extension.s3" level="DEBUG"/> ... </Loggers> -
アプリケーションの変更を保存します。
-
Package Explorer でプロジェクト名をクリックし、[Run (実行)] > [Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] をクリックします。
スローされる一般的な例外メッセージの理解
スローされる一般的な例外メッセージとその解釈方法のリストを次に示します。
-
S3:BAD_REQUEST
入力またはペイロードが無効です。
-
S3:BUCKET_ALREADY_EXISTS
指定したバケット名はすでに存在します。
-
S3:BUCKET_ALREADY_OWNED_BY_YOU
作成したバケットはすでに存在し、所有しています。
-
S3:CONNECTIVITY
A connection cannot be established. (接続を確立できません。)
-
S3:FORBIDDEN
`403` Forbidden エラーがあります。たとえば、権限が不足しています。
-
S3:GLACIER_EXPEDITED_RETRIEVAL_NOT_AVAILABLE
Expedited 取り出しは使用できません。
-
S3:INTERNAL_ERROR
サーバーの問題や一時的な不具合などの内部エラーがあります。
-
S3:INVALID_OBJECT_STATE
このアクションではオブジェクトの状態が無効です。
-
S3:MALFORMED_XML
送信した XML が無効です。
-
S3:NO_SUCH_KEY
指定したキーが存在しません。
-
S3:NO_SUCH_LIFECYCLE_CONFIGURATION
指定したライフサイクル設定が存在しません。
-
S3:NO_SUCH_TAG_SET
指定したタグセットが存在しません。
-
S3:NO_SUCH_UPLOAD
指定したアップロードが存在しません。
-
S3:OBJECT_ALREADY_IN_ACTIVE_TIER
オブジェクトはアクティブな階層にすでに存在します。
-
S3:OPERATION_ABORTED
同じリソースに対する別の進行中のアクションがあるため、操作が中止されました。
-
S3:RESTORE_ALREADY_IN_PROGRESS
復元はすでに進行中です。
-
S3:RETRY_EXHAUSTED
操作の最大再試行回数に達しました。
-
S3:S3_ERROR
Amazon S3 でエラーが発生しました。
-
S3:SERVER_BUSY
サーバーが混雑しています。
-
S3:SERVICE_ERROR
サービスエラーがあります。
-
S3:REQUEST_TIMEOUT
Put Object 操作で要求タイムアウトが発生しました。