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

Container Service for Kubernetes:ALB Ingress の例外に関するトラブルシューティング

最終更新日:Mar 26, 2026

ALB Ingress Controller は、Kubernetes クラスター内のサービスへの外部トラフィックを管理し、ルーティングします。サービスを ALB Ingress 経由で公開すると、コントローラーは関連する Endpoint リソースの変更を監視し、バックエンドノードのステータスをバックエンドサーバーグループに同期し、それらの変更を ALB インスタンスに適用します。同期は、設定エラーやクォータ制限が原因で失敗することがあります。

重要

トラブルシューティングの前に、ALB Ingress コントローラーを最新バージョンにアップグレードしてください。手順については、「ALB Ingress コントローラーをアップグレードする」をご参照ください。古いバージョンを実行すると、すでに修正済みの問題を引き起こす可能性があります。

仕組み

ALB Ingress を介してサービスにアクセスすると、ALB Ingress Controller はさまざまなリソースの変更を監視し、関連する ALB インスタンスに同期します。次の図は、リソース間の論理的な関係と同期プロセスを示しています。

image

ステップ 1:Ingress イベントの確認

Ingress イベントは、コントローラーが何を実行していて、どこで失敗しているかを示します。解決策を探す前に、まずイベントを確認して特定のエラーを特定してください。

コンソールを使用する場合: [ネットワーク] > [Ingresses] に移動します。名前空間を選択し、Ingress 名をクリックしてから、[イベント] タブをクリックします。

kubectl を使用する場合:

kubectl describe ingress <ingress-name> -n <namespace>

期待される出力:

...
Events:
  Type     Reason                  Age                     From     Message
  ----     ------                  ----                    ----     -------
  Warning  FailedBuildModel        2m28s (x10 over 6m43s)  ingress  listener is not exist in alb, port: 443, protocol: HTTPS
  Normal   Sync                    19s (x32 over 11d)      ingress  Scheduled for sync
  Normal   SuccessfullyReconciled  4s (x20 over 11d)       ingress  Successfully reconciled

[説明] 列 (コンソール) または Message フィールド (kubectl) にイベントの詳細が表示されます。

  • Scheduled for sync:コントローラーがイベントの処理を開始しました。

  • Successfully reconciled:調整がエラーなしで完了しました。

  • Warning イベント:コントローラーで問題が発生しました。解決策については、「ステップ 2」をご参照ください。

イベントが表示されない場合、または Normal イベントのみが表示されて変更が反映されない場合は、「ステップ 3」に進んでください。

ステップ 2:異常イベントの解決

ステップ 1 で確認したエラーメッセージを以下の表で見つけ、その解決策に従ってください。

エラーメッセージ原因ソリューション
listener does not exist in alb, port: 80, protocol: HTTPALB Ingress Controller V2.11.0 以降では、リスナーは Ingress にのみ関連付けられ、自動的には作成されません。このエラーは、リスナーが AlbConfig に存在しないことを意味します。AlbConfig で Ingress リソースに必要なリスナーを作成します
listener not found for (80/HTTP), with ingresses 1ALB Ingress Controller V2.11.0 以降では、このエラーは、Ingress にまだ関連付けられている AlbConfig からリスナーが削除された場合に発生します。エラーメッセージには、見つからないリスナーと関連する Ingress の数が含まれます。AlbConfig からリスナーを削除する前に、そのリスナーに関連付けられているすべての Ingress を削除してください。誤ってリスナーを削除した場合は、再度追加してください。
no certificate found for hostTLS が証明書の自動検出で有効になっていますが、ドメインに一致する証明書が Certificate Management Service で見つかりませんでした。- 証明書の自動検出を設定するCertificate Management Service コンソールで証明書を作成します。コントローラーは、ALB Ingress の TLS 用に設定されたドメインに証明書を自動的に一致させます。- 証明書を直接指定する:AlbConfig を使用して証明書を設定します
The param Rules.1.RuleConditions.2.PathConfig.Values.1 is illegal転送ルールに無効なパス値が含まれています。- Ingress が rewrite アノテーションを使用している場合は、pathTypePrefix に設定します。- それ以外の場合は、path フィールドに無効な文字がないか確認してください。正規表現以外のパスの場合、値は / で始まり、英字、数字、および次の特殊文字のみを含めることができます:$+/&~@_-.:。ワイルドカード文字 * および ? もサポートされています。
The param ServerGroupName is illegalALB バックエンドサーバーグループ名が無効なフォーマットです。サーバーグループ名を確認してください。名前は namespace+ServiceName+port のフォーマットで生成されます。名前は 2~128 文字で、英字で始まり、数字、._- のみを含む必要があります。
The specified resource sgp-vz2fb219vv792flx3u is in useACK で管理されている ALB バックエンドサーバーグループが、別の ALB インスタンスによって参照されています。ALB コンソールにログインします。[ALB] > [サーバーグループ] に移動し、バックエンドサーバーグループを見つけて、ALB インスタンスの関連付けを解除します。
Message: Invalid parameter. Check the parameter input.AlbConfig の証明書 ID が正しく設定されていません。リソース ID ではなく、数値 ID が使用されている可能性があります。数値 ID ではなく、CertIdentifier で指定されたリソース ID を使用してください。
Message: Failed to create SSL Certificate with name default-https-secret-1-b585e6 ({namespace}-{name}-{identity}). Error: The certificate has expired.Secret 証明書の有効期限が切れています。エラーメッセージ内の証明書名は {namespace}-{name}-{identity} のフォーマットに従います。{namespace} は Secret が存在する名前空間 (例:default)、{name} は Secret リソース名 (例:https-secret-1)、{identity} は Secret コンテンツのハッシュ (例:b585e6) です。1. Ingress の secretName フィールドで、期限切れの証明書を更新します。新しい証明書は、現在の日付から少なくとも 1 日間有効である必要があります。2. または、secretName の設定を削除し、証明書の自動検出に切り替えます。詳細については、「HTTPS による暗号化通信のための証明書の設定」をご参照ください。
SSL 証明書の作成に失敗しました (名前: XXX) <br>エラーコード: NameRepeat <br>メッセージ: この名前は既に使用されています。別の名前を入力してください。Ingress は Secret 証明書を使用しています。証明書の有効期限が切れた後、AlbConfig を介して新しい証明書をアップロードした際に、期限切れの証明書の名前が再利用されたため、SSL 証明書名が重複しました。
invalid server group Cookie:- Empty cookie value:セッション維持が Cookie の書き換え (sticky-session-type: "Server") に設定されていますが、cookie アノテーションが空です。- Unsupported controller versionV2.15.0-aliyun.1 より前の ALB Ingress Controller バージョンは、サーバーグループのセッション維持のためのカスタム Cookie をサポートしていません。- Empty cookie value:空でない Cookie 値を設定します。例:  alb.ingress.kubernetes.io/cookie: "test"   アノテーションの詳細については、「アノテーションを使用したセッション維持の実装」をご参照ください。- Unsupported versionALB Ingress Controller をアップグレードします
The quota of alb_quota_server_added_num is exceeded for resource eni-xxxx, usage 202/200alb_quota_server_added_num クォータに達しました。このクォータは、バックエンドサーバーの IP アドレスを ALB バックエンドサーバーグループに追加できる回数を制限します。[クォータセンター] に移動して、サーバーグループのクォータを増やします

ステップ 3:サイレント障害の診断

変更が反映されないにもかかわらず Warning イベントが表示されない場合、IngressClassAlbConfig のバインディングが誤って設定されている可能性があります。IngressClass が間違った AlbConfig を指していると、コントローラーはその Ingress の変更イベントを処理しません。

診断するには:

  1. spec.parametersIngressClass が正しい AlbConfig リソース名を参照していることを検証します。

  2. AlbConfig の調整イベントがトリガーされているかどうかを確認します。

IngressClassAlbConfig のバインディングの詳細については、「IngressClass を使用して AlbConfig を Ingress に関連付ける」をご参照ください。