tencent cloud

CLBによるHTTPSアクセスの提供

PDF
フォーカスモード
フォントサイズ
最終更新日: 2026-02-04 14:24:01
現在、ほとんどのアプリケーションはHTTPアクセス機能を提供しています。お客様にHTTPS証明書とドメイン名の紐付けを直接統合する方法を支援したい場合は、このドキュメントを参照してください。


インストールパラメータの宣言

pacakge.yamlでインストールパラメータを宣言します:
args:
- name: app_certification
label: SSL証明書
widget: certificate-select
optional: true
- name: app_domain
label:ドメイン名
widget: domain-input
optional: true
certId: ${app_certification.certId}
certificate-selectとdomain-inputの2つのパラメータを宣言しており、それぞれ顧客の証明書とドメイン名の入力を受け取ります。ドメインコンポーネントで証明書IDを紐付けることで、ユーザーが証明書と互換性のあるドメイン名を選択または入力するのに役立ちます。

リソーススタックの宣言

variable.tf で二つの変数を追加し、インストールパラメータを受け取ります:
variable "app_certification" {
type = object({
certId = string
})
}

variable "app_domain" {
type = object({
domain = string
})
}
deployment.tfで、CLBのインスタンス、リスナー、および対応する転送ルールを定義します:
# CLBインスタンスの宣言
resource "tencentcloud_clb_instance" "open_clb" {
# ロードバランシングインスタンスのネットワークタイプ、OPEN:パブリックネットワーク、INTERNAL:プライベートネットワーク
network_type = "OPEN"
# セキュリティグループ
security_groups = [var.sg.security_group.id]
# VPC
vpc_id = var.app_target.vpc.id
# サブネット
subnet_id = var.app_target.subnet.id
# デフォルトの許可を有効にします。つまり、Target が CLB からのトラフィックを許可します。
load_balancer_pass_to_target = true
}

# CLB HTTPSリスナーの宣言
resource "tencentcloud_clb_listener" "https_listener" {
clb_id        = tencentcloud_clb_instance.open_clb.id
listener_name = "https_listener"
# CLB が 443 ポートを監視し、HTTPS アクセスをサポートします。
port          = 443
protocol      = "HTTPS"
# ここではインストールパラメータで宣言された証明書を使用します
certificate_id       = var.app_certification.certId
certificate_ssl_mode = "UNIDIRECTIONAL"
}

# CLB転送ルールの宣言
resource "tencentcloud_clb_listener_rule" "https_rule" {
clb_id      = tencentcloud_clb_instance.open_clb.id
listener_id = tencentcloud_clb_listener.https_listener.id
# ここにインストールパラメータで宣言されたドメインを設定します。これは、リクエストがこのドメインに対するものである場合に転送を行います。
domain = var.app_domain.domain
# どのパスを転送するか、ここでルートパスを設定し、サイト全体を転送します。
url = "/"
}

# CLBバックエンドサービスの紐付けを宣言し、転送ルールにヒットしたトラフィックをCVMに転送します。
resource "tencentcloud_clb_attachment" "clb_backend" {
clb_id      = tencentcloud_clb_instance.open_clb.id
listener_id = tencentcloud_clb_listener.https_listener.id
rule_id     = tencentcloud_clb_listener_rule.api_https_rule.id
targets {
# CVM インスタンスID(実際のインスタンスIDに置き換えてください)
instance_id = tencentcloud_instance.demo_cvm[0].id
# 当社のCVMが3000のhttpポートを開放していると仮定します。
port = 3000
# 重み
weight = 100
}
}

原理

CLB 製品はロードバランシングとして設計されていますが、証明書のアンインストール機能にも対応しています。クライアントに対してHTTPSポートを提供し、バックエンドでソフトウェアのHTTPポートに転送します。


完成例

完全なサンプルにはGithubにアクセスして取得することが可能です。

その他のソリューション

CLBを除いて、TKEの七層Service、CDNEdgeOneなどのアクセラレーション製品も、証明書のデプロイメントをサポートします。後続のMarketplaceは、より多くの統合例を提供して参考にします。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック