mateothegreat.aws_vpc_create

Utwórz AWS VPC

Funkcje:

  • Tworzy (opcjonalne) połączenie.
  • Obsługuje tagowanie dla WSZYSTKICH zasobów.

Ta rola utworzy nowy AWS VPC, w tym:

  • Połączenie
  • Brama internetowa
  • Brama NAT
  • Tabela routingu
  • Podsieci

Wymagania

pip install ansible boto3 boto

Zmienne

aws_vpc_create:
  profile: "default"            # Nazwa profilu z pliku poświadczeń AWS.
  name: "test-1"                # Nazwa VPC, które chcesz utworzyć.
  region: "eu-central-1"        # Region AWS.
  cidr: "201.0.0.0/16"          # CIDR dla całego VPC.
  internet_gateway: "true"      # Tworzy bramę internetową.
  nat_gateway: "true"           # Tworzy bramę NAT z adresem IP elastic.
  allow_duplicate_name: "false" # Nie przerywaj, jeśli VPC o tej samej nazwie już istnieje.
  allow_duplicate_cidr: "false" # Nie przerywaj, jeśli VPC z tym samym CIDR już istnieje.
  purge_cidrs: "true"           # Usuwa wszystkie CIDR, jeśli korzysta z istniejącego VPC.
  peering:
    - name: "test-1-peer"
      vpc_id: "vpc-0504d01b93f46e610"
      region: "eu-central-1"
      cidr: "22.16.0.0/16"
      update_accepter_route_table: "true" # Dodaje trasę powracającą do tego VPC w tabeli tras akceptora.
  dns:
    enable_support: "true"      # Włącz wsparcie DNS dla tego VPC.
    enable_hostnames: "true"    # Włącz rozwiązywanie nazw hostów dla tego VPC.
  subnets:
    - name: "public-1"
      type: "public"
      az: "eu-central-1a"
      cidr: "201.0.1.0/24"
    - name: "public-2"
      type: "public"
      cidr: "201.0.2.0/24"
      az: "eu-central-1b"
    - name: "private-1"
      type: "private"
      cidr: "201.0.3.0/24"
      az: "eu-central-1a"
    - name: "private-2"
      type: "private"
      cidr: "201.0.4.0/24"
      az: "eu-central-1b"
  tags:
    created_by: "Matthew Davis"

Przykład użycia

Dodaj poniższe do pliku, np. playbook.yaml:

- hosts: monitoring
  roles:
    - role: "mateothegreat.aws_vpc_create"
      vars:
        aws_vpc_create:
          profile: "default"            # Nazwa profilu z pliku poświadczeń AWS.
          name: "test-1"                # Nazwa VPC, które chcesz utworzyć.
          region: "eu-central-1"        # Region AWS.
          cidr: "201.0.0.0/16"          # CIDR dla całego VPC.
          internet_gateway: "true"      # Tworzy bramę internetową.
          nat_gateway: "true"           # Tworzy bramę NAT z adresem IP elastic.
          allow_duplicate_name: "false" # Nie przerywaj, jeśli VPC o tej samej nazwie już istnieje.
          allow_duplicate_cidr: "false" # Nie przerywaj, jeśli VPC z tym samym CIDR już istnieje.
          purge_cidrs: "true"           # Usuwa wszystkie CIDR, jeśli korzysta z istniejącego VPC.
          peering:
            - name: "test-1-peer"
              vpc_id: "vpc-0504d01b93f46e610"
              region: "eu-central-1"
              cidr: "22.16.0.0/16"
              update_accepter_route_table: "true" # Dodaje trasę powracającą do tego VPC w tabeli tras akceptora.
          dns:
            enable_support: "true"      # Włącz wsparcie DNS dla tego VPC.
            enable_hostnames: "true"    # Włącz rozwiązywanie nazw hostów dla tego VPC.
          subnets:
            - name: "public-1"
              type: "public"
              az: "eu-central-1a"
              cidr: "201.0.1.0/24"
            - name: "public-2"
              type: "public"
              cidr: "201.0.2.0/24"
              az: "eu-central-1b"
            - name: "private-1"
              type: "private"
              cidr: "201.0.3.0/24"
              az: "eu-central-1a"
            - name: "private-2"
              type: "private"
              cidr: "201.0.4.0/24"
              az: "eu-central-1b"
          tags:
            created_by: "Matthew Davis"

Uruchom polecenie: ansible-playbook -i <twój plik inwentarza> playbook.yaml.

Kontakt

Możesz się ze mną skontaktować pod adresem https://matthewdavis.io.

O projekcie

Provision a complete AWS VPC.

Zainstaluj
ansible-galaxy install mateothegreat.aws_vpc_create
Licencja
Unknown
Pobrania
120
Właściciel
🚀 ☞ Senior Software Architect, Cloud Engineer & DevOps Advocate. ✌