エンハンスドロードバランサ: sakuracloud_proxylb
Example Usage
resource "sakuracloud_proxylb" "foobar" {
name = "foobar"
plan = 100
vip_failover = true
gzip = true
timeout = 10
region = "is1"
# sticky_session = true
# proxy_protocol = true
health_check {
protocol = "http"
delay_loop = 10
host_header = "example.com"
path = "/"
}
sorry_server {
ip_address = "192.0.2.1"
port = 80
}
syslog {
server = "192.0.2.1"
port = 514
}
bind_port {
proxy_mode = "http"
port = 80
response_header {
header = "Cache-Control"
value = "public, max-age=10"
}
}
server {
ip_address = sakuracloud_server.foobar.ip_address
port = 80
group = "group1"
}
rule {
host = "www.example.com"
path = "/"
group = "group1"
}
description = "description"
tags = ["tag1", "tag2"]
}
resource sakuracloud_server "foobar" {
name = "foobar"
network_interface {
upstream = "shared"
}
}
Argument Reference
name- (Required) 名前 /1-64文字で指定vip_failover- (Optional) VIPフェイルオーバ機能の有効フラグ / この値を変更するとリソースの再作成が行われるplan- (Optional) プラン / 次のいずれかを指定[100/500/1000/5000/10000/50000/100000]/ この値を変更するとリソースの再作成が行われる / デフォルト:100region- (Optional) エンハンスドロードバランサが配置されるリージョン /anycastを指定した場合は複数リージョンに設置される / 次のいずれかを指定[tk1/is1/anycast]/ この値を変更するとリソースの再作成が行われる / デフォルト:is1timeout- (Optional) 実サーバの通信タイムアウト秒数 / デフォルト:10gzip- (Optional) コンテンツ配信時のgzip圧縮の有効フラグproxy_protocol- (Optional) Proxy Protocol v2の有効フラグsyslog- (Optional) ログ出力先となるSyslogサーバ設定。詳細はsyslogブロックを参照
syslogブロック
server- (Optional) サーバのIPアドレスport- (Optional) ポート番号
証明書関連
certificate- (Optional) 証明書設定。詳細はcertificateブロックを参照
certificateブロック
Note
server_certとprivate_key、intermediate_certはエンハンスドロードバランサ ACME設定リソース(sakuracloud_proxylb_acme)を利用すると上書きされます。
additional_certificate- (Optional) 追加証明書のリスト。詳細はadditional_certificateブロックを参照intermediate_cert- (Optional) 中間証明書private_key- (Optional) 秘密鍵server_cert- (Optional) サーバ証明書
additional_certificateブロック
server_cert- (Required) サーバ証明書private_key- (Required) 秘密鍵intermediate_cert- (Optional) 中間証明書
バランシング動作
bind_port- (Required) 待ち受けポート設定のリスト。詳細はbind_portブロックを参照backend_http_keep_alive- (Optional) 実サーバとのHTTP持続接続[safe(デフォルト)/aggressive]health_check- (Required) ヘルスチェック設定。詳細はhealth_checkブロックを参照rule- (Optional) 振り分けルール設定のリスト。詳細はruleブロックを参照server- (Optional) 実サーバ設定のリスト。詳細はserverブロックを参照sorry_server- (Optional) ソーリーサーバ設定。詳細はsorry_serverブロックを参照sticky_session- (Optional) Stickyセッションの有効フラグ
bind_portブロック
proxy_mode- (Required) プロキシモード / 次のいずれかを指定[http/https/tcp]port- (Optional) 待ち受けポート番号redirect_to_https- (Optional) httpからhttpsへのリダイレクト有効化フラグ /proxy_modeがhttpの場合のみ有効response_header- (Optional) レスポンスに付与するHTTPヘッダのリスト。詳細はresponse_headerブロックを参照support_http2- (Optional) HTTP/2を有効にするフラグ /proxy_modeがhttpsの場合のみ有効ssl_policy- (Optional) SSLポリシー / 次のいずれかを指定[TLS-1-2-2019-04/TLS-1-2-2021-06/TLS-1-3-2021-06]
response_headerブロック
header- (Required) ヘッダ名value- (Required) 値
health_checkブロック
protocol- (Required) プロトコル / 次のいずれかを指定[http/tcp]delay_loop- (Optional) チェック間隔秒数 /10-60の範囲で指定host_header- (Optional) HTTPチェック時のHostヘッダの値path- (Optional) HTTPチェック時のリクエストパスport- (Optional) TCPチェック時のポート番号
ruleブロック
action- (Optional) マッチした場合のアクション / 次のいずれかを指定[forward(デフォルト)/redirect/fixed]group- (Optional) 振り分け先グループ名 /hostとpathにマッチするリクエストを受信した場合に同じgroupの値を持つ実サーバに振り分けられる /1-10文字で指定source_ips- (Optional) 送信元IPアドレス or CIDRブロック、複数指定する場合は空白またはカンマ区切りで指定host- (Optional) リクエストのHostヘッダpath- (Optional) リクエストパスrequest_header_name- (Optional) リクエストヘッダ名request_header_value- (Optional) リクエストヘッダ値request_header_value_ignore_case- (Optional) リクエストヘッダ値大/小文字request_header_value_not_match- (Optional) リクエストヘッダ値条件
固定応答:
* fixed_content_type - (Optional) 固定応答で返すContent-Type/次のいずれかを指定[text/plain/text/html/application/javascript/application/json]
* fixed_message_body - (Optional) 固定応答で返すボディ
* fixed_status_code - (Optional) 固定応答で返すステータスコード/次のいずれかを指定[200/403/503]
リダイレクト:
* redirect_location - (Optional) リダイレクト先/詳細は https://manual.sakura.ad.jp/cloud/appliance/enhanced-lb/#enhanced-lb-rule を参照
* redirect_status_code - (Optional) リダイレクトで返すステータスコード/次のいずれかを指定[301/302]
serverブロック
ip_address- (Required) IPアドレスport- (Required) ポート番号 /1-65535の範囲で指定enabled- (Optional) 有効フラグgroup- (Optional) 振り分け先グループ名 / 振り分けの挙動についてはruleブロックを参照
sorry_serverブロック
ip_address- (Required) IPアドレスport- (Optional) ポート番号
Common Arguments
description- (Optional) 説明 /1-512文字で指定icon_id- (Optional) アイコンIDtags- (Optional) タグ
Timeouts
timeoutsブロックでカスタムタイムアウトが設定可能です。
create- 作成 (デフォルト: 5分)update- 更新 (デフォルト: 5分)delete- 削除 (デフォルト: 5分)
Attribute Reference
id- IDfqdn- エンハンスドロードバランサにアクセスするためのFQDN / 通常CNAMEレコードの値として利用するproxy_networks- エンハンスドロードバランサが実サーバにアクセスする際のアクセス元CIDRブロックのリストvip- 現在の仮想IPアドレス
Import
IDを指定する事でインポート可能です。
$ terraform import sakuracloud_proxylb.example 123456789012