INGRESS¶
サービスメッシュ内の複数サービスをホストするためのロードバランサー設定を機能を提供します。
設定値 |
|
---|---|
Chart |
ingress |
対応サービス¶
パッケージの機能¶
本パッケージでは、 クラスタにロードバランサーを追加するための以下の機能を提供します。
ロードバランサーの設定
Istio Gateway の設定
サービスメッシュ設定
TLS 証明書の発行/管理
ロードバランサーへの WAF 設定 (AWS,Azure の L7 alb のみ)
ロードバランサーでの OIDC 認証設定 (AWS, Google の L7 alb のみ)
Application Gateway の作成及び Ingress Controller のインストール (Azure のみ)
ロードバランサーの種類¶
本パッケージが作成できるロードバランサーには L7,L4 の二種類があり、それぞれ以下のような特徴があります。
L7 (alb)¶
ネットワークレイヤー 7 で HTTP/HTTPS 通信に対応したロードバランサー
HTTP(s)によるルーティング機能
WAF,認証プロキシ等への対応
マルチリージョンでの利用
HTTP(s)通信が目的の場合は L7 ロードバランサーの利用を推奨します。 HTTP(s)以外の通信への対応状況はクラウドベンダー毎に異なるため、個別に確認が必要です。
L4¶
ネットワークレイヤー 4 で TCP/UDP 通信に対応したロードバランサー
HTTP(s) 以外の通信要件が必要な場合にこちらを選択します。
通常 L4 ロードバランサーには HTTP ルーティング機能はありませんが、 CNAP クラスタでは Istio サービスメッシュに自動で組み込まれるため、 別途 nginx 等を導入することなく HTTP ルーティングを行うことができます。
事前準備¶
本パッケージがロードバランサーを作成するにあたり、 利用用途に応じて事前準備が必要になる場合があります。
DNS ゾーン¶
本パッケージは Kubernetes クラスタにロードバランサーを追加し、外部からクラスタ内ネットワークへの通信を可能にします。 ロードバランサーに割り当てられた IP アドレスの名前解決を行う場合は別途 DNS ゾーンの作成と、 ゾーンの委任が必要になります。
DNS ゾーンの追加には DNS パッケージを使用します。
重要
tls.certs[].type
に letsencrypt
を選択している場合、DNS 委任後証明書の自動発行に失敗する場合があります。
これは証明書の発行及び更新を管理している cert-manager の仕様の問題のため、
このような問題が発生した場合には、cert-manager の再起動を行うことで証明書が発行されるようになります。
kubectl rollout restart deployment -n cert-manager cert-manager-cert-manager
ネットワーク¶
プライベートネットワークにロードバランサーを作成する場合は、 ロードバランサーの先のネットワークを事前に準備しておく必要があります。 各クラウドベンダー毎に必要な設定手順が異なるため、後述のサンプルを参考にして、 ネットワークの設定を行います。
パブリックネットワークにロードバランサーを作成する場合は、事前準備は不要です。
固定 IP¶
本パッケージでパブリックネットワーク向けのロードバランサーに固定 IP を設定したい場合は、
事前に PUBLIC IP で IP を発行しておく必要があります。( loadBalancer.staticIp
に設定する)
IP の指定が無い場合は自動割り当てされた動的 IP が適用されます。
この IP はロードバランサーが削除されると開放され、再度作成した際には異なる IP が割り当てられます。
固定 IP の設定には利用するロードバランサーの設定ごとに以下の設定が必要になります。
vendor |
loadBalancer.type |
loadBalancer.private |
staticIp.addresses |
stawticIp.resourceRefs |
備考 |
---|---|---|---|---|---|
Azure
|
l7
|
fase
|
設定不要
|
Application Gateway と PublicIPAddress は
同じリソースグループに配置されている必要があります
リソースグループが指定されていない場合は、
CNAP 共有 Resource Group に配置されているものとして動作します
|
|
Azure |
l7 |
true |
|
設定不要 |
|
Azure |
l4 |
true/false |
|
設定不要 |
|
AWS |
l7 |
false |
設定不要 |
設定不要 |
EKS に自動割り当てされた IP が使用されます |
AWS |
l7 |
true |
設定不要 |
設定不要 |
EKS に自動割り当てされた IP が使用されます |
AWS
|
l4
|
false
|
設定不要
|
- name: PUBLIC IP マニフェスト名
- namespace: マニフェストの namespace
|
サブネットの数と同数の IP を指定します
|
AWS |
l4 |
true |
|
設定不要 |
サブネットの数と同数の IP を指定します |
Google
|
l7
|
true/false
|
設定不要
|
- name: PUBLIC IP マニフェスト名
- namespace: マニフェストの namespace
|
|
l4 |
true/false |
|
設定不要 |
Gateway の作成¶
作成したロードバランサーに対応する Istio Gateway リソースを作成します。 BASIC-DEPLOYMENT パッケージで作成したアプリケーションはこの Gateway を指定することで、追加で作成したロードバランサーからのリクエストを 受け付けることができるようになります。
BASIC-DEPLOYMENT パッケージの spec.settings.network.gatewayName
に Gateway リソースの名前を指定します。
Gateway リソースの名前は loadBalancer.gateway.name
が指定されている場合はその値、指定されていない場合はリリース名
( Application リソースの名前 )になります。
TLS 証明書¶
TLS 証明書は以下の3種類に対応しています。
Let's Encrypt¶
Cert Manager を利用し Let's Encrypt で発行します。 証明書の更新は自動で行われるため、更新作業は発生しません。
CNAP の Cert Manager はプライベート証明書には対応していないため、 プライベートネットワークにロードバランサーを作成する場合は、他の証明書を選択します。
CNAP は Cert Manager の ACME を利用した証明書発行に対応します。
デフォルトでは issuer として のマネージド DNS を利用した issuer が設定されており、
通常は tls.certs[].issuer
の設定を行う必要はありません。
独自の issuer を設定する場合は Cert Manager issuer の ACME 設定を参考にして tls.certs[].issuer
に solver の値を指定します。
tls:
certs:
- issuer:
email: user@example2.com
server: https://acme-v02.api.letsencrypt.org/directory
solvers:
- http01:
ingress:
class: istio
type: letsencrypt
secret:
name: test-tls
クラウドマネージド¶
各クラウドベンダーが発行するマネージド証明書です。 証明書の発行及び更新は自動で行われるため、更新作業は発生しません。 (AWS L7 にのみ対応)
セルフマネージド¶
独自に発行した証明書を利用する場合は、各クラウドベンダーのキーマネージメントサービス(KMS)に秘密鍵と証明書をそれぞれ登録しておくことにより利用できます。
証明書の自動更新は行われないため、期限が切れる前に KMS に登録された証明書を更新する必要があります。
Example¶
以下のExampleでは、 Application
マニフェストの settings
の部分の定義を載せています。
settings
以外のマニフェストは下記を参考にしてください。
apiVersion: managed.msp.sbopsv/v1alpha1
kind: Application
metadata:
name: ingress-l7
namespace: staging
spec:
chart:
name: ingress
version: <latest>
settings:
<ユーザ定義設定>
Example1. L4 (Azure, Google Cloud, AWS)¶
tls:
certs:
- type: letsencrypt
secret:
name: l4-tls
hosts:
- domain: "*.<customer domain>"
tlsSecret: l4-tls
name: staging
loadBalancer:
type: l4
ports:
- number: 443
name: https
protocol: HTTPS
hostRefs:
- staging
L4 ロードバランサーを利用する場合は、 loadBalancer.ports
で利用するポートを明示的に指定する必要があります。
hostRefs
にはポートを設定するホストの名前 hosts[].name
を指定します。
サブネットの指定¶
L4 ロードバランサーに設定するサブネットの設定要件。
AWS¶
リストで複数指定可能
クラスタと同一のvpc上のsubnetのみ指定可能
public の場合
EKS が private subnet に構築されている時は指定必須、
EKS が public subnet に構築されている時はクラスタネットワークと別の public subnet を指定したい場合にのみ指定する
private の場合
EKS が private subnet に構築されている時は指定任意
EKS が public subnet に構築されている時は指定必須
現状の CNAP では必ず public subnet に EKS が構築されるので、 事実上 private 接続の時には指定が必須
hosts:
- domain: "*.<customer domain>"
name: staging
loadBalancer:
type: l4
private: true
subnets:
- subnet-<subnet id>
- subnet-<subnet id>
ports:
- number: 80
name: http
protocol: HTTP
hostRefs:
- staging
Azure¶
リスト形式で記載するが、リストの先頭の値が反映される
クラスタと同一のvnet上のsubnetのみ指定可能
(armIdではなく単純な)サブネット名を指定
public の場合は指定無効
private の場合は指定任意、クラスタネットワークと別の subnet を利用したい時に指定
hosts:
- domain: "*"
name: staging
loadBalancer:
type: l4
private: true
staticIp:
addresses:
- 10.0.255.20 # frontendSubnetName内のIP
ports:
- number: 80
name: http
protocol: HTTP
hostRefs:
- staging
ロードバランサーに割り当てる IP アドレスを明示する必要があります。
IP アドレスにはロードバランサーを作成するサブネット内の IP アドレスを
loadBalancer.staticIp.addresses
に指定します。
Google¶
リスト形式で記載するが、リストの先頭の値が反映される
クラスタと同一のvpc上のsubnetのみ指定可能
public の場合は指定無効
private の場合は指定任意、クラスタネットワークと別の subnet を利用したい時に指定
Example2. Azure L7 Public¶
tls:
certs:
- type: letsencrypt
secret:
name: test-tls
hosts:
- domain: "*.<customer domain>"
tlsSecret: test-tls
name: staging
loadBalancer:
type: l7
private: false
subnets:
- appgw-subnet-01
azure:
appGateway:
create: true
vnet:
name: cnap-vnet-01
Azure で L7 ロードバランサを作成する場合はロードバランサーを配置する subnet とそれを含む vnet を指定する必要があります。
それぞれ loaBalancer.azure.appGateway.vnet.name
loadBalancer.subnets
に設定します。
vnet のリソースグループはデフォルトで CNAP の共有リソースグループが指定されますが、
任意のリソースグループを指定する場合は loaBalancer.azure.appGateway.vnet.resourceGroup
に設定します。
Azure ではパブリック、プライベート共に同一のロードバランサーに複数のドメイン設定を行うことはできません。
hosts
と tls.certs
のリストにはそれぞれ1つの設定のみ定義できます。
Example3. Azure L7 Private¶
hosts:
- domain: "*.<customer domain>"
name: staging
loadBalancer:
type: l7
private: true
staticIp:
create: false
addresses:
- 10.1.0.21
subnets:
- appgw-subnet-01
azure:
appGateway:
create: true
vnet:
name: cnap-vnet-01
Azure プライベートネットワークで L7 ロードバランサーを作成する際には、
ロードバランサーに割り当てる IP アドレスを明示する必要があります。
IP アドレスにはロードバランサーを作成するサブネット内の IP アドレスを
loadBalancer.staticIp.addresses
に指定します。
Example4. Google Cloud L7 Public¶
tls:
certs:
- type: letsencrypt
secret:
name: test-tls
hosts:
- domain: "*.<customer domain>"
tlsSecret: test-tls
name: staging
loadBalancer:
type: l7
staticIp:
resourceRefs:
- name: kimura-test-pip
Example5. Google Cloud L7 Private¶
hosts:
- domain: "*.<customer domain>"
name: staging
loadBalancer:
type: l7
private: true
Google でプライベートネットワークに L7 ロードバランサーを作成する際には、 クラスタの属する vpc ネットワーク内にプロキシサブネットを追加し、 ファイアウォールの設定を行っておく必要があります。
Example6. AWS L7 Public¶
hosts:
- domain: "*.<customer domain>"
tlsSecret: l7-tls
name: staging
tls:
certs:
- type: cloudmanaged
awsArn: arn:aws:acm:ap-northeast-1:<aws account id>:certificate/<certificate id>
loadBalancer:
type: l7
subnets:
- subnet-<subnet id>
- subnet-<subnet id>
AWS の alb で tls を使用する場合。証明書は cloudmanaged を選択する必要があります。
cloudmanaged を選択している場合は tls.awsArn
に事前に発行した証明書の ARN を指定します。
証明書の ARN はロードバランサーに対して1つのみ設定することができます。
AWS で L7 パブリックネットワークにロードバランサーを作成する場合は、クラスタに設定されたサブネットを全て指定する必要があります。
また、ロードバランサーはサブネット毎に作成されるため、固定 IP を設定する場合はサブネットと同数の固定 IP を loadBalancer.staticIp.resourceRefs
に指定する必要があります。
Example7. AWS L7 Private¶
hosts:
- domain: "*.<customer domain>"
name: staging
loadBalancer:
type: l7
private: true
subnets:
- subnet-<subnet id>
- subnet-<subnet id>
Values¶
Default values¶
# yaml-language-server: $schema=./values.schema.json
global:
vendor:
azure:
clientID:
resourceGroups:
cluster:
name:
keepOnDelete: true
# AzureでかつL7の場合には、hosts は1つのみ定義できる。domainが異なる場合には、複数Ingressパッケージをインストールする。
hosts:
- domain: # domain を指定するのはここだけにし、ingress には host を指定しない。
tlsSecret: # tls.certs[].secret.name で作成した secret名 もしくは既存secret名を指定する。
name: # port を割り当てる際のリファレンスに利用する任意の名前
tls: # tls cert を作成する場合設定する。(作成済みの cert を利用する場合は指定しない)
certs: []
# - type: # letsencript/cloudmanaged/selfmanaged 証明書の種別
# issuer: # 指定しない場合は package-registry で作成したデフォルトの issuer を使用する。
# secret:
# key: # selfmanaged の場合のみキーマネージャー上の秘密鍵のキー名を指定。
# crt: # selfmanaged の場合のみキーマネージャー上の証明書のキー名を指定。
# name: # 出力される tls secret の名前
# secretStore: #selfmanaged の場合のみキーマネージャー上の証明書のキー名を指定。
# type: # SecretStore 名(default: default)
# name: # SecretStore の種別 (default: ClusterSecretStore)
# awsArn: # aws のマネージド証明書を alb で利用する場合の arn
# aws https://kubernetes-sigs.github.io/aws-load-balancer-controller/v1.1/guide/ingress/annotation/
# azure https://github.com/Azure/application-gateway-kubernetes-ingress/blob/master/docs/annotations.md
# gc https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration?hl=ja
loadBalancer:
# Ingressリソースの名前を明示的に変更したい場合のみ設定する
# ingressName: ""
# LB に固定 IP を設定する場合に指定、ephemeral の場合は設定しない。
# L7 AWS の場合、固定IPを設定することは不可
staticIp: {}
# addresses: []
# # ip アドレスを直接指定するケース、L4 Google Cloud および L4 Azure にて利用可能
# resourceRefs:
# # public-ip パッケージにて 払い出し済みの global ip リソース名を指定するケース、L4/L7 Google Cloud、L4/L7 Azure、L4 AWS にて利用
# - name:
# # publuc-ip パッケージのリリース名を指定する。
# # 通常は [Applicationリソースのname]-application を指定すればよい。
# namespace:
# # publuc-ip パッケージをリリースした namespace を指定する。
# resourceGroup:
# # public-ip パッケージをリリースしたリソースグループ名を指定する。
# # Azureのみ指定、指定がない場合はcommonのリソースグループを参照する。
type: l4 # l4/l7
ports: [] # L4 の場合のみ指定する。L7 の場合は HTTPS を自動設定する。
# - number:
# protocol:
# name:
# hostRefs: # host と port を関連付ける場合は hosts[].name の参照を指定する。異なる tlsSecret を使用している場合は port を分ける必要がある。
# subnet指定のパターン
# * L4
# * aws
# * リストで複数指定可能
# * クラスタと同一のvpc上のsubnetのみ指定可能
# * public の場合、EKS が private subnet に構築されている時は指定必須、EKS が public subnet に構築されている時は指定任意
# * クラスタネットワークと別の public subnet を指定したい場合に指定する
# * private の場合、EKS が private subnet に構築されている時は指定任意、EKS が public subnet に構築されている時は指定必須
# * 現状の CNAP では必ず public subnet に EKS が構築されるので、 事実上 private 接続の時には指定が必須
# * azure
# * リスト形式で記載するが、リストの先頭の値が反映される
# * クラスタと同一のvnet上のsubnetのみ指定可能
# * (armIdではなく単純な)サブネット名を指定
# * public の場合は指定無効
# * private の場合は指定任意、クラスタネットワークと別の subnet を利用したい時に指定
# * gcp
# * リスト形式で記載するが、リストの先頭の値が反映される
# * クラスタと同一のvpc上のsubnetのみ指定可能
# * public の場合は指定無効
# * private の場合は指定任意、クラスタネットワークと別の subnet を利用したい時に指定
# * L7
# * aws
# * リストで複数指定可能
# * クラスタと同一のvpc上のsubnetのみ指定可能
# * public / private どちらの場合も指定必須
# * azure
# * リスト形式で記載するが、リストの先頭の値が反映される
# * クラスタと同一のvnet上のsubnetのみ指定可能
# * (armIdではなく単純な)サブネット名を指定
# * public / private どちらの場合も指定必須
# * gcp
# * リスト形式で記載するが、リストの先頭の値が反映される
# * クラスタと同一のvpc上のsubnetのみ指定可能
# * public / private どちらの場合も指定必須
subnets: []
extraRules: [] # Ingressとは別のサービスにルーティングする場合などIngressリソースのルーティングルールを別途追加したい場合のみ設定する
# - host: kong-proxy.your.domain
# http:
# paths:
# - backend:
# service:
# name: kong-proxy
# port:
# number: 80
# path: /
# pathType: Prefix
private: false # private network 用の場合は true
auth: {} # alb で OIDC 認証を行うための設定 (azure は対応しない)
# type: # 認証種別を指定する none/oidc/proxy
# secret: # OIDC 設定に必要なパラメータを設定した kms secret を指定。
# secretStore: # secret を取得する SecretStore を指定
# type: SecretStore の種別。 SecretStore もしくは ClusterSecretStore を指定 default: ClusterSecretStore
# name: 参照する SecretStore 名 default: default
# aws:
# cognitoUserPool: (cognito を利用する場合の設定)
# arn:
# clientID:
# domain:
# oidc: # OIDC 認証設定情報 (aws の場合設定、google の場合は loadBalancer.auth.secret 内で設定 )
# issuer:
# authorizationEndpoint
# tokeEndpoint:
# userInfoEndpoint:
#
waf: {}
# waf を使用する場合のみ設定する。
# waf を使用する場合は azure appGateway の sku が WAF_V2 になる。設定されていない場合は Standard_V2
# policy: # 設定済み WAF の Policy 名(Azure のみ)
# awsArn: # 設定済み WAF の ARN (AWS のみ)
annotations: {} # Ingress リソースに設定する annotation
# 以下を参考に path を設定する
# https://kubernetes.io/ja/docs/concepts/services-networking/ingress/#ingress%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9
paths: [] # デフォルトでは / に Gateway service が割り当てられるため設定の必要は無い。Gateway service によるルーティングを行ないたくない場合に設定する。
azure:
# Azure Application Gateway の設定
appGateway:
# create: # appGateway を新規作成する場合は true
# name: # 既存の appGateway を使用する場合は name を指定する。
# location: # Azure L7 の場合のみ location を指定する必要あり。指定しない場合はクラスタのロケーションに作成
# resourceGroup: # 指定しない場合 common リソースグループに作成
# autoscale:
# minCapacity:
# maxCapacity:
# vnet:
# name: application gateway を配置する vnet 名
# resourceGroup: application gateway を配置する vnet resourceGroup
agic: {}
sslPolicyName: "AppGwSslPolicy20220101"
# Istio Ingress Gateway の設定
gateway: # istio Gateway リソース及び Gateway サービスの設定
name: # Gateway リソースに設定する名前 (デフォルトはリリース名)
autoscale: # Gateway サービスのスケール設定
minReplicas: 2
maxReplicas: 5
requestTimeout:
monitoring: {} # 監視設定 (今後提供予定)
Schema reference¶
Values¶
https://github.com/sbopsv/MASTER-CONTAINER-HELM-STORAGE/blob/master/values.schema.json |
|||||||
type |
object |
||||||
properties |
|||||||
|
type |
boolean |
|||||
|
host の ドメインリスト |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
ドメイン名 |
||||||
type |
string |
||||||
|
tls名のリファレンスを指定 |
||||||
type |
string |
||||||
|
任意の値。LoadBalancer portで指定するためのリファレンス |
||||||
type |
string |
||||||
|
tls 証明書関連設定 |
||||||
type |
object |
||||||
properties |
|||||||
|
aws のマネージド証明書を alb で利用する場合の ACMの arn |
||||||
type |
string / null |
||||||
|
type |
array |
|||||
items |
type |
object |
|||||
properties |
|||||||
|
letsencript/cloudmanaged/selfmanaged 証明書の種別 |
||||||
type |
string |
||||||
enum |
letsencrypt, cloudmanaged, selfmanaged |
||||||
|
指定しない場合は package-registry で作成したデフォルトの issuer を使用する |
||||||
type |
object |
||||||
|
type |
object |
|||||
properties |
|||||||
|
出力される tls シークレットの名前 |
||||||
type |
string |
||||||
|
selfmanaged の場合のみキーマネージャー上の証明書のキー名を指定。 |
||||||
type |
string |
||||||
|
selfmanaged の場合のみキーマネージャー上の秘密鍵のキー名を指定。 |
||||||
type |
string |
||||||
|
セルフマネージド tls 証明書を使用している場合の tls 証明書保存先 eso SecretStore の指定 |
||||||
type |
object / null |
||||||
properties |
|||||||
|
SecretStore 名 |
||||||
type |
string |
||||||
default |
default |
||||||
|
SecretStore の種別 |
||||||
type |
string |
||||||
enum |
SecretStore, ClusterSecretStore |
||||||
default |
ClusterSecretStore |
||||||
|
type |
object |
|||||
properties |
|||||||
|
Ingressリソースの名前 |
||||||
type |
string |
||||||
|
Load Balancer の種別 |
||||||
type |
string |
||||||
enum |
l4, l7 |
||||||
default |
l4 |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
array |
|||||
items |
type |
string |
|||||
|
type |
array |
|||||
items |
type |
object |
|||||
properties |
|||||||
|
public-ip パッケージのリソース名 |
||||||
type |
string |
||||||
|
public-ip パッケージが作成した ip リソースの namespace |
||||||
type |
string |
||||||
|
IPリソースのリソースグループ(Azureのみ指定) |
||||||
type |
string |
||||||
|
L4 の場合のみ指定する。L7 の場合は HTTPS を自動設定する。 |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
port番号 |
||||||
type |
number |
||||||
|
プロトコル |
||||||
type |
string |
||||||
|
port名 |
||||||
type |
string |
||||||
|
どのhostに紐づけるかをhost名(hosts[].name)で指定 |
||||||
type |
array |
||||||
items |
type |
string |
|||||
|
AWS, Azureのみ。 aws privateの場合、subnet idを2つ以上指定。azure の 場合は public/private どちらの場合も subnet指定(リストだが一つのみ指定, subnet は Application Gateway と同じ Resource Group のものを指定する) |
||||||
type |
array |
||||||
items |
type |
string |
|||||
|
ロードバランサの追加ルーティングルール設定。Ingressとは別のサービスにルーティングする場合などIngressリソースのルーティングルールを別途追加したい場合のみ設定する。形式はKubernetesのIngressリソースのspec.rulesと同じ |
||||||
type |
array |
||||||
items |
type |
object |
|||||
|
private network の場合はtrue |
||||||
type |
boolean |
||||||
|
alb で OIDC 認証を行うための設定 (azure は対応しない) |
||||||
type |
object |
||||||
properties |
|||||||
|
認証種別を指定する none/oidc/proxy (cognito, google cloud iap は proxy を選択) |
||||||
type |
string |
||||||
enum |
none, oidc, proxy |
||||||
|
OIDC 設定に必要なパラメータを設定した kms secret を指定。 |
||||||
type |
string |
||||||
|
secret を取得する SecretStore を指定 |
||||||
type |
object |
||||||
properties |
|||||||
|
SecretStore 名 |
||||||
type |
string |
||||||
default |
default |
||||||
|
SecretStore の種別 |
||||||
type |
string |
||||||
enum |
SecretStore, ClusterSecretStore |
||||||
default |
ClusterSecretStore |
||||||
|
aws 固有の設定 |
||||||
type |
object |
||||||
properties |
|||||||
|
Cognito を利用して認証を行う場合の UserPool の設定 |
||||||
type |
object |
||||||
properties |
|||||||
|
cognitoUserPool の arn |
||||||
type |
string |
||||||
|
cognitoUserPool の ClientID |
||||||
type |
string |
||||||
|
cognitoUserPool の domain |
||||||
type |
string |
||||||
|
oidc を利用して認証する場合の設定(google の場合は設定を全て secret に含めるため設定不要) |
||||||
type |
object |
||||||
properties |
|||||||
|
issuer uri |
||||||
type |
string |
||||||
|
authorization endpoint の uri |
||||||
type |
string |
||||||
|
token 発行 endpoint の uri |
||||||
type |
string |
||||||
|
User 情報 endpoint の uri |
||||||
type |
string |
||||||
|
waf を使用する場合のみ設定する. waf を使用する場合は azure appGateway の sku が WAF_V2 になる。設定されていない場合は Standard_V2 |
||||||
type |
object |
||||||
properties |
|||||||
|
waf の設定参照. ingress で設定する |
||||||
type |
string |
||||||
|
AWSのみ, 紐付けしたい AWS WAF の arnを設定する |
||||||
type |
string |
||||||
|
Ingress リソースに設定する annotation |
||||||
type |
object |
||||||
|
デフォルトでは / に Gateway service が割り当てられるので、設定の必要は無い。k8s 以外のリソースにルーティングしたい場合に設定する |
||||||
type |
array |
||||||
items |
type |
string |
|||||
|
type |
object |
|||||
properties |
|||||||
|
type |
object |
|||||
properties |
|||||||
|
appGateway を新規作成する場合は true |
||||||
type |
boolean |
||||||
|
既存の appGateway を使用する場合は name を指定する |
||||||
type |
string |
||||||
|
Azure L7 の場合のみ location を指定する必要あり。指定しない場合はクラスタのロケーションに作成 |
||||||
type |
string |
||||||
|
指定しない場合 cnap 共有のリソースグループに作成 |
||||||
type |
string |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
default |
2 |
||||||
|
type |
number |
|||||
default |
10 |
||||||
|
type |
object |
|||||
properties |
|||||||
|
Application Gateway を配置する subnet を含む vnet |
||||||
type |
string |
||||||
|
Application Gateway を配置する subnet を含む vnet の Resource Group名 |
||||||
type |
string |
||||||
|
type |
object |
|||||
properties |
|||||||
|
agic helm chart のバージョン |
||||||
type |
string |
||||||
|
定義済みSSLプロファイル名 |
||||||
type |
string |
||||||
default |
AppGwSslPolicy20220101 |
||||||
|
type |
object |
|||||
properties |
|||||||
|
Gateway リソースに設定する名前 (デフォルトはリリース名) |
||||||
type |
string / null |
||||||
|
Gateway リソースに設定する selector 名 (デフォルトはゲートウェイのリソース名) |
||||||
type |
string |
||||||
|
type |
string |
|||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
default |
2 |
||||||
|
type |
number |
|||||
default |
5 |
||||||
|
リクエストタイムアウト時間 (秒) |
||||||
type |
number / null |
Change Log¶
1.0.24¶
Released on 2025-08-07
What's Changed
パッケージ内で利用しているライブラリの更新を行いました。
1.0.23¶
Released on 2025-06-26
機能と改善
海外リージョンに対応するため、内部ロジックを改修しました。
1.0.22¶
Released on 2025-05-15
What's Changed
パッケージ内で利用しているライブラリの更新を行いました。
ドキュメントの修正を行いました。
1.0.21¶
Released on 2025-05-07
What's Changed
変更ログ
- Hotfix quote requestTimeout