Azureにコンテナインスタンスをデプロイする
IronSecureDoc Dockerコンテナをデプロイし、パブリックIPアドレスとFQDNで利用できるようにするために、AzureでTerraformを使用します。
前提条件
ステップ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
を作成し、以下の変数を埋めてください
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."
default = "latest"
}
secret.tfvars
に追加:
registry_server = "<registry-name>.azurecr.io"
registry_username = "YOUR-REGISTRY-USERNAME"
registry_password = "YOUR-REGISTRY-PASSWORD"
license_key = "YOUR-LICENSE-KEY"
ドッカー・ハブ
secret.tfvars
に追加:
license_key = "YOUR-LICENSE-KEY"
ステップ3:Terraformを初期化する
terraform initを実行してTerraformのデプロイを初期化します。 このコマンドは、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_address
またはFQDNを表示する。
terraform output -raw container_fqdn
- 検証にはPostmanかcurlを使う。 結果は
pong
を返すはずです。
curl http://<container_ipv4_address>:8080/v1/document-services/ping
またはFQDNを使用する
curl http://<container_fqdn>:8080/v1/document-services/ping
ステップ7:リソースを破棄する
- リソースを破壊するための実行計画を作成する
terraform plan -destroy -var-files="secret.tfvars" -out main.tfplan
- 実行破棄プランを適用する
terraform apply main.tfplan