Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: Wszystkich poziomów zarządzania API
W tym artykule pokazano, jak za pomocą narzędzia Terraform utworzyć wystąpienie usługi API Management na platformie Azure. Narzędzia Terraform można również używać do typowych zadań zarządzania, takich jak importowanie interfejsów API w wystąpieniu usługi API Management.
Usługa Azure API Management pomaga organizacjom publikować interfejsy API dla deweloperów zewnętrznych, partnerskich i wewnętrznych w celu odblokowania potencjału swoich danych i usług. Usługa API Management udostępnia podstawowe funkcje wymagane do tworzenia skutecznych interfejsów API przez zaangażowanych deweloperów, a także zapewnia informacje biznesowe, analizy, zabezpieczenia i ochronę. Usługa API Management umożliwia tworzenie nowoczesnych bram interfejsów API i zarządzanie nimi dla istniejących usług zaplecza hostowanych w dowolnym miejscu.
Narzędzie Terraform umożliwia definiowanie, wyświetlanie wersji zapoznawczej i wdrażanie infrastruktury chmury. Za pomocą narzędzia Terraform tworzysz pliki konfiguracji przy użyciu składni HCL. Składnia listy HCL umożliwia określenie dostawcy chmury — takiego jak platforma Azure — oraz elementów tworzących infrastrukturę chmury. Po utworzeniu plików konfiguracji utworzysz plan wykonywania , który umożliwia wyświetlenie podglądu zmian infrastruktury przed ich wdrożeniem. Po zweryfikowaniu zmian należy zastosować plan wykonywania w celu wdrożenia infrastruktury.
W tym artykule omówiono sposób wykonywania następujących zadań:
- Tworzenie losowej nazwy zwierząt domowych dla nazwy grupy zasobów platformy Azure przy użyciu random_pet
- Tworzenie grupy zasobów platformy Azure przy użyciu azurerm_resource_group
- Tworzenie losowego ciągu nazwy usługi Azure API Management przy użyciu random_string
- Tworzenie usługi Azure API Management przy użyciu azurerm_api_management
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto .
W przypadku Azure CLI:
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli używasz instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure przy użyciu polecenia az login . Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Przy pierwszym użyciu zainstaluj rozszerzenie Azure CLI, gdy pojawi się monit. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby znaleźć zainstalowaną wersję i biblioteki zależne. Aby przeprowadzić uaktualnienie do najnowszej wersji, uruchom az upgrade.
W przypadku programu Azure PowerShell:
- Jeśli zdecydujesz się używać programu Azure PowerShell lokalnie:
- Zainstaluj najnowszą wersję modułu Az programu PowerShell.
- Połącz się z kontem platformy Azure przy użyciu polecenia cmdlet Connect-AzAccount .
- Jeśli zdecydujesz się używać usługi Azure Cloud Shell:
- Aby uzyskać więcej informacji , zobacz Omówienie usługi Azure Cloud Shell .
- Jeśli zdecydujesz się używać programu Azure PowerShell lokalnie:
Implementowanie kodu narzędzia Terraform
Uwaga
Przykładowy kod tego artykułu znajduje się w repozytorium GitHub programu Azure Terraform. Możesz wyświetlić plik dziennika zawierający wyniki testu z bieżących i poprzednich wersji programu Terraform.
Zobacz więcej artykułów i przykładowego kodu pokazującego, jak zarządzać zasobami platformy Azure za pomocą narzędzia Terraform
Utwórz katalog, w którym chcesz przetestować i uruchomić przykładowy kod programu Terraform i utworzyć go jako bieżący katalog.
Utwórz plik o nazwie
main.tfi wstaw następujący kod:resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } resource "azurerm_resource_group" "rg" { name = random_pet.rg_name.id location = var.resource_group_location } resource "random_string" "azurerm_api_management_name" { length = 13 lower = true numeric = false special = false upper = false } resource "azurerm_api_management" "api" { name = "apiservice${random_string.azurerm_api_management_name.result}" location = azurerm_resource_group.rg.location resource_group_name = azurerm_resource_group.rg.name publisher_email = var.publisher_email publisher_name = var.publisher_name sku_name = "${var.sku_name}_${var.sku_count}" }Utwórz plik o nazwie
outputs.tfi wstaw następujący kod:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "api_management_service_name" { value = azurerm_api_management.api.name }Utwórz plik o nazwie
providers.tfi wstaw następujący kod:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>4.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Utwórz plik o nazwie
variables.tfi wstaw następujący kod:variable "resource_group_location" { type = string default = "eastus" description = "Location for all resources." } variable "resource_group_name_prefix" { type = string default = "rg" description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." } variable "publisher_email" { default = "test@contoso.com" description = "The email address of the owner of the service" type = string validation { condition = length(var.publisher_email) > 0 error_message = "The publisher_email must contain at least one character." } } variable "publisher_name" { default = "publisher" description = "The name of the owner of the service" type = string validation { condition = length(var.publisher_name) > 0 error_message = "The publisher_name must contain at least one character." } } variable "sku_name" { description = "The pricing tier of this API Management service" default = "BasicV2" type = string validation { condition = contains(["Basic", "BasicV2", "Consumption", "Developer", "Premium", "PremiumV2", "Standard", "StandardV2"], var.sku_name) error_message = "The sku must be one of the following: Basic, BasicV2, Consumption, Developer, Premium, PremiumV2, Standard, StandardV2." } } variable "sku_count" { description = "The instance size of this API Management service." default = 1 type = number validation { condition = contains([1, 2], var.sku_count) error_message = "The sku_count must be one of the following: 1, 2." } }
Inicjowanie narzędzia Terraform
Uruchom narzędzie terraform init, aby zainicjować wdrożenie narzędzia Terraform. To polecenie pobiera dostawcę platformy Azure wymaganego do zarządzania zasobami platformy Azure.
terraform init -upgrade
Kluczowe punkty:
- Parametr
-upgradeuaktualnia niezbędne wtyczki dostawcy do najnowszej wersji, która jest zgodna z ograniczeniami wersji konfiguracji.
Tworzenie planu wykonania programu Terraform
Uruchom terraform plan, aby utworzyć plan wykonania.
terraform plan -out main.tfplan
Kluczowe punkty:
- Polecenie
terraform plantworzy plan wykonania, ale nie wykonuje go. Zamiast tego określa, jakie akcje są niezbędne do utworzenia konfiguracji określonej w plikach konfiguracji. Ten wzorzec umożliwia sprawdzenie, czy plan wykonania jest zgodny z oczekiwaniami przed wprowadzeniem jakichkolwiek zmian w rzeczywistych zasobach. - Opcjonalny
-outparametr umożliwia określenie pliku wyjściowego dla planu. Użycie parametru-outgwarantuje, że sprawdzony plan jest dokładnie tym, co jest stosowane.
Stosowanie planu wykonywania narzędzia Terraform
Uruchom terraform apply, aby zastosować plan wykonania do infrastruktury chmury obliczeniowej.
terraform apply main.tfplan
Kluczowe punkty:
- Przykładowe
terraform applypolecenie zakłada, że wcześniej uruchomionoterraform plan -out main.tfplanpolecenie. - Jeśli określono inną nazwę pliku parametru
-out, użyj tej samej nazwy pliku w wywołaniu metodyterraform apply. - Jeśli nie użyto parametru
-out, wywołajterraform applybez żadnych parametrów.
Uwaga
Utworzenie i aktywowanie usługi API Management może potrwać od 30 do 40 minut.
Weryfikowanie wyników
Pobierz nazwę grupy zasobów platformy Azure.
resource_group_name=$(terraform output -raw resource_group_name)Pobierz nazwę usługi.
api_management_service_name=$(terraform output -raw api_management_service_name)Uruchom az apim show, aby wyświetlić informacje o nowej usłudze.
az apim show --resource-group $resource_group_name \ --name $api_management_service_name
Czyszczenie zasobów
Jeśli zasoby utworzone za pomocą narzędzia Terraform nie są już potrzebne, wykonaj następujące czynności:
Uruchom terraform plan i określ opcję
destroy.terraform plan -destroy -out main.destroy.tfplanKluczowe punkty:
- Polecenie
terraform plantworzy plan wykonania, ale nie wykonuje go. Zamiast tego określa, jakie akcje są niezbędne do utworzenia konfiguracji określonej w plikach konfiguracji. Ten wzorzec umożliwia sprawdzenie, czy plan wykonania jest zgodny z oczekiwaniami przed wprowadzeniem jakichkolwiek zmian w rzeczywistych zasobach. - Opcjonalny
-outparametr umożliwia określenie pliku wyjściowego dla planu. Użycie parametru-outgwarantuje, że sprawdzony plan jest dokładnie tym, co jest stosowane.
- Polecenie
Uruchom terraform apply, aby zastosować plan wykonania.
terraform apply main.destroy.tfplan
Rozwiązywanie problemów z programem Terraform na platformie Azure
Rozwiązywanie typowych problemów podczas korzystania z narzędzia Terraform na platformie Azure