Deploy a C# Container Instance in Azure

Curtis Chau
Curtis Chau
Updated: 2026年5月9日

AzureでTerraformを使用して、IronSecureDoc Dockerコンテナをデプロイし、パブリックIPアドレスとFQDNで利用可能にします。

前提条件

ステップ1: GitHubリポジトリテンプレートをクローンする

GitHub リポジトリ テンプレートは、クローンしてすぐに開始できる状態でここに用意されています:

https://github.com/iron-software/IronSecureDoc-Terraform/
Text

ステップ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
}
HCL

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."
}
HCL

secret.tfvars に追加:

registry_server   = "<registry-name>.azurecr.io"
registry_username = "YOUR-REGISTRY-USERNAME"
registry_password = "YOUR-REGISTRY-PASSWORD"
license_key       = "YOUR-LICENSE-KEY"
HCL

Dockerハブ

secret.tfvars に追加:

license_key = "YOUR-LICENSE-KEY"
HCL

ステップ3: Terraformを初期化する

Terraformデプロイメントを初期化するには、terraform init を実行します。 このコマンドは、Azure リソースを管理するために必要な Azure プロバイダーをダウンロードします。

terraform init -upgrade
SHELL

ステップ4: Terraform実行プランを作成する

実行計画を作成するにはterraform plan を実行します。

terraform plan -var-file="secret.tfvars" -out main.tfplan
SHELL

ステップ5: Terraform実行プランを適用する

クラウドインフラストラクチャに実行計画を適用するにはterraform apply を実行します。

terraform apply main.tfplan
SHELL

ステップ6: 結果を確認する

  1. 実行プランを適用すると、Terraform はパブリック IP アドレスを出力します。 再度IPアドレスを表示するには、terraform output を実行します。

    terraform output -raw container_ipv4_address
    SHELL

    または、FQDN を表示します。

    terraform output -raw container_fqdn
    SHELL
  2. Postmanまたはcurl を使用して検証します。 予想される結果はpong を返す必要があります。

    curl http://<container_ipv4_address>:8080/v1/document-services/ping
    SHELL

    または、FQDN を使用します。

    curl http://<container_fqdn>:8080/v1/document-services/ping
    SHELL

ステップ7: リソースを破壊する

  • リソースを破棄するための実行プランを作成します。

    terraform plan -destroy -var-file="secret.tfvars" -out main.tfplan
    SHELL
  • 実行破棄プランを適用します。

    terraform apply main.tfplan
    SHELL

よくある質問

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を使用して適用します。

How can I verify the deployment of the IronSecureDoc container?

You can verify the deployment by running terraform output to obtain the public IP or FQDN and using tools like Postman or curl to execute a ping, expecting a pong response.

What is the process to destroy the IronSecureDoc resources on Azure?

To destroy the resources, create a destroy execution plan with terraform plan -destroy and then apply it using terraform apply to remove IronSecureDoc resources from Azure.

Can I specify the tag of the IronSecureDoc Docker image during deployment?

Yes, you can specify the tag of the IronSecureDoc Docker image by setting the image_tag variable in the variables.tf file, using either latest or a specific version number.

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

詳しく読む

準備はできましたか?

バージョン:2024.10リリースされたばかり