Azureにコンテナインスタンスをデプロイする
使用Azure上のテラフォームを使用してIronSecureDoc Dockerコンテナをデプロイし、パブリックIPアドレスとFQDNで利用できるようにします。
前提条件
ステップ1:GitHubリポジトリのテンプレートをクローンする
GitHub Repositoryのテンプレートが用意されているので、クローンしてすぐに始めることができます。これ:
https://github.com/iron-software/IronSecureDoc-Terraform/
ステップ2:すべてのリソース名を修正する
variables.tf`のすべてのリソース名を修正する。
- リソースグループ名`:リソースグループの名前。
- resource_group_location`:リソースグループの場所。REGIONS.mdから地域を見つけることができる。
- コンテナグループ名`:コンテナグループの名前。
- コンテナ名`:コンテナの名前。
- 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 -var-file="secret.tfvars" -out main.tfplan
ステップ5: Terraformの実行計画を適用する
走るテラフォーム実行プランをクラウドインフラに適用する。
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