Inicio rápido: Creación de una dirección IP pública mediante Terraform
Artículo
En este inicio rápido aprenderá a crear una dirección IP pública de Azure. Las direcciones IP públicas de Azure se usan para las conexiones públicas a recursos de Azure. Las direcciones IP públicas están disponibles en dos SKU: Básico y Estándar. Hay dos niveles de direcciones IP públicas disponibles: regionales y globales. La preferencia de enrutamiento de una dirección IP pública se establece cuando se crea. El enrutamiento de Internet y el enrutamiento de Microsoft Network son las opciones disponibles.
Terraform habilita la definición, vista previa e implementación de la infraestructura en la nube. Con Terraform, se crean archivos de configuración mediante la sintaxis de HCL. La sintaxis de HCL permite especificar el proveedor de la nube, como Azure, y los elementos que componen la infraestructura de la nube. Después de crear los archivos de configuración, se crea un plan de ejecución que permite obtener una vista previa de los cambios de infraestructura antes de implementarlos. Una vez que compruebe los cambios, aplique el plan de ejecución para implementar la infraestructura.
En este artículo aprenderá a:
Crear un nombre de mascota aleatorio para el nombre del grupo de recursos de Azure mediante random_pet
Cree una dirección IPv4 pública con redundancia de zona estándar denominada myStandardPublicIP
Cree una dirección IPv4 pública estática básica denominada myBasicPublicIP
Cree una dirección IPv4 pública zonal estándar en la zona 2 denominada myZonalStandardPublicIP
Cree una dirección IP no zonal denominada myNonZonalStandardPublicIP
Cree una dirección IPv4 pública estática estándar denominada myRoutingPreferenceStandardPublicIP que admita la característica de preferencias de enrutamiento
Cree una dirección IPv4 pública estática estándar denominada myGlobalTierStandardPublicIP que admita la característica nivel global
Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure.
Terraform
# Random pet resource to generate a unique name for the resource groupresource"random_pet""rg_name" {
prefix = var.resource_group_name_prefix
}
# Create a resource groupresource"azurerm_resource_group""example" {
location = var.resource_group_location
Se recomienda usar la dirección IP pública de SKU estándar para cargas de trabajo de producción. Para obtener más información sobre las SKU, consulte Direcciones IP públicas .
El fragmento de código de comando siguiente funciona para la versión de API 2020-08-01 o posteriores. Para más información sobre la versión de API que se usa actualmente, consulte Tipos y proveedores de recursos.
Terraform
}
# Create a public IP: IPv4 Standard SKUresource"azurerm_public_ip""myStandardPublicIP" {
name = "myStandardPublicIP"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
allocation_method = "Static"
sku = "Standard"
Importante
Para las versiones de la API anteriores al 01-08-2020, omita el campo zone para crear una dirección IP con redundancia de zona.
En esta sección, creará una IP básica. Las direcciones IP públicas básicas no admiten zonas de disponibilidad.
El siguiente fragmento de código crea una dirección IPv6. Para una dirección IPv6, establezca el valor de ip_version en IPv6.
Terraform
ip_version = "IPv4"
zones = ["1", "2", "3"]
}
# Create a public IP: IPv4 Basic SKUresource"azurerm_public_ip""myBasicPublicIP" {
name = "myBasicPublicIP"
resource_group_name = azurerm_resource_group.example.name
Si es admisible que la dirección IP cambie con el tiempo, se puede seleccionar la asignación de IP dinámica cambiando el valor de allocation_method a Dinámico.
Nota
Una dirección IPv6 básica siempre debe ser dinámica.
Creación de una dirección IP zonal o no zonal
En esta sección, aprenderá a crear una dirección IP pública zonal y no zonal.
El siguiente fragmento de código crea una dirección IPv4 pública estándar como un recurso no zonal denominado myNonZonalStandardPublicIP.
Nota
El siguiente comando funciona con la versión de API 2020-08-01 o posterior. Para más información sobre la versión de API que se usa actualmente, consulte Tipos y proveedores de recursos.
Para una dirección IPv6, establezca el valor de ip_version en IPv6.
De forma predeterminada, la preferencia de enrutamiento para las direcciones IP públicas se establece en Red de Microsoft, que entrega el tráfico al usuario través de la red de área extensa global de Microsoft.
La selección de Internet reduce el recorrido a través de la red de Microsoft y, en su lugar, utiliza la red de ISP de tránsito para entregar el tráfico a una velocidad más rentable.
El siguiente fragmento de código crea una nueva dirección IPv4 pública con redundancia de zona estándar con una preferencia de enrutamiento de tipo Internet:
Terraform
resource"azurerm_public_ip""myNonZonalStandardPublicIP" {
name = "myNonZonalStandardPublicIP"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
allocation_method = "Static"
sku = "Standard"
ip_version = "IPv4"
}
# Create a public IP: IPv4 with Routing Preferenceresource"azurerm_public_ip""myRoutingPreferenceStandardPublicIP" {
name = "myRoutingPreferenceStandardPublicIP"
resource_group_name = azurerm_resource_group.example.name
Las direcciones IP públicas están asociadas a una sola región. El nivel Global abarca una dirección IP entre varias regiones. El nivel Global es necesario para los servidores front-end de equilibradores de carga entre regiones.
El siguiente fragmento de código crea una dirección IPv4 global. Esta dirección se puede asociar al servidor front-end de un equilibrador de carga entre regiones.
Las direcciones de nivel global no admiten Availability Zones.
Limpieza de recursos
Cuando ya no necesite los recursos creados a través de Terraform, realice los pasos siguientes:
Ejecute el comando terraform plan y especifique la marca destroy.
Consola
terraform plan -destroy -out main.destroy.tfplan
Puntos clave:
El comando terraform plan crea un plan de ejecución, pero no lo ejecuta. En su lugar, determina qué acciones son necesarias para crear la configuración especificada en los archivos de configuración. Este patrón le permite comprobar si el plan de ejecución coincide con sus expectativas antes de realizar cambios en los recursos reales.
El parámetro -out opcional permite especificar un archivo de salida para el plan. El uso del parámetro -out garantiza que el plan que ha revisado es exactamente lo que se aplica.