すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:ALB Ingress コントローラーエラーのトラブルシューティング

最終更新日:Jan 24, 2025

Application Load Balancer(ALB)Ingress コントローラーは、Kubernetes クラスタ内のアプリケーションに外部リクエストを転送するために使用されます。 ALB Ingress コントローラーは、ALB Ingress に関連付けられているサービスとエンドポイントの変更をリッスンします。 変更が検出されると、ALB Ingress コントローラーは、対応する ALB インスタンスのバックエンドサーバーグループへの変更をリアルタイムで同期します。 変更は ALB コンソールにも同期されます。 このトピックでは、ALB Ingress コントローラーエラーを診断する方法と解決策について説明します。

リソースの同期

次の図は、ALB Ingress コントローラーがリソースを同期する方法を示しています。

  • ALB Ingress コントローラーは、構成した AlbConfig に基づいて、ALB インスタンスと 2 つのリスナー listener1 と listener2 を作成します。

  • ALB Ingress コントローラーは、構成した Ingress に基づいて 2 つの転送ルール rule1 と rule2 を作成し、rule1 と rule2 を listener2 に関連付けます。 2 つのバックエンドサーバーグループ vgroup1 と vgroup2 が rule1 で指定されています。 1 つのバックエンドサーバーグループ vtgroup2 が rule2 で指定されています。

  • ALB Ingress コントローラーは、サービスとエンドポイントの変更をリッスンします。 変更が検出されると、ALB Ingress コントローラーは、対応する ALB インスタンスのバックエンドサーバーグループへの変更をリアルタイムで同期します。

上記の同期は、特定の制限により失敗する場合があります。 この場合、エラーイベントが記録されます。 次の手順では、エラーを表示、分析、および解決する方法について説明します。

手順 1:エラーイベントを表示する

  1. ALB Ingress コントローラーを最新バージョンに更新します。

    イベントは継続的に更新されます。 ALB Ingress コントローラーを診断する前に、最新バージョンに更新することをお勧めします。

  2. 次のコマンドを実行して、Ingress エラーイベントをクエリします。

    kubectl -n your-namespace describe ingress your-ingress-name

    出力の Events セクションに、Ingress エラーイベントが表示されます。

    • Scheduled for sync:イベントが開始されます。

    • Successfully reconciled:イベントが終了します。

手順 2:エラーを分析して解決する

次の表に、一般的なエラーイベントの原因と解決策を示します。

エラーイベント

原因

解決策

listener is not exist, port: 80, protocol: HTTP

ALB Ingress コントローラー 2.11.0 以降では、リスナーを Ingress に関連付けることはできますが、リスナーを作成することはできません。 Ingress に関連付けるリスナーが AlbConfig で構成されていない場合、エラーイベントが生成されます。

ALB Ingress コントローラー 2.11.0 以降では、AlbConfigs で使用するリスナーを構成する必要があります。

listener not found for (80/HTTP), with ingresses 1

ALB Ingress コントローラー 2.11.0 以降では、AlbConfig からリスナーを削除したが、リスナーが Ingress に関連付けられている場合、エラーイベントが生成されます。 イベントには、リスナーに関する情報と、リスナーに関連付けられている Ingress の数が含まれています。

リスナーを削除する場合は、まずすべての Ingress をリスナーから関連付けを解除する必要があります。

重要

誤ってリスナーを削除した場合は、リスナーを再度追加できます。

none certificate found for host

TLS と証明書の自動検出は有効になっていますが、証明書管理サービスコンソールでドメイン名に関連付けられている証明書がありません。

The param of Rules.1.RuleConditions.2.PathConfig.Values.1 is illegal

転送ルールを作成または変更するときに、無効なパスが指定されています。

  • ALB Ingress で書き換えルールが構成されている場合は、pathTypePrefix に設定する必要があります。

  • ALB Ingress で書き換えルールが構成されていない場合は、path パラメーターに特殊文字が指定されている可能性があります。

    説明

    path パラメーターには正規表現を指定できます。 それ以外の場合、指定するパスはスラッシュ (/) で始まる必要があります。 パスには、文字、数字、および次の特殊文字を含めることができます:$ + / & ~ @ _ - . : * ?。 アスタリスク (*) と疑問符 (?) はワイルドカードとして使用できます。

The param of ServerGroupName is illegal

ALB インスタンスに関連付けられているバックエンドサーバーグループの名前が無効です。

有効な形式で名前を指定します。

名前は、Namespace + サービス名 + ポート番号 の形式である必要があります。 名前の長さは 2 ~ 128 文字で、文字、数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) を使用できます。 名前は文字で始まる必要があります。

The specified resource sgp-vz2fb219vv792flx3u is in use

バックエンドサーバーグループが別の ALB インスタンスに追加されています。

ALB コンソールにログインします。 左側のナビゲーションウィンドウで、[ALB] > > [サーバーグループ] を選択します。 [サーバーグループ] ページで、バックエンドサーバーグループを見つけて、他の ALB インスタンスから削除します。

Message: Invalid value. Set the value in a valid format.

AlbConfig で指定した証明書 ID が無効です。

指定した ID がリソース ID か数値 ID かを確認します。 リソース ID または数値 ID を、CertIdentifier パラメーターで指定された証明書 ID に置き換えます。