Deploy a C# Container Instance in Azure
AzureでTerraformを使用して、IronSecureDoc Dockerコンテナをデプロイし、パブリックIPアドレスとFQDNで利用可能にします。
前提条件
ステップ1: GitHubリポジトリテンプレートをクローンする
GitHub リポジトリ テンプレートは、クローンしてすぐに開始できる状態でここに用意されています:
https://github.com/iron-software/IronSecureDoc-Terraform/ステップ2: すべてのリソース名を変更する
variables.tf のすべてのリソース名を変更
resource_group_name: リソースグループの名前。resource_group_location: リソースグループの場所。地域をREGIONS.mdから見つけ、第2列を使ってこの変数を埋めてください。container_group_name: コンテナグループの名前。container_name: コンテナの名前。image_tag: デプロイするイメージのタグ; それはlatestまたは特定のバージョン番号です。- その他の変数は変更する必要はありません。
すべての機密データを含むsecret.tfvars を作成
secret.tfvars に以下の変数を入力してください。
Azure コンテナー レジストリ
dns_name_label = var.dns_name_label の後にmain.tf を付け加えます:
image_registry_credential {
server = var.registry_server
username = var.registry_username
password = var.registry_password
}variables.tf に追加:
variable "registry_server" {
type = string
sensitive = false
description = "The server for the container registry. Required if the image is stored in a private registry."
}
variable "registry_username" {
type = string
sensitive = true
description = "Username for the container registry. Required if the image is stored in a private registry."
}
variable "registry_password" {
type = string
sensitive = true
description = "Password for the container registry. Required if the image is stored in a private registry."
}secret.tfvars に追加:
registry_server = "<registry-name>.azurecr.io"
registry_username = "YOUR-REGISTRY-USERNAME"
registry_password = "YOUR-REGISTRY-PASSWORD"
license_key = "YOUR-LICENSE-KEY"Dockerハブ
secret.tfvars に追加:
license_key = "YOUR-LICENSE-KEY"ステップ3: Terraformを初期化する
Terraformデプロイメントを初期化するには、terraform init を実行します。 このコマンドは、Azure リソースを管理するために必要な Azure プロバイダーをダウンロードします。
terraform init -upgradeterraform init -upgradeステップ4: Terraform実行プランを作成する
実行計画を作成するにはterraform plan を実行します。
terraform plan -var-file="secret.tfvars" -out main.tfplanterraform plan -var-file="secret.tfvars" -out main.tfplanステップ5: Terraform実行プランを適用する
クラウドインフラストラクチャに実行計画を適用するにはterraform apply を実行します。
terraform apply main.tfplanterraform apply main.tfplanステップ6: 結果を確認する
実行プランを適用すると、Terraform はパブリック IP アドレスを出力します。 再度IPアドレスを表示するには、
terraform outputを実行します。terraform output -raw container_ipv4_addressterraform output -raw container_ipv4_addressSHELLまたは、FQDN を表示します。
terraform output -raw container_fqdnterraform output -raw container_fqdnSHELLPostmanまたは
curlを使用して検証します。 予想される結果はpongを返す必要があります。curl http://<container_ipv4_address>:8080/v1/document-services/pingcurl http://<container_ipv4_address>:8080/v1/document-services/pingSHELLまたは、FQDN を使用します。
curl http://<container_fqdn>:8080/v1/document-services/pingcurl http://<container_fqdn>:8080/v1/document-services/pingSHELL
ステップ7: リソースを破壊する
リソースを破棄するための実行プランを作成します。
terraform plan -destroy -var-file="secret.tfvars" -out main.tfplanterraform plan -destroy -var-file="secret.tfvars" -out main.tfplanSHELL実行破棄プランを適用します。
terraform apply main.tfplanterraform apply main.tfplanSHELL
よくある質問
Terraformを使用してAzureにDockerコンテナをデプロイする方法は?
Terraformを使用してAzureにDockerコンテナをデプロイするためには、IronSecureDoc用のGitHubリポジトリテンプレートをクローンし、`variables.tf`内のリソース名を変更して、機密データを含む`secret.tfvars`ファイルを作成する必要があります。その後、terraform initを使用してデプロイを初期化し、terraform planとterraform applyを使用して実行プランを作成および適用します。
AzureデプロイのためのTerraform設定に必要な手順は何ですか?
まずTerraformをインストールして設定し、その後Azureに認証します。IronSecureDocの特定のGitHubリポジトリをクローンし、`variables.tf`ファイル内のリソース名を修正し、`secret.tfvars`で機密データを管理します。最後に、Terraformを初期化し、デプロイのための実行プランを作成します。
このデプロイメントにおけるAzure Container Registryの役割は何ですか?
Azure Container RegistryはDockerイメージを保存するために使用されます。必要なDockerイメージをアクセスおよびデプロイするために、レジストリの認証情報を`main.tf`ファイルに追加し、`variables.tf`および`secret.tfvars`でレジストリ情報を指定する必要があります。
AzureでのTerraformデプロイが成功したかどうかを確認する方法は?
Terraform実行プランを適用した後、terraform outputを実行してパブリックIPアドレスまたはFQDNを取得します。Postmanやcurlのようなツールを使用してサービスにpingリクエストを送信します。成功したデプロイメントは「pong」を返します。
AzureデプロイメントのためにTerraformを初期化するコマンドは何ですか?
AzureデプロイメントのためにTerraformを初期化するには、terraform init -upgradeコマンドを使用します。これはAzureリソースを管理するために必要なプロバイダープラグインをダウンロードします。
Terraform構成で機密データをどのように扱いますか?
レジストリ認証情報やライセンスキーなどの機密データは、`secret.tfvars`ファイルに保存する必要があります。このファイルは、Terraformプランおよび適用プロセス中に参照され、機密情報を安全に管理します。
Terraformを使用してAzureでデプロイされたリソースを破棄するプロセスは何ですか?
Terraformを使用してAzureでデプロイされたリソースを破棄するには、terraform plan -destroy -var-file='secret.tfvars' -out main.tfplanで破棄実行プランを作成し、terraform apply main.tfplanを使用して適用します。





