Bereitstellen einer Container-Instanz in Azure

Verwenden SieTerraform auf Azure um den IronSecureDoc-Docker-Container bereitzustellen und ihn mit einer öffentlichen IP-Adresse und einem FQDN verfügbar zu machen.

Voraussetzungen

Schritt 1: GitHub-Repository-Vorlage klonen

Wir haben die GitHub-Repository-Vorlage zum Klonen und sofortigen Loslegen für Sie bereithier: ``` https://github.com/iron-software/IronSecureDoc-Terraform/


## Schritt 2: Ändern Sie alle Ressourcennamen

### Alle Ressourcennamen in `variables.tf` ändern

- ressourcengruppenname": Name der Ressourcengruppe.
- standort der Ressourcengruppe": Der Standort der Ressourcengruppe. Sie können die Region aus der Datei REGIONS.md entnehmen und die zweite Spalte verwenden, um diese Variable auszufüllen.
- containergruppenname":  Name der Containergruppe.
- container_name": Name des Containers.
- bild-Tag": Der Tag des zu verteilenden Bildes kann `latest` oder eine beliebige Zahl sein.
- Andere Variablen müssen nicht geändert werden.

### Erstellen Sie die Datei `secret.tfvars`, die alle sensiblen Daten enthält, und füllen Sie die folgenden Variablen

#### Azure Container Registry

die Datei "main.tf" wird nach "dns_name_label = var.dns_name_label" angefügt:

```hcl
image_registry_credential {
  server   = var.registry_server
  username = var.registry_username
  password = var.registry_password
}

variables.tf hinzugefügt:

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 hinzugefügt:

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

Docker-Hub

secret.tfvars hinzugefügt:

license_key         = "YOUR-LICENSE-KEY"

Schritt 3: Terraform initialisieren

Führen Sie terraform init aus, um den Terraform-Einsatz zu initialisieren. Dieser Befehl lädt den Azure-Anbieter herunter, der für die Verwaltung Ihrer Azure-Ressourcen erforderlich ist.

terraform init -upgrade

Schritt 4: Erstellen eines Terraform-Ausführungsplans

Laufen lassenterraformplan um einen Ausführungsplan zu erstellen.

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

Schritt 5: Anwendung eines Terraform-Ausführungsplans

Laufen lassenterraform anwenden um den Ausführungsplan auf Ihre Cloud-Infrastruktur anzuwenden.

terraform apply main.tfplan

Schritt 6: Überprüfen Sie die Ergebnisse

  1. Wenn Sie den Ausführungsplan anwenden, gibt Terraform die öffentliche IP-Adresse aus. Um die IP-Adresse erneut anzuzeigen, führen Sie terraform output aus.
    terraform output -raw container_ipv4_address

oder den FQDN anzeigen.

    terraform output -raw container_fqdn
  1. Verwenden Sie Postman oder curl zur Validierung. Das Ergebnis sollte "pong" zurückgeben.
    curl http://<container_ipv4_address>:8080/v1/document-services/ping

oder FQDN verwenden

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

Schritt 7: Zerstörung der Ressource

  • Einen Ausführungsplan für die Zerstörung von Ressourcen erstellen
terraform plan -destroy -var-files="secret.tfvars" -out main.tfplan
  • Anwendung eines Ausführungszerstörungsplans
terraform apply main.tfplan