AlbConfigを使用して、Application Load Balancer (ALB) インスタンスの設定を定義できます。 このトピックでは、ALB Ingressでサポートされているアノテーションについて説明します。 このトピックでは、AlbConfigフィールドとこれらのフィールドの使用方法についても説明します。
ALB Ingressesがサポートする注釈
ビジネス要件に基づいてALB Ingressに注釈を追加できます。
ヘルスチェック
注釈 | 説明 |
alb.ingress.kubernetes.io/healthcheck-enabled | バックエンドサーバーグループのヘルスチェック機能を有効にするかどうかを指定します。 詳細については、「ヘルスチェックの設定」をご参照ください。
デフォルト値: |
alb.ingress.kubernetes.io/healthcheck-path | ヘルスチェックに使用されるURL。 デフォルト値: |
alb.ingress.kubernetes.io/healthcheck-protocol | ヘルスチェックのプロトコル。
デフォルト値: |
alb.ingress.kubernetes.io/healthcheck-httpversion | HTTPプロトコルのバージョン。 このパラメーターは、
デフォルト値: |
alb.ingress.kubernetes.io/healthcheck-method | ヘルスチェックの方法。
デフォルト値: 重要
|
alb.ingress.kubernetes.io/healthcheck-httpcode | ヘルスチェック用に返されるステータスコード。 バックエンドサーバーは、ヘルスチェックリクエストが成功し、指定されたステータスコードのいずれかが返された場合にのみ正常と見なされます。 次の1つ以上のステータスコードを選択し、複数のステータスコードをコンマ (,) で区切ることができます。
デフォルト値は、 |
alb.ingress.kubernetes.io/healthcheck-code | ヘルスチェック用に返されるステータスコード。 バックエンドサーバーは、ヘルスチェックリクエストが成功し、指定されたステータスコードのいずれかが返された場合にのみ正常と見なされます。 このパラメーターと このパラメーターの値は、
|
alb.ingress.kubernetes.io/healthcheck-timeout-seconds | ヘルスチェックのタイムアウト時間 (秒) 。 有効な値:1 から 300。 デフォルト値: |
alb.ingress.kubernetes.io/healthcheck-interval-seconds | ヘルスチェックの間隔 (秒) 。 有効値:1 〜 50 。 デフォルト値: |
alb.ingress.kubernetes.io/healthy-threshold-count | 正常と見なされるまでに、サーバーが連続してヘルスチェックに合格する必要がある回数。 設定可能な値は 1 から 100 です。 デフォルト値: |
alb.ingress.kubernetes.io/unhealthy-threshold-count | 異常と見なされるまでに、サーバーが連続してヘルスチェックに失敗する必要がある回数。 設定可能な値は 1 から 100 です。 デフォルト値: |
alb.ingress.kubernetes.io/healthcheck-connect-port | ヘルスチェックに使用されるポート。 デフォルト値: 説明 値 |
リダイレクト
注釈 | 説明 |
alb.ingress.kubernetes.io/ssl-リダイレクト | HTTPリクエストの308のステータスコードを返し、ポート443のHTTPSリスナーにリダイレクトするかどうかを指定します。 リダイレクトの設定方法の詳細については、「HTTPリクエストをHTTPSにリダイレクトする」をご参照ください。
デフォルト値: |
バックエンドサーバープロトコル
注釈 | 説明 |
alb.ingress.kubernetes.io/backend-protocol | バックエンドサーバーグループによって使用されるプロトコル。 詳細については、「HTTPSまたはgRPCプロトコルの設定」をご参照ください。
デフォルト値: 説明 リスナーでサポートされるバックエンドサーバープロトコルは、リスナータイプによって異なります。
|
書き換え
注釈 | 説明 |
alb.ingress.kubernetes.io /書き換え対象 | リクエストでパスを上書きするパス。 詳細は、「書き換えルールの設定」をご参照ください。 |
リスナー
注釈 | 説明 |
alb.ingress.kubernetes.io/listen-ports | ALB Ingressに関連付けられたリスナーのリスニングポートとプロトコル。 詳細については、「カスタムリスニングポートの設定」をご参照ください。 例:
|
スロースタート
注釈 | 説明 |
alb.ingress.kubernetes.io/slow-start-enabled | スロースタートモードを有効にするかどうかを指定します。 スロースタートモードを有効にすると、ALB Ingressはサービスバックエンドに追加された新しいポッドにトラフィックを徐々に分配し、ポッドの起動による突然のCPUとメモリのスパイクを回避します。 スロースタート設定の詳細については、「バックエンドスロースタート」をご参照ください。
デフォルトでは、このモードは無効になっています。 |
alb.ingress.kubernetes.io/slow-start-duration | スロースタートが徐々にトラフィックを増やすのにかかる時間。 持続時間が長いほど、トラフィックの増加は遅くなります。 単位は秒です。 有効な値: 30 ~ 900 既定値: |
優先度
注釈 | 説明 |
alb.ingress.kubernetes.io /オーダー | 転送ルールの優先度。 数字が小さいほど、優先度が高くなります。 詳細については、「転送ルールの優先度の設定」をご参照ください。 有効な値: 1 ~ 1000 デフォルト値: |
カナリア
注釈 | 説明 |
alb.ingress.kubernetes.io /カナリア | リクエストをカナリアにルーティングするかどうかを指定します。 詳細については、「注釈を使用してカナリアリリースを実行する」をご参照ください。
デフォルト値: |
alb.ingress.kubernetes.io/canary-by-header | カナリアにルーティングされるリクエストのヘッダー。 |
alb.ingress.kubernetes.io/canary-by-header-value | カナリアにルーティングされるリクエストのヘッダーの値。 |
alb.ingress.kubernetes.io/canary-by-cookie | カナリアにルーティングされるリクエストのcookie。 |
セッション持続性
注釈 | 説明 |
alb.ingress.kubernetes.io /スティッキーセッション | セッションの継続時間を適用するかどうかを設定します。 詳細については、「注釈を使用したセッション永続性の設定」をご参照ください。
デフォルト値: |
alb.ingress.kubernetes.io /スティッキーセッションタイプ | Cookieを処理するために使用されるメソッド。
デフォルト値: |
alb.ingress.kubernetes.io/cookie-timeout | セッション永続化タイムアウト時間 (秒) 。 有効な値: 1 ~ 86400 デフォルト値: |
接続ドレイン
注釈 | 説明 |
alb.ingress.kubernetes.io/connection-drain-enabled | 接続ドレインを有効にするかどうかを指定します。 接続のドレインが有効になっている場合、ALB Ingressは、バックエンドポッドが終了状態になったとき、またはヘルスチェックが失敗したときの一定期間、通常のトラフィックを維持します。 接続はタイムアウト期間に達した後にのみ終了します。これにより、バックエンドの突然の削除によるサービスへの影響を軽減できます。 接続ドレインの仕組みの詳細については、「接続ドレイン」をご参照ください。
デフォルト値: |
alb.ingress.kubernetes.io/connection-drain-timeout | 接続ドレインのタイムアウト期間。 単位は秒です。 有効な値: 0 ~ 900 デフォルト値: |
負荷分散
注釈 | 説明 |
alb.ingress.kubernetes.io/backend-scheduler | バックエンドサーバーグループの負荷分散アルゴリズム。 詳細については、「バックエンドサーバーグループの負荷分散アルゴリズムの指定」をご参照ください。
デフォルト値: |
alb.ingress.kubernetes.io/backend-scheduler-uch-value | 負荷分散アルゴリズムがuchの場合に使用できるURLハッシュパラメータ。 |
クロスオリジンリソース共有 (CORS)
注釈 | 説明 |
alb.ingress.kubernetes.io/enable-cors | CORSを有効にするかどうかを指定します。 詳細については、「CORS の設定」をご参照ください。
デフォルト値: |
alb.ingress.kubernetes.io/cors-allow-origin | クロスドメインリクエストを許可するオリジン。 デフォルト値: |
alb.ingress.kubernetes.io/cors-exposure-headers | 公開できるヘッダー。 |
alb.ingress.kubernetes.io/cors-allow-methods | 許可されているクロスドメイン要求のメソッド。 次の方法の1つ以上を選択できます。
デフォルト値: |
alb.ingress.kubernetes.io/cors-allow-credentials | リクエストで資格情報を保持するかどうかを指定します。
デフォルト値: |
alb.ingress.kubernetes.io/cors-max-age | ブラウザでのプリフライト要求の最大キャッシュ時間。 単位は秒です。 有効値: -1 ~ 172800 デフォルト値: 説明
|
alb.ingress.kubernetes.io/cors-allow-headers | 許可されているクロスドメイン要求のヘッダー。 デフォルト値: |
カスタム転送
注釈 | 説明 |
alb.ingress.kubernetes.io/actions.{svcName} | カスタム転送アクション。 詳細については、「ALB Ingressのルーティングルールのカスタマイズ」をご参照ください。 |
alb.ingress.kubernetes.io/conditions.{svcName} | カスタム転送条件。 |
alb.ingress.kubernetes.io/rule-direction。{svcName} | カスタム転送方向。
デフォルト値: |
その他
注釈 | 説明 |
alb.ingress.kubernetes.io/backend-keepalive | 永続的なTCP接続を有効にするかどうかを指定します。 詳細については、「永続TCP接続の設定」をご参照ください。 デフォルト値: |
alb.ingress.kubernetes.io/traffic-limit-qps | QPSスロットル。 設定可能な値は1 から 100です。 |
alb.ingress.kubernetes.io/use-regex | パスフィールドで正規表現を使用できるかどうかを指定します。 このアノテーションは、パスタイプがPrefixの場合にのみ有効です。 デフォルト値: |
AlbConfigフィールド
AlbConfigは、ALBインスタンスとそのリスナーを記述するために使用されるCustomResourceDefinition (CRD) です。 次の表では、関連するフィールドについて説明します。
Albconfig
項目 | タイプ | 説明 |
apiVersion | 固定値 | オブジェクトのAPIバージョン。 値を |
種類 | 固定値 | Kindは、オブジェクトに対応するRESTリソースを示します。 値を |
metadata | オブジェクトのメタデータ。 詳細については、「メタデータ」をご参照ください。 | |
スペック | ALBインスタンスとそのリスナーの属性を記述するために使用されるパラメーターのリスト。 | |
status | 調整後、ALBインスタンスの状態が |
AlbConfigSpec
項目 | タイプ | 説明 |
config | ALBインスタンスの属性。 | |
リスナー | ALBインスタンスのリスナーの属性。 |
LoadBalancerSpec
項目 | タイプ | 説明 |
id | String | ALBインスタンスのID。 インスタンスIDが指定されている場合、ALBインスタンスは再利用できます。 このフィールドを空のままにすると、ALB IngressコントローラーはALBインスタンスを作成します。 ALBインスタンスを作成または再利用する方法の詳細については、「AlbConfigの作成」をご参照ください。 デフォルト値: |
name | String | ALBインスタンスの名前。 デフォルト値: |
addressAllocatedMode | enum | ALBインスタンスのIPモード。
デフォルト値: |
addressType | enum | ALBインスタンスのIPv4 CIDRブロックのネットワークタイプ。
デフォルト値: |
ipv6AddressType | enum | ALBインスタンスのIPv6 CIDRブロックのネットワークタイプ。 ネットワークタイプは、ALBインスタンスのIPv4 CIDRブロックとは異なる場合があります。
デフォルト値: |
addressIpVersion | enum | ALBインスタンスがデュアルスタックをサポートするかどうかを指定します。
デフォルト値: |
resourceGroupId | String | ALBインスタンスが属するリソースグループのID。 デフォルト値: |
エディション | enum | ALBインスタンスのエディション。 このパラメーターは、再利用モードでは変更できません。
デフォルト値: |
deletionProtectionEnabled | bool | 予約済みフィールド。 このフィールドは変更しないでください。 |
forceOverride | bool | 再利用モードでALBインスタンスの属性を強制的に上書きするかどうかを指定します。
デフォルト値: |
listenerForceOverride | bool | 再利用モードでリスナーの属性を強制的に上書きするかどうかを指定します。
デフォルト値: |
zoneMappings | ゾーンとEIP (elastic IPアドレス) の設定。 | |
accessLogConfig | ログ収集の設定。 | |
billingConfig | 課金方法です。 | |
modificationProtectionConfig | 構成保護の設定。 | |
tags | ALBインスタンスのラベル。 |
ZoneMapping
項目 | タイプ | 説明 |
vSwitchId | String | vSwitch ID。 このフィールドは必須です。 デフォルト値: |
zoneId | String | vSwitchのゾーン。 デフォルト値: |
allocationId | String | EIP の ID 。 デフォルト値: |
eipType | String | 予約済みフィールド。 このフィールドは変更しないでください。 |
AccessLogConfig
項目 | タイプ | 説明 |
logProject | String | Simple Log Service (SLS) プロジェクトの名前。 デフォルト値: |
logStore | String | SLS Logstoreの名前。 デフォルト値: |
BillingConfig
項目 | タイプ | 説明 |
internetBandwidth | int | 予約済みフィールド。 このフィールドは変更しないでください。 |
internetChargeType | String | 予約済みフィールド。 このフィールドは変更しないでください。 |
payType | enum | 予約済みフィールド。 このフィールドは変更しないでください。 |
bandWidthPackageId | string[] | 関連付けられているインターネット共有帯域幅インスタンスのID。 インターネット共有帯域幅インスタンスの関連付けを解除することはできません。 デフォルト値: |
ModificationProtectionConfig
項目 | タイプ | 説明 |
理由 | String | 予約済みフィールド。 |
status | String | 予約済みフィールド。 |
タグ
項目 | タイプ | 説明 |
キー | String | ラベルのキー。 デフォルト値: |
value | String | ラベルの値。 デフォルト値: |
ListenerSpec
項目 | タイプ | 説明 |
gzipEnabled | bool | データ圧縮を有効にするかどうかを指定します。 詳細については、「データ圧縮の設定」をご参照ください。
デフォルト値: |
http2Enabled | bool | HTTP/2を有効にするかどうかを指定します。
デフォルト値: |
port | int | リスニングポートです。 このフィールドは必須です。 デフォルト値: |
protocol | enum | リスニングプロトコル。 このフィールドは必須です。
|
securityPolicyId | String | TLSセキュリティポリシーのID。 デフォルト値: |
idleTimeout | int | アイドル接続のタイムアウト期間 (秒単位) 。 デフォルト値: 説明 値0は、デフォルト値が使用されることを示します。 |
loadBalancerId | String | 予約済みフィールド。 このフィールドは変更しないでください。 |
説明 | String | リスナーの名前を示します。 デフォルトでは、 |
caEnabled | bool | 相互認証を有効にするかどうかを指定します。
デフォルト値: |
requestTimeout | int | リクエストのタイムアウト時間 (秒) 。 デフォルト値: |
quicConfig | クイックリスナーの設定。 | |
defaultActions | アクション [] | 予約済みフィールド。 このフィールドは変更しないでください。 |
caCertificates | リスナーのルートCA証明書。 | |
証明書 | リスナーのサーバー証明書。 | |
xForwardedForConfig | XForwardヘッダーの設定。 | |
logConfig | リスナーログの設定。 | |
aclConfig | アクセス制御設定。 |
QuicConfig
項目 | タイプ | 説明 |
quicUpgradeEnabled | bool | QUICアップグレードを有効にするかどうかを指定します。 QUICリスナーとHTTPSリスナーの両方を使用するシナリオでは、quicUpgradeEnabledフィールドを設定して、QUICリスナーをHTTPSリスナーに関連付けるか、QUICリスナーをHTTPSリスナーから分離します。 詳細については、「QUICリスナーを使用したHTTP/3プロトコルのサポート」をご参照ください。
デフォルト値: |
quicListenerId | String | QUICリスナーに関連付けられているHTTPSリスナー。 デフォルト値: |
証明書
項目 | タイプ | 説明 |
IsDefault | bool | 証明書がデフォルトの証明書かどうかを指定します。 詳細については、「暗号化通信のHTTPS証明書の設定」をご参照ください。
デフォルト値: 重要 デフォルト証明書は1つだけ指定できます。 |
CertificateId | String | 証明書の ID 。 デフォルト値: |
XForwardedForConfig
項目 | タイプ | 説明 |
XForwardedForClientCertSubjectDNEnabled | bool |
デフォルト値: |
XForwardedForProtoEnabled | bool | ALBインスタンスによって配信されるHTTPリクエストに
デフォルト値: |
XForwardedForClientCertIssuerDNEnabled | bool |
デフォルト値: |
XForwardedForSLBIdEnabled | bool |
デフォルト値: |
XForwardedForClientSrcPortEnabled | bool | クライアントが使用するポートに関する情報を伝えるために、ALBインスタンスによって配信されるHTTPリクエストに
デフォルト値: |
XForwardedForClientCertFingerprintEnabled | bool | クライアント証明書のフィンガープリントに関する情報を伝えるために、ALBインスタンスによって配布されるHTTPリクエストに
デフォルト値: |
XForwardedForEnabled | bool | ALBインスタンスによって配信されるHTTPリクエストに |
XForwardedForSLBPortEnabled | bool | ALBインスタンスによって配信されるHTTPリクエストに
デフォルト値: |
XForwardedForClientCertClientVerifyEnabled | bool |
デフォルト値: |
XForwardedForClientCertSubjectDNAlias | String | カスタムフィールド名。 このフィールドを指定すると、 このフィールドは、 デフォルト値: |
XForwardedForClientCertClientVerifyAlias | String | カスタムフィールド名。 このフィールドを指定すると、 このフィールドは、 デフォルト値: |
XForwardedForClientCertIssuerDNAlias | String | カスタムフィールド名。 このフィールドを指定すると、 このフィールドは、 デフォルト値: |
XForwardedForClientCertFingerprintAlias | String | カスタムフィールド名。 このフィールドを指定すると、 このフィールドは、 デフォルト値: |
XForwardedForClientSourceIpsEnabled | bool | ALBインスタンスが
デフォルト値: |
XForwardedForClientSourceIpsTrusted | String | 信頼できるプロキシIPアドレスを指定します。 有効なIPアドレスまたはCIDRブロックを入力します。 複数の値をセミコロン (
サンプル値: |
AclConfig
項目 | タイプ | 説明 |
aclName | String | AclEntryモードのネットワークACLの名前。 詳細については、「ネットワークACLの設定」をご参照ください。 デフォルト値: |
aclType | enum | アクセス制御モード。
|
aclEntries | string[] | ネットワークACLルール。 デフォルト値: 重要
|
aclIds | string[] | 既存のネットワークACLのIDのリスト。 デフォルト値: |
LogConfig
項目 | タイプ | 説明 |
accessLogRecordCustomizedHeadersEnabled | bool | ALBインスタンスのアクセスログにカスタムヘッダーを記録するかどうかを指定します。
デフォルト値: |
accessLogTracingConfig | Tracing Analysisの設定。 詳細については、「AlbConfigsを使用したXtraceに基づくTracing Analysisの有効化」をご参照ください。 |
AccessLogTracingConfig
項目 | タイプ | 説明 |
tracingEnabled | bool | Tracing Analysisを有効にするかどうかを指定します。
デフォルト値: |
tracingSample | int | Tracing Analysisのサンプリングレート。 単位: 有効な値: 1 ~ 10000 |
tracingType | enum | Tracing Analysisのサンプリングアルゴリズム。
|
AlbConfigStatus
AlbConfigStatus
、LoadBalancerStatus
、ListenerStatus
、およびAppliedCertificate
フィールドは、ALB Ingressが状態を記録するために使用する予約済みフィールドです。 これらのフィールドは変更しないでください。
項目 | 出力 | 説明 |
loadBalancer | 予約済みフィールド。 このフィールドは変更しないでください。 ALBインスタンスのステータス。 |
LoadBalancerStatus
項目 | 出力 | 説明 |
dnsname | String | 予約済みフィールド。 このフィールドは変更しないでください。 ALBインスタンスのDNSアドレス。 |
id | String | 予約済みフィールド。 このフィールドは変更しないでください。 ALBインスタンスのID。 |
リスナー | 予約済みフィールド。 このフィールドは変更しないでください。 ALBインスタンスのリスナー属性。 |
ListenerStatus
項目 | 出力 | 説明 |
portAndProtocol | String | 予約済みフィールド。 このフィールドは変更しないでください。 リスナーが使用するポートとプロトコル。 |
証明書 | 予約済みフィールド。 このフィールドは変更しないでください。 リスナーに関連付けられている証明書。 |
AppliedCertificate
項目 | 出力 | 説明 |
certificateId | String | 予約済みフィールド。 このフィールドは変更しないでください。 証明書の ID 。 |
isDefault | bool | 予約済みフィールド。 このフィールドは変更しないでください。 証明書がデフォルトの証明書かどうかを指定します。 |
関連ドキュメント
AlbConfigのパラメーターの詳細については、「AlbConfigを使用してALBインスタンスを設定する」をご参照ください。
ALB Ingressアノテーションの使用方法の詳細については、「高度なALB Ingress設定」をご参照ください。