Mój szablon YAML jest następujący, chcę dodać właściwość Firewall, aby umożliwić ruch HTTP:

resources:

    - name: deployed-vm2222
      type: compute.v1.instance
      properties:
        zone: us-central1-f           
        machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/f1-micro
        disks:
        - deviceName: boot
          type: PERSISTENT
          boot: true
          autoDelete: true
7
A.JRJ 2 czerwiec 2018, 08:24

4 odpowiedzi

Najlepsza odpowiedź

Możesz dodać regułę zapory w szablonie następująco:

- name: allow-http-fw
  type: compute.v1.firewall
  properties:
    allowed:
      - IPProtocol: TCP
        ports: 80
    sourceRanges: [ 0.0.0.0/0 ]

Możesz określić właściwości wymienione dla zasobów zapory.

2
LundinCast 2 czerwiec 2018, 16:34

W zaporze, używamy:

targetTags: ["http"]

Następnie, w instancji, używamy:

tags:
    items: ["http"]

Kompletny plik może być jak pokazano:

resources:
- name: default-allow-http
  type: compute.v1.firewall
  properties:
    targetTags: ["http"]
    sourceRanges: ["0.0.0.0/0"]
    allowed:
      - IPProtocol: TCP
        ports: ["80"]    
- name: vm-test
  type: compute.v1.instance
  properties:
    zone: xxxx
    machineType: xxxx
    tags:
        items: ["http"]
    disks:
    - deviceName: boot
      type: PERSISTENT
      boot: true
      autoDelete: true
      initializeParams:
        diskName: xxxx
        sourceImage: xxxx
    networkInterfaces:
    - network: xxxx
      accessConfigs:
      - name: External NAT
        type: ONE_TO_ONE_NAT
16
Fady Ibrahim 16 luty 2019, 19:37

Kilka rzeczy do odnotowania podczas wykonywania tej akcji, upewnij się, że instancja jest poprawnie oznaczona, aby umożliwić zastosowanie etykietowania. Na przykład oznaczanie instancji, serwer HTTP lub HTTPS-Server zapewnia, że zaporę jest świadomy, że przetwarza ruch publiczny.

Dodanie wpisu zapory można osiągnąć w następujący sposób.

resources:
  - name: instance
    type: xxxxxxxx
    properties:
      zone: us-east1-b
      tags:
        items: ["http-server", "tensorboard"]
  - name: default-allow-http
    type: compute.v1.firewall
    properties:
      network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
      targetTags: ["http-server"]
      sourceRanges: ["0.0.0.0/0"]
      allowed:
      - IPProtocol: TCP
        ports: ["80"]
  - name: default-allow-tensorboard
    type: compute.v1.firewall
    properties:
      network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default
      targetTags: ["tensorboard"]
      sourceRanges: ["0.0.0.0/0"]
      allowed:
      - IPProtocol: TCP
        ports: ["6006"]
6
Richard Rose 23 grudzień 2019, 09:26

@LundAnd jest prawie całkowicie poprawny Brakuje network: w properties brakuje.

Byłoby to taką samą wartością jak w networkInterfaces:

0
Ken Ingram 3 sierpień 2019, 03:36