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 -upgrade
ステップ4: Terraform実行プランを作成する
実行計画を作成するにはterraform plan を実行します。
terraform plan -var-file="secret.tfvars" -out main.tfplan
ステップ5: Terraform実行プランを適用する
クラウドインフラストラクチャに実行計画を適用するにはterraform apply を実行します。
terraform apply main.tfplan
ステップ6: 結果を確認する
-
実行プランを適用すると、Terraform はパブリック IP アドレスを出力します。 再度IPアドレスを表示するには、
terraform outputを実行します。terraform output -raw container_ipv4_addressSHELLまたは、FQDN を表示します。
terraform output -raw container_fqdnSHELL -
Postmanまたは
curlを使用して検証します。 予想される結果はpongを返す必要があります。curl http://<container_ipv4_address>:8080/v1/document-services/pingSHELLまたは、FQDN を使用します。
curl http://<container_fqdn>:8080/v1/document-services/pingSHELL
ステップ7: リソースを破壊する
-
リソースを破棄するための実行プランを作成します。
terraform plan -destroy -var-file="secret.tfvars" -out main.tfplanSHELL -
実行破棄プランを適用します。
terraform 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を使用して適用します。
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は現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。