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

:ALB Ingress GlobalConfiguration ディクショナリ

最終更新日:Dec 27, 2024

このトピックでは、アプリケーションロードバランサー (ALB) Ingress でサポートされているアノテーションと AlbConfig フィールドの使用方法について説明します。アノテーションを使用して、転送ルール、セッション永続性、およびヘルスチェックを設定できます。

ALB Ingress でサポートされているアノテーション

ALB Ingress にアノテーションを追加して、ALB 関連の設定を行うことができます。

アドレスプールにヘルスチェックタスクを作成する

アノテーション

有効な値

デフォルト値

説明

alb.ingress.kubernetes.io/healthcheck-enabled

  • true

  • false

false

バックエンドサーバーグループのヘルスチェックを有効にするかどうかを指定します。

alb.ingress.kubernetes.io/healthcheck-path

string

/

ヘルスチェックリクエストの送信先パス。

alb.ingress.kubernetes.io/healthcheck-protocol

  • HTTP

  • TCP

HTTP

ヘルスチェックに使用されるプロトコル。

alb.ingress.kubernetes.io/healthcheck-method

  • HEAD

  • POST

  • GET

HEAD

ヘルスチェック方式。

alb.ingress.kubernetes.io/healthcheck-httpcode

http_2xx, http_3xx, http_4xx, and http_5xx

http_2xx

ヘルスチェックに使用されるステータスコード。

次のステータスコードのいずれかまたは複数を選択できます:http_2xx、http_3xx、http_4xx、http_5xx。

alb.ingress.kubernetes.io/healthcheck-timeout-seconds

1~300

5

ヘルスチェックのタイムアウト期間(秒)。

alb.ingress.kubernetes.io/healthcheck-interval-seconds

1~50

2

ヘルスチェックの間隔。

alb.ingress.kubernetes.io/healthy-threshold-count

2~10

3

サーバーが正常と見なされるまでに連続してヘルスチェックに合格する必要がある回数。

alb.ingress.kubernetes.io/unhealthy-threshold-count

2~10

3

サーバーが異常と見なされるまでに連続してヘルスチェックに失敗する必要がある回数。

alb.ingress.kubernetes.io/healthcheck-connect-port

0~65535

0

ヘルスチェックに使用されるポート。

値を 0 に設定すると、バックエンドサーバーのポートがヘルスチェックに使用されます。

リダイレクト

アノテーション

有効な値

デフォルト値

説明

alb.ingress.kubernetes.io/ssl-redirect

  • true

  • false

false

HTTP リクエスト (301) を HTTPS リクエスト (443) にリダイレクトするかどうかを指定します。

バックエンドプロトコル

アノテーション

有効な値

デフォルト値

説明

alb.ingress.kubernetes.io/backend-protocol

  • http

  • https

  • grpc

http

  • HTTP リスナーでサポートされているバックエンドサーバーグループのプロトコルは、HTTP と HTTPS です。

  • HTTPS リスナーでサポートされているバックエンドサーバーグループのプロトコルは、HTTP、HTTPS、および gRPC です。

  • QUIC リスナーでサポートされているバックエンドサーバーグループのプロトコルは HTTP です。

書き換え

アノテーション

有効な値

デフォルト値

説明

alb.ingress.kubernetes.io/rewrite-target

string

なし

リクエスト内のパスを上書きするパス。

リスナー

アノテーション

有効な値

デフォルト値

説明

alb.ingress.kubernetes.io/listen-ports

  • '[{"HTTP": 80}]'

  • '[{"HTTPS": 443}]'

  • '[{"HTTP": 80},{"HTTPS": 443}]'

  • '[{"QUIC": 443}]'

'[{"HTTP": 80},{"HTTPS": 443}]'

リスナーポートをプロトコルに関連付けます。

優先順位

アノテーション

有効な値

既定値

説明

alb.ingress.kubernetes.io/order

1~1000

10

転送ルールの優先順位。

カナリア

アノテーション

有効な値

既定値

説明

alb.ingress.kubernetes.io/canary

  • true

  • false

false

カナリアにリクエストをルーティングするかどうかを指定します。

alb.ingress.kubernetes.io/canary-by-header

string

なし

カナリアにルーティングされるリクエストのヘッダー。

alb.ingress.kubernetes.io/canary-by-header-value

string

なし

カナリアにルーティングされるリクエストのヘッダーの値。

alb.ingress.kubernetes.io/canary-by-cookie

string

なし

カナリアにルーティングされるリクエストの Cookie。

alb.ingress.kubernetes.io/canary-weight

string

なし

カナリアに送信されるリクエストの割合。値は 0 から 100 までの整数です。

セッション永続性

アノテーション

有効な値

既定値

説明

alb.ingress.kubernetes.io/sticky-session

  • true

  • false

false

セッション永続性を有効にするかどうかを指定します。

alb.ingress.kubernetes.io/sticky-session-type

  • Insert

  • Server

Insert

Cookieの処理方法。

alb.ingress.kubernetes.io/cookie-timeout

1~86400

1000

セッション永続性のタイムアウト期間 (秒単位)。

ロード バランシング

アノテーション

有効な値

既定値

説明

alb.ingress.kubernetes.io/backend-scheduler

  • wrr (加重ラウンドロビン)

  • wlc (加重最小接続数)

  • sch (送信元 IP アドレス ハッシュ)

  • uch (URI ハッシュ)

wrr

ロード バランシング アルゴリズム。

alb.ingress.kubernetes.io/backend-scheduler-uch-value

string

なし

このアノテーションは、ロード バランシング アルゴリズムが uch に設定されている場合に使用できます。

クロスオリジン リソース共有 (CORS)

アノテーション

有効な値

既定値

説明

alb.ingress.kubernetes.io/enable-cors

  • true

  • false

false

CORS を有効にするかどうかを指定します。

alb.ingress.kubernetes.io/cors-allow-origin

string

*

クロスドメイン要求を許可するオリジン。

alb.ingress.kubernetes.io/cors-expose-headers

stringArray

なし

公開できるヘッダー。

alb.ingress.kubernetes.io/cors-allow-methods

次の値を 1 つ以上選択します。

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • OPTIONS

  • PATCH

"GET, PUT, POST, DELETE, PATCH, OPTIONS"

許可されるクロスドメイン要求のメソッド。

alb.ingress.kubernetes.io/cors-allow-credentials

  • true

  • false

true

要求で資格情報を許可するかどうかを指定します。

alb.ingress.kubernetes.io/cors-max-age

-1 から 172800 (秒)

172800

ブラウザーでのプリフライト要求の最大キャッシュ時間。

alb.ingress.kubernetes.io/cors-allow-headers

stringArray

"DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization"

許可されるクロスドメイン要求のヘッダー。

カスタム転送

アノテーション

有効な値

デフォルト値

説明

alb.ingress.kubernetes.io/actions.{svcName}

json

なし

カスタム転送アクション。

alb.ingress.kubernetes.io/conditions.{svcName}

json

なし

カスタム転送条件。

alb.ingress.kubernetes.io/rule-direction.{svcName}

  • リクエスト

  • レスポンス

リクエスト

カスタム転送方向。

その他

アノテーション

有効な値

既定値

説明

alb.ingress.kubernetes.io/backend-keepalive

  • true

  • false

false

永続的な TCP 接続を有効にするかどうかを指定します。

alb.ingress.kubernetes.io/traffic-limit-qps

1~100000

なし

QPS スロットリング。

alb.ingress.kubernetes.io/use-regex

  • true

  • false

false

パスフィールドで正規表現を使用できるかどうかを指定します。このアノテーションは、パスの種類がプレフィックスの場合にのみ有効です。

AlbConfig フィールド

AlbConfig は、ALB インスタンスとそのリスナーを記述するために使用される CustomResourceDefinition (CRD) です。次の表は、関連するフィールドについて説明しています。

Albconfig

フィールド

有効値

デフォルト値

説明

apiVersion

alibabacloud.com/v1

なし

オブジェクトのAPIバージョン。

kind

AlbConfig

なし

オブジェクトに対応するRESTリソース。

metadata

ObjectMeta

なし

オブジェクトのメタデータ。

詳細については、メタデータを参照してください。

spec

AlbConfigSpec

なし

ALBインスタンスとそのリスナーの属性を記述するために使用されるパラメーターのリスト。

status

AlbConfigStatus

なし

ALBインスタンスのステータスは、調整後にstatusフィールドに書き込まれます。このフィールドの値は、ALBインスタンスの現在のステータスを示します。

AlbConfigSpec

フィールド

有効な値

既定値

説明

config

LoadBalancerSpec

なし

ALB インスタンスの属性。

listeners

ListenerSpec

なし

ALB インスタンスのリスナーの属性。

LoadBalancerSpec

フィールド

有効な値

デフォルト値

説明

id

string

""

ALBインスタンスのID。インスタンスIDを指定すると、ALBインスタンスを再利用できます。

name

string

k8s-{namespace}-{name}-{hashCode}

ALBインスタンスの名前。

addressAllocatedMode

  • Dynamic

  • Fixed

Dynamic

ALBインスタンスのアドレスモード。

addressType

  • Internet

  • Intranet

Internet

ALBインスタンスのIPv4 CIDRブロックのネットワークタイプ。

ipv6AddressType

  • Internet

  • Intranet

Intranet

ALBインスタンスのIPv6 CIDRブロックのネットワークタイプ。

addressIpVersion

  • IPv4

  • DualStack

IPv4

プロトコルのバージョン。

resourceGroupId

string

デフォルトのリソースグループ

ALBインスタンスが属するリソースグループのID。

edition

  • Standard

  • StandardWithWaf

Standard

ALBインスタンスの機能バージョン。

deletionProtectionEnabled

*bool

null

予約フィールド。このフィールドは調整できません。

forceOverride

*bool

false

再利用モードでALBインスタンスの属性を強制的に上書きするかどうかを指定します。

listenerForceOverride

*bool

null

再利用モードでリスナーの属性を強制的に上書きするかどうかを指定します。

zoneMappings

ゾーンマッピング

なし

ゾーンとElastic IP Address(EIP)の構成。

accessLogConfig

アクセスログの設定

なし

ログ収集の設定。

billingConfig

課金設定

なし

課金方法。

modificationProtectionConfig

変更保護の設定

なし

構成読み取り専用モードの設定。

tags

タグ

なし

ALBインスタンスのタグ。

ゾーンマッピング

フィールド

有効な値

デフォルト値

説明

vSwitchId

string

""

必須。

vSwitch の ID。

zoneId

string

""

自動的に指定されます。

vSwitch のゾーン。

allocationId

string

""

EIP の ID。

eipType

string

""

予約フィールド。

AccessLogConfig

フィールド

有効な値

既定値

説明

logStore

string

""

Simple Log Serviceログストアの名前。

logProject

string

""

Simple Log Serviceプロジェクトの名前。

BillingConfig

フィールド

有効な値

デフォルト値

説明

internetBandwidth

int

0

予約フィールド。

internetChargeType

string

""

予約フィールド。

payType

PostPay

PostPay

課金方法。

bandWidthPackageId

string

""

関連付けられているインターネット共有帯域幅インスタンスのID。インターネット共有帯域幅インスタンスの関連付けを解除することはできません。

ModificationProtectionConfig

フィールド

有効な値

デフォルト値

説明

reason

string

""

予約フィールド。

status

string

""

予約フィールド。

タグ

フィールド

有効な値

既定値

説明

key

""

""

ラベルのキー。

value

""

""

ラベルの値。

ListenerSpec

フィールド

有効な値

デフォルト値

説明

gzipEnabled

  • null

  • true

  • false

null

圧縮を有効にするかどうかを指定します。

http2Enabled

  • null

  • true

  • false

null

HTTP/2 を使用するかどうかを指定します。

port

  • int

  • string

0

必須。

リスニングポート。

protocol

  • HTTP

  • HTTPS

  • QUIC

""

必須。

リスナープロトコル。

securityPolicyId

string

""

TLS セキュリティポリシーの ID。

idleTimeout

int

60

アイドル状態の接続タイムアウト期間。

説明

値 0 は、デフォルト値が使用されることを示します。

loadBalancerId

string

""

予約フィールド。

description

string

ingress-auto-listener-{port}

リスナーの名前。

caEnabled

bool

false

予約フィールド。

requestTimeout

int

60

リクエストのタイムアウト期間。

quicConfig

QuicConfig

QUIC リスナー構成。

defaultActions

Action

null

予約フィールド。

caCertificates

証明書

null

予約フィールド。

certificates

証明書

null

リスナーのサーバー証明書。

xForwardedForConfig

XForwardedForConfig

なし

XForward ヘッダーの構成。

logConfig

LogConfig

なし

予約フィールド。

aclConfig

AclConfig

なし

アクセス制御の構成。

QuicConfig

フィールド

有効な値

既定値

説明

quicUpgradeEnabled

bool

false

QUIC アップグレードを有効にするかどうかを指定します。

quicListenerId

string

""

QUIC リスナー。

証明書

フィールド

有効値

既定値

説明

IsDefault

bool

false

現在の証明書が既定の証明書であるかどうかを指定します。

説明

各サービスまたはシステムは、1つの既定の証明書のみを持つことができます。

CertificateId

string

""

証明書のID。

優先順位

フィールド

アノテーション

有効な値

デフォルト値

XForwardedForClientCertSubjectDNAlias

string

""

カスタムヘッダーの名前です。

このフィールドは、XForwardedForClientCertSubjectDNEnabledtrue に設定されている場合にのみ有効です。

XForwardedForClientCertSubjectDNEnabled

bool

false

クライアント証明書の所有者に関する情報を取得するために X-Forwarded-Clientcert-subjectdn ヘッダーを使用するかどうかを指定します。

XForwardedForProtoEnabled

bool

false

ALBインスタンスのリスナー プロトコルを取得するためにX-Forwarded-Protoヘッダーを使用するかどうかを指定します。

XForwardedForClientCertIssuerDNEnabled

bool

false

クライアント証明書を発行した認証局に関する情報を取得するために、X-Forwarded-Clientcert-issuerdn ヘッダーを使用するかどうかを指定します。

XForwardedForSLBIdEnabled

bool

false

X-Forwarded-For-SLB-ID ヘッダーを使用して ALB インスタンスの ID を取得するかどうかを指定します。

XForwardedForClientSrcPortEnabled

bool

false

クライアントポートを取得するために X-Forwarded-Client-Port ヘッダーを使用するかどうかを指定します。

XForwardedForClientCertFingerprintEnabled

bool

false

クライアント証明書のフィンガープリントを取得するために X-Forwarded-Clientcert-fingerprint ヘッダーを使用するかどうかを指定します。

XForwardedForEnabled

bool

false

クライアント IP アドレスを取得するために X-Forwarded-For ヘッダーを使用するかどうかを指定します。

XForwardedForSLBPortEnabled

bool

false

X-Forwarded-Port ヘッダーを使用して ALB インスタンスのリスナーポートを取得するかどうかを指定します。

XForwardedForClientCertClientVerifyAlias

string

""

カスタムヘッダーの名前です。

このフィールドは、XForwardedForClientCertClientVerifyEnabledtrue に設定されている場合にのみ有効です。

XForwardedForClientCertIssuerDNAlias

string

""

カスタムヘッダーの名前です。

このフィールドは、XForwardedForClientCertIssuerDNEnabledtrue に設定されている場合にのみ有効です。

XForwardedForClientCertFingerprintAlias

string

""

カスタムヘッダーの名前です。

このフィールドは、XForwardedForClientCertFingerprintEnabledtrue に設定されている場合にのみ有効です。

alb.ingress.kubernetes.io/order

1~1000

10

X-Forwarded-Clientcert-clientverify ヘッダーを使用してクライアント証明書の検証結果を取得するかどうかを指定します。

カナリア

アノテーション

有効な値

デフォルト値

説明

aclName

string

なし

AclEntry モードのネットワーク ACL の名前。

alb.ingress.kubernetes.io/canary

  • true

""

ネットワーク ACL の種類。ブラックリストまたはホワイトリストを指定できます。

aclEntries

string

null

ACL ルール。

aclIds

stringArray

null

既存のネットワーク ACL の ID です。

AlbConfigStatus

フィールド

出力

デフォルト値

説明

loadBalancer

LoadBalancerStatus

なし

ALB インスタンスの状態。

LoadBalancerStatus

フィールド

出力

既定値

説明

dnsname

string

なし

ALB インスタンスの DNS アドレス。

id

string

なし

ALB インスタンスの ID。

listeners

ListenerStatus

なし

リスナーの属性。

リスナーの状態

フィールド

出力

説明

portAndProtocol

string

80/HTTP

リスナーとプロトコルの構成。

certificates

適用された証明書

なし

関連付けられている証明書。

セッション永続性

フィールド

出力

説明

certificateId

string

xxxx-cn-hangzhou

証明書のID。

isDefault

bool

true

証明書がデフォルト証明書であるかどうかを指定します。

参考資料

  • ALB Ingress は、クラウドネイティブアプリケーションの高弾性と大規模なレイヤー 7 トラフィック管理の要件を満たします。詳細については、ALB Ingress を使用したアクセスサービス を参照してください。

  • ALB Ingress のアノテーションの使用方法の詳細については、ALB Ingress の高度な構成 を参照してください。