Azure に C# コンテナ インスタンスをデプロイする
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 コンテナー レジストリ
main.tf dns_name_label = var.dns_name_labelの後に追加します。
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 initを実行して、Terraform デプロイメントを初期化します。 このコマンドは、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を使用して適用します。





