tencent cloud

インストールパラメータ、変数とアウトプットの使用

PDF
フォーカスモード
フォントサイズ
最終更新日: 2026-02-04 14:24:01

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

インストールパラメータは、お客様がソフトウェアを適切な方法でインストールすることを可能にします。一般的なシナリオには以下があります:
指定されたプライベートネットワーク(VPC)およびサブネット(Subnet)内にインストールを選択することで、ネットワーク設計を実施します。
顧客のセキュリティグループ(Security Group)を選択し、ネットワークアクセスポリシーを実施します。
使用するマシンタイプを選択することで、ユーザーの実際の容量ニーズにより適切に合致させます。
最終デプロイ対象のドメインと証明書を選択することで、証明書の自動デプロイを実現します。

package.yamlでインストールパラメータを宣言する

インストールパッケージはpackage.yamlでインストールパラメータを宣言することができ、Marketplaceはこれらの宣言されたインストールパラメータに対応するインストール画面を生成します。以下の例はMarketplaceテンプレートCT_001_cvm-ipからのものです。
# <package.yaml>
# カスタムインストールパラメータで、widgetによるインストールフォーム宣言を取得します。
args:
- name: app_target
label: ターゲットネットワーク
widget: subnet-select
- name: cvm_type
lable: クラウドサーバータイプ
widget: cvm-instance-type-select
region: ${app_target.region}
zone: ${app_target.subnet.zone}
- name: sg
label: セキュリティグループ
widget: security-group-select
regions:
- ${app_target.region}




インストールパラメータを宣言する際に、package.yamlで使用されるフィールドは、以下の通りです:
フィールド
説明
args
argsを使用してパラメータリストを宣言し、各項目はパラメータです。インストール画面は宣言された順序に従ってインストールコンポーネントを表示します。
args[i].name
パラメータ識別子は、Terraformで使用する変数名として後で宣言するものです。
args[i].label
パラメータ名です。インストール画面にそのパラメータ名が表示されます。
args[i].widget
パラメータで使用するインストールコンポーネントです。対応するコンポーネントの詳細はインストールパラメータマニュアルをご参照ください。
args[i].region
args[i].zone
...
パラメータのインストールコンポーネント設定では、コンポーネントタイプごとに異なる設定フィールドがあります。詳細はインストールパラメータマニュアルをご参照ください。
コンポーネントの設定は、通常、ユーザー入力時に、より詳細な選択範囲を提供します。例えば、ユーザーがターゲットネットワークを選択した後、サーバータイプは、ターゲットサブネットがサポートするインスタンスタイプの範囲に限定でき、無効な選択を避けることができます。
args[i].when
(高度な使用方法)パラメータの表示条件です。パラメータはデフォルトではインストール画面に表示されず、whenの条件を満たした場合にのみ表示されます。インストールコンポーネントのフォーム連動に使用できます。
args[i].hidden
(高度な使用方法)パラメータの非表示条件です。デフォルトのパラメータはインストール画面に表示されますが、whenの条件を満たす場合に非表示になります。インストールコンポーネントのフォーム連動に使用できます。
args[i].validator
(高度な使用方法)パラメータの検証ルールは、ユーザーの設定ミスを減らすのに役立ちます。

tfファイルでのインストールパラメータの使用

package.yamlファイルでインストールパラメータを定義した後、tfファイルで使用を宣言できます。以下の例はCT_001_cvm-ipからのものです。
# <variable.tf>
#CVMインスタンスタイプ選択の変数
variable "cvm_type" {
type = object({
region        = string
region_id     = string
zone          = string
instance_type = string
})
}
異なるタイプのインストールパラメータでは、変数値のtypeが異なります。詳細はインストールパラメータマニュアルをご参照ください。
宣言後は、通常のTerraform変数として使用できます。
# <deployment.tf>
resource "tencentcloud_instance" "demo_cvm" {
# CVMインスタンスタイプ
instance_type = var.cvm_type.instance_type
}

変数

変数宣言

インストールパッケージでは、使用されるすべての変数を宣言する必要があります:
# <variable.tf>
# CVMモデルタイプ選択変数
variable "cvm_type" {
type = object({
region        = string
region_id     = string
zone          = string
instance_type = string
})
}
リソースブロックと同様に、変数ブロックvariableを使用して変数を宣言します。上記の宣言ではcvm_typeが変数名となり、リソースブロック内でvar.cvm_typeと記述することで参照できます。

変数分離実践

変数を使用することで、リソースオーケストレーションのパラメータを効果的に管理できます。例えば、サービスプロバイダーがオーケストレーションアーキテクチャが基本的に同一の2つのコンポーネントを持ち、サーバーイメージのみが異なる場合、イメージIDを変数として抽出することが可能です。
実践では、インストールパッケージのinfrastructureディレクトリでvariable.tfとdeployment.tfを使用して変数とオーケストレーション部分を分離することを推奨します。Marketplaceのテンプレートライブラリから、より多くの実践的な参考情報を入手できます。

変数タイプ

インストールパッケージにおいて、使用可能な変数は二種類に分けられます:システム変数とアプリ変数です。
システム変数:デプロイに必要な情報を提供するために使用されます。例えば、イメージリポジトリのアドレスとクレデンシャル、CAMロール情報などです。プレフィックスとしてcloudapp_を使用し、すべてのインストールパッケージで利用可能です。
パラメータ変数package.yamlで定義されたアプリケーションパラメータは、対応するアプリケーション変数を生成し、変数名はパラメータ名となります。
普通変数:アプリケーション自身が宣言する使用変数です。例えば、クラウドサーバーイメージ ID、データベース基本設定などです。
システム変数のリストと詳細については、システム変数マニュアルを参照してください。アプリケーションパラメータの設定方法については、インストールパラメータマニュアルを参照してください。
変数の使用は必ず宣言する必要があります。
システム変数とアプリケーション変数の値はいずれも自動注入されますが、TFファイルで使用する際には宣言が必須です。宣言せずに直接使用した変数は、インストールパッケージのパッケージング失敗につながります。

出力

アプリケーションのインストール結果は、お客様にご提供する必要があります。例えば、アプリのアクセスアドレス、管理システムのアドレス、または管理システムの初期パスワードなどです。tfファイルでoutputを宣言することで実現できます。
output "main" {
value = "https://my.${var.selected_domain}"
# value = "http://${tencentcloud_instance.cloudapp_cvm.public_ip}:8080"
description = "アクセス入口"
}
output "a_admin_url" {
value = "https://admin.${var.selected_domain}"
description = "運営システム"
}
output "b_admin_default_user" {
value = "admin"
description = "デフォルト管理者ユーザー"
}
output "c_admin_default_password" {
value = random_password.default_admin.result
description = "デフォルト管理者パスワード"
sensitive = true
}
注意:
変数名がmainである出力を追加し、valueをURLに設定することをお勧めします。この値は顧客アプリケーションのデフォルト起動URLとして使用されます。
sensitive = trueが宣言されている場合、機密情報を表します(顧客は機密情報インターフェースに対してCAMまたはMFAのセキュリティ制限を設定できます)。
最終結果項目の表示順序は、tfファイルでの宣言順序に必ずしも従うわけではなく、output変数名をアルファベット順でソートした結果に基づきます。
宣言の出力として、顧客は看板アプリケーション詳細で対応するインストール結果を見ることができます。


ヘルプとサポート

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

フィードバック