このトピックでは、暗号化された設定に関する問題のトラブルシューティング方法を説明します。
症状
次のシナリオでは、暗号化された設定を公開するときに問題が発生することがあります。
- Spring Cloud Alibaba で構築したビジネスアプリケーションで、暗号化された設定を使用すると起動に失敗します。
- Nacos SDK for Java で構築したビジネスアプリケーションで、暗号化された設定の公開または取得時にエラーが発生します。
- Nacos SDK for Go や Nacos SDK for Node.js など、Java 以外のプログラミング言語向けの Nacos SDK で構築したビジネスアプリケーションで、暗号化された設定を使用できません。
- Microservices Engine (MSE) コンソールで暗号化された設定を公開すると、エラーメッセージが表示されます。メッセージは次のとおりです: The configuration center is unreachable due to a network issue. Please try again later.
考えられる原因
この問題は、ネットワーク接続の問題または特殊文字の使用が原因である可能性があります。解決策については、「Nacos クライアントにおける設定の公開失敗のトラブルシューティング」をご参照ください。
上記の方法で問題が解決しない場合は、以下から該当する原因を確認してください。
- Spring Cloud Alibaba
Spring Cloud Alibaba で構築したビジネスアプリケーションで、暗号化された設定を使用すると起動に失敗する場合は、次の原因が考えられます。
- ビジネスアプリケーションの
dataId, groupId, and tenantIdパラメータが、MSE の暗号化された設定のパラメータと一致していません。 - プロジェクトに暗号化・復号プラグインの依存関係が含まれていません。詳細については、「暗号化・復号プラグインのリポジトリ」をご参照ください。
- Key Management Service (KMS) が有効になっていません。
- 権限が不十分なため、認証に失敗しています。
- ビジネスアプリケーションの
- [Nacos SDK for Java]
Nacos SDK for Java で構築したビジネスアプリケーションで、暗号化された設定の公開または取得時にエラーが発生する場合は、次の原因が考えられます。
- ビジネスアプリケーションの
dataId, groupId, and tenantIdパラメータが、MSE の暗号化された設定のパラメータと一致していません。 - プロジェクトに暗号化・復号プラグインの依存関係が含まれていません。詳細については、「暗号化・復号プラグインのリポジトリ」をご参照ください。
- KMS が有効になっていません。
- 権限が不十分なため、認証に失敗しています。
- ビジネスアプリケーションの
- [Java 以外のプログラミング言語向け Nacos SDK]
Nacos SDK for Go や Nacos SDK for Node.js など、Java 以外のプログラミング言語向け Nacos SDK で構築したビジネスアプリケーションで暗号化された設定を使用できない場合は、次の原因が考えられます。
- SDK が暗号化された設定をサポートしていません。
- ビジネスアプリケーションの
dataId, groupId, and tenantIdパラメータが、MSE の暗号化された設定のパラメータと一致していません。 - KMS が有効になっていません。
- 権限が不十分なため、認証に失敗しています。
- [MSE コンソール]
MSE コンソールで暗号化された設定を公開する際にエラーが発生する場合は、次の原因が考えられます。
- 設定に特殊文字が含まれています。解決策については、「Nacos クライアントにおける設定の公開失敗のトラブルシューティング」をご参照ください。
- KMS が有効になっていません。
- 権限が不十分なため、認証に失敗しています。
解決策
まず、ネットワーク接続の問題または特殊文字の使用を確認してください。手順については、「Nacos クライアントにおける設定の公開失敗のトラブルシューティング」をご参照ください。
次に、Alibaba Cloud KMS コンソールにログインし、KMS が有効になっていることを確認します。
問題が解決しない場合は、以下からシナリオに応じた解決策を確認してください。
Spring Cloud Alibaba
Spring Cloud Alibaba または Nacos SDK for Java で構築したビジネスアプリケーションの場合は、${user_home}/logs/nacos/config.log を確認して、詳細なエラーメッセージを取得してください。
- 403 エラーは権限の問題を示します。RAM ユーザーに必要な権限を付与してください。手順については、「Nacos インスタンスにアクセスするための権限の付与」をご参照ください。
- ログ内の
dataId, groupId, tenant, and namespaceIdなどのパラメータが MSE コンソールの設定と一致しない場合は、MSE コンソールで設定を再公開するか、ConfigService.publishConfig API を呼び出して設定を再度公開してください。 - 上記の手順で問題が解決しない場合は、次のデモプロジェクトを使用してデバッグできます。
Nacos SDK for Go
Nacos SDK for Go で構築したビジネスアプリケーションの場合は、デモプロジェクトを使用してデバッグできます。詳細については、「Nacos SDK for Go 向け暗号化・復号デモのリポジトリ」をご参照ください。
Java 以外の SDK
現在、Java 以外のプログラミング言語向け Nacos SDK のうち、暗号化された設定をサポートしているのは Nacos SDK for Go のみです。他の言語のサポートに貢献したい場合は、GitHub で関連プロジェクトを確認できます。
MSE コンソール
50 KB を超える暗号化された設定は、安定性のリスクを引き起こす可能性があります。MSE コンソールで公開に失敗する場合は、サイズがこの上限を超えていないか確認してください。この問題を回避するには、大きな設定を複数の小さな設定に分割してください。