Puede usar los recursos y ajustes de redes, seguridad y equilibrador de carga en plantillas de nube de Automation Assembler.
Para obtener un resumen las opciones de código de plantilla de nube, consulte Esquema de tipo de recursos de vRealize Automation.
- Más información sobre los recursos de red en plantillas de nube de VMware Aria Automation
- Más información sobre los grupos de seguridad y recursos de etiqueta en plantillas de nube de VMware Aria Automation
- Más información sobre los recursos de equilibrador de carga en plantillas de nube de VMware Aria Automation
Estos ejemplos ilustran recursos de red, seguridad y equilibrador de carga dentro de los diseños de plantilla de nube básicos.
Redes
| Escenario de recursos | Ejemplo de código de diseño de plantilla de nube |
|---|---|
| Máquina de vSphere con varias NIC conectadas a redes de vSphere y NSX con asignación de direcciones IP de DHCP | resources:
demo-machine:
type: Cloud.vSphere.Machine
properties:
image: ubuntu
flavor: small
networks:
- network: ${resource["demo-vSphere-Network"].id}
deviceIndex: 0
- network: ${resource["demo-NSX-Network"].id}
deviceIndex: 1
demo-vSphere-Network:
type: Cloud.vSphere.Network
properties:
networkType: existing
demo-NSX-Network:
type: Cloud.NSX.Network
properties:
networkType: outbound
|
Red privada de NSX que usa la propiedad vlanIds para especificar una matriz de 3 VLAN: 123, 456 y 7 |
formatVersion: 1
inputs: {}
resources:
Cloud_Machine_1:
type: Cloud.Machine
properties:
image: test
flavor: test
networks:
- network: '${resource.Cloud_NSX_Network_1.id}'
Cloud_NSX_Network_1:
type: Cloud.NSX.Network
properties:
networkType: private
vlanIds:
- 123
- 456
- 7
|
| Agregar una red privada con una dirección IP estática para una implementación de máquina virtual de Azure | formatVersion: 1
inputs: {}
resources:
Cloud_Azure_Machine_1:
type: Cloud.Machine
properties:
image: photon
flavor: Standard_B1ls
networks:
- network: '${resource.Cloud_Network_1.id}'
assignment: static
address: 10.0.0.45
assignPublicIpAddress: false
Cloud_Network_1:
type: Cloud.Network
properties:
networkType: existing
|
| Puede utilizar una asignación de direcciones IP estáticas con IPAM de VMware Aria Automation (interna como se proporciona con VMware Aria Automation o externa basada en el SDK de IPAM de VMware Aria Automation, como para uno de los complementos de Infoblox disponibles en VMware Marketplace). No se admiten otros usos de |
resources:
demo_vm:
type: Cloud.vSphere.Machine
properties:
image: 'photon'
cpuCount: 1
totalMemoryMB: 1024
networks:
- network: ${resource.demo_nw.id}
assignment: static
demo_nw:
type: Cloud.vSphere.Network
properties:
networkType: existing |
Agregue o edite reglas de enrutamiento de puerto NAT y DNAT en un recurso de Cloud.NSX.NAT para una implementación existente. |
resources:
gw:
type: Cloud.NSX.Gateway
properties:
networks:
- ${resource.akout.id}
nat:
type: Cloud.NSX.Nat
properties:
networks:
- ${resource.akout.id}
natRules:
- translatedInstance: ${resource.centos.networks[0].id}
index: 0
protocol: TCP
kind: NAT44
type: DNAT
sourceIPs: any
sourcePorts: 80
translatedPorts: 8080
destinationPorts: 8080
description: edit
- translatedInstance: ${resource.centos.networks[0].id}
index: 1
protocol: TCP
kind: NAT44
type: DNAT
sourceIPs: any
sourcePorts: 90
translatedPorts: 9090
destinationPorts: 9090
description: add
gateway: ${resource.gw.id}
centos:
type: Cloud.vSphere.Machine
properties:
image: WebTinyCentOS65x86
flavor: small
customizationSpec: Linux
networks:
- network: ${resource.akout.id}
assignment: static
akout:
type: Cloud.NSX.Network
properties:
networkType: outbound
constraints:
- tag: nsxt-nat-1-M2
|
| Máquina de nube pública que usará una IP interna en lugar de una IP pública. En este ejemplo, se utiliza un identificador de red específico. Nota: La opción |
resources:
wf_proxy:
type: Cloud.Machine
properties:
image: ubuntu 16.04
flavor: small
constraints:
- tag: 'platform:vsphere'
networks:
- network: '${resource.wf_net.id}'
assignPublicIpAddress: false |
| Red enrutada con el tipo de recurso de red de NSX. |
Cloud_NSX_Network_1:
type: Cloud.NSX.Network
properties:
networkType: routed |
| Agregue una etiqueta a un recurso de NIC de máquina en la plantilla de nube. | formatVersion: 1
inputs: {}
resources:
Cloud_Machine_1:
type: Cloud.vSphere.Machine
properties:
flavor: small
image: ubuntu
networks:
- name: '${resource.Cloud_Network_1.name}'
deviceIndex: 0
tags:
- key: 'nic0'
value: null
- key: internal
value: true
- name: '${resource.Cloud_Network_2.name}'
deviceIndex: 1
tags:
- key: 'nic1'
value: null
- key: internal
value: false |
| Etiquete los conmutadores lógicos de NSX-T para una red saliente. El etiquetado es compatible con NSX-T y VMware Cloud on AWS. Para obtener más información sobre este escenario, consulte la publicación de blog de la comunidad Creación de etiquetas en NSX . |
Cloud_NSX_Network_1:
type: Cloud.NSX.Network
properties:
networkType: outbound
tags:
- key: app
value: opencart
|
Grupos de seguridad
| Escenario de recursos | Ejemplo de código de diseño de plantilla de nube |
|---|---|
| Grupo de seguridad existente con una etiqueta de restricción aplicada a una NIC de máquina. Para usar un grupo de seguridad existente, introduzca existente para la propiedad securityGroupType . Puede asignar etiquetas a un recurso de Cloud.SecurityGroup para asignar grupos de seguridad existentes mediante restricciones de etiqueta. Los grupos de seguridad que no contienen etiquetas no se pueden utilizar en el diseño de plantilla de nube. Deben establecerse etiquetas de restricción para los recursos de grupo de seguridad |
formatVersion: 1
inputs: {}
resources:
allowSsh_sg:
type: Cloud.SecurityGroup
properties:
securityGroupType: existing
constraints:
- tag: allowSsh
compute:
type: Cloud.Machine
properties:
image: centos
flavor: small
networks:
- network: '${resource.prod-net.id}'
securityGroups:
- '${resource.allowSsh_sg.id}'
prod-net:
type: Cloud.Network
properties:
networkType: existing |
| Grupo de seguridad a petición con dos reglas de firewall que ilustran las opciones de acceso |
resources:
Cloud_SecurityGroup_1:
type: Cloud.SecurityGroup
properties:
securityGroupType: new
rules:
- ports: 5000
source: 'fc00:10:000:000:000:56ff:fe89:48b4'
access: Allow
direction: inbound
name: allow_5000
protocol: TCP
- ports: 7000
source: 'fc00:10:000:000:000:56ff:fe89:48b4'
access: Deny
direction: inbound
name: deny_7000
protocol: TCP
Cloud_vSphere_Machine_1:
type: Cloud.vSphere.Machine
properties:
image: photon
cpuCount: 1
totalMemoryMB: 256
networks:
- network: '${resource.Cloud_Network_1.id}'
assignIPv6Address: true
assignment: static
securityGroups:
- '${resource.Cloud_SecurityGroup_1.id}'
Cloud_Network_1:
type: Cloud.Network
properties:
networkType: existing
|
|
Plantilla de nube compleja con 2 grupos de seguridad, incluidos:
En este ejemplo, se muestran diferentes combinaciones de protocolos y puertos, servicios, CIDR de IP como origen y destino, rango de IP como origen o destino, y las opciones para any, IPv6 y (::/0). Para las NIC de máquina, puede especificar la red conectada y los grupos de seguridad. También puede especificar el índice de NIC o una dirección IP. |
formatVersion: 1
inputs: {}
resources:
DEMO_ESG : existing security group - security group 1)
type: Cloud.SecurityGroup
properties:
constraints:
- tag: BlockAll
securityGroupType: existing (designation of existing for security group 1)
DEMO_ODSG: (on-demand security group - security group 2))
type: Cloud.SecurityGroup
properties:
rules: (multiple firewall rules in this section)
- name: IN-ANY (rule 1)
source: any
service: any
direction: inbound
access: Deny
- name: IN-SSH (rule 2)
source: any
service: SSH
direction: inbound
access: Allow
- name: IN-SSH-IP (rule 3)
source: 33.33.33.1-33.33.33.250
protocol: TCP
ports: 223
direction: inbound
access: Allow
- name: IPv-6-ANY-SOURCE (rule 4)
source: '::/0'
protocol: TCP
ports: 223
direction: inbound
access: Allow
- name: IN-SSH-IP (rule 5)
source: 44.44.44.1/24
protocol: UDP
ports: 22-25
direction: inbound
access: Allow
- name: IN-EXISTING-SG (rule 6)
source: '${resource["DEMO_ESG"].id}'
protocol: ICMPv6
direction: inbound
access: Allow
- name: OUT-ANY (rule 7)
destination: any
service: any
direction: outbound
access: Deny
- name: OUT-TCP-IPv6 (rule 8)
destination: '2001:0db8:85a3::8a2e:0370:7334/64'
protocol: TCP
ports: 22
direction: outbound
access: Allow
- name: IPv6-ANY-DESTINATION (rule 9)
destination: '::/0'
protocol: UDP
ports: 23
direction: outbound
access: Allow
- name: OUT-UDP-SERVICE (rule 10)
destination: any
service: NTP
direction: outbound
access: Allow
securityGroupType: new (designation of on-demand for security group 2)
DEMO_VC_MACHINE: (machine resource)
type: Cloud.vSphere.Machine
properties:
image: PHOTON
cpuCount: 1
totalMemoryMB: 1024
networks: (Machine network NICs)
- network: '${resource.DEMO_NW.id}'
securityGroups:
- '${resource.DEMO_ODSG.id}'
- '${resource.DEMO_ESG.id}'
DEMO_NETWORK: (network resource)
type: Cloud.vSphere.Network
properties:
networkType: existing
constraints:
- tag: nsx62 |
Equilibradores de carga
| Escenario de recursos | Ejemplo de código de diseño de plantilla de nube |
|---|---|
| Especifique un nivel de registro, un algoritmo y un tamaño de equilibrador de carga. |
Ejemplo de equilibrador de carga de NSX que muestra cómo se usan el nivel de registro, el algoritmo y el tamaño: resources:
Cloud_LoadBalancer_1:
type: Cloud.NSX.LoadBalancer
properties:
name: myapp-lb
network: '${appnet-public.name}'
instances: '${wordpress.id}'
routes:
- protocol: HTTP port: '80'
loggingLevel: CRITICAL
algorithm: LEAST_CONNECTION
type: MEDIUM
|
| Asocie un equilibrador de carga a una máquina con nombre o a una NIC de máquina con nombre. Puede especificar En el primer ejemplo, la implementación utiliza el ajuste En el segundo ejemplo, la implementación utiliza el ajuste En el tercer ejemplo, se muestran ambos ajustes utilizados en la misma opción de |
Puede usar la propiedad
instances para definir un identificador de máquina o un identificador de red de máquinas:
|
Agregue una configuración de comprobación de estado a un equilibrador de carga de NSX. Entre las opciones adicionales se incluyen httpMethod, requestBody y responseBody. |
myapp-lb: type: Cloud.NSX.LoadBalancer properties: name: myapp-lb network: '${appnet-public.name}' instances: '${wordpress.id}' routes: - protocol: HTTP port: '80' algorithm: ROUND_ROBIN instanceProtocol: HTTP instancePort: '80' healthCheckConfiguration: protocol: HTTP port: '80' urlPath: /mywordpresssite/wp-admin/install.php intervalSeconds: 60 timeoutSeconds: 10 unhealthyThreshold: 10 healthyThreshold: 2 connectionLimit: '50' connectionRateLimit: '50' maxConnections: '500' minConnections: '' internetFacing: true{code} |
| Red a petición con un equilibrador de carga de 1 brazo. |
inputs: {}
resources:
mp-existing:
type: Cloud.Network
properties:
name: mp-existing
networkType: existing
mp-wordpress:
type: Cloud.vSphere.Machine
properties:
name: wordpress
count: 2
flavor: small
image: tiny
customizationSpec: Linux
networks:
- network: '${resource["mp-private"].id}'
mp-private:
type: Cloud.NSX.Network
properties:
name: mp-private
networkType: private
constraints:
- tag: nsxt
mp-wordpress-lb:
type: Cloud.LoadBalancer
properties:
name: wordpress-lb
internetFacing: false
network: '${resource.mp-existing.id}'
instances: '${resource["mp-wordpress"].id}'
routes:
- protocol: HTTP
port: '80'
instanceProtocol: HTTP
instancePort: '80'
healthCheckConfiguration:
protocol: HTTP
port: '80'
urlPath: /index.pl
intervalSeconds: 60
timeoutSeconds: 30
unhealthyThreshold: 5
healthyThreshold: 2
|
| Red existente con un equilibrador de carga. |
formatVersion: 1
inputs:
count:
type: integer
default: 1
resources:
ubuntu-vm:
type: Cloud.Machine
properties:
name: ubuntu
flavor: small
image: tiny
count: '${input.count}'
networks:
- network: '${resource.Cloud_NSX_Network_1.id}'
Provider_LoadBalancer_1:
type: Cloud.LoadBalancer
properties:
name: OC-LB
routes:
- protocol: HTTP
port: '80'
instanceProtocol: HTTP
instancePort: '80'
healthCheckConfiguration:
protocol: HTTP
port: '80'
urlPath: /index.html
intervalSeconds: 60
timeoutSeconds: 5
unhealthyThreshold: 5
healthyThreshold: 2
network: '${resource.Cloud_NSX_Network_1.id}'
internetFacing: false
instances: '${resource["ubuntu-vm"].id}'
Cloud_NSX_Network_1:
type: Cloud.NSX.Network
properties:
networkType: existing
constraints:
- tag: nsxt24prod |
Más información
- Equilibrador de carga con información detallada de NSX-T
- Automatización de redes con NSX: Parte 1 (incluye el uso de cuentas de nube de NSX-T y vCenter y CIDR de red)
- Automatización de redes con NSX: Parte 2 (incluye el uso de tipos de red existentes y salientes)
- Automatización de redes con NSX: Parte 3 (incluye el uso de grupos de seguridad existentes y a petición)
- Automatización de redes con NSX: Parte 4 (incluye el uso de equilibradores de carga existentes y a petición)