inhumantsar.ec2-vpc

ec2-vpc

Co to jest?

Tworzy nową VPC, publiczne podsieci i bramę internetową.

Dlaczego?

Zapewnia prosty, samodzielny interfejs.

Jak to działa?

Wymagania wstępne

  • Python: boto (nie boto3)
vpc_service_env: 'dev'        # faktyczna nazwa VPC będzie miała to dopisane, np. name_env
vpc_service_state: 'present'  # ustaw na 'absent', aby usunąć elementy po zakończeniu

vpc_name: 'test'
vpc_cidr: '10.0.0.0/16'
vpc_region: 'us-east-1'
vpc_public_subnet_cidrs:
  - '10.0.1.0/24'         # możesz podać dowolną wartość dla podsieci
  - '10.0.2.0/24'         # musisz samodzielnie to obliczyć
vpc_public_subnet_azs:
  '10.0.1.0/24': 'a'      # te klucze muszą odpowiadać wartościom w vpc_public_subnet_cidrs
  '10.0.2.0/24': 'b'      # można dodać więcej, ale wszystkie wartości w ^

Co się dzieje w tle

library/get_subnet_ids.py

Po prostu wykonuje pewne zrozumienie słownika, aby zwrócić tylko identyfikatory podsieci z obiektu pełnego informacji.

library/rtb_deleteable.py

To prosty moduł służący do analizowania danych zwróconych przez ec2_vpc_route_table_facts. Odczytuje on słownik, który tworzy, i produkuje słownik, w którym klucze to identyfikatory tablicy routingu, a wartości to boolean, który wskazuje, czy tablica routingu może być bezpiecznie usunięta. Działa to przez sprawdzenie flagi, która oznacza "główną" tablicę routingu.

Dlaczego?

"Główna" tablica routingu nie może być usunięta, chyba że poprzez usunięcie VPC, więc musimy ją pominąć. Jednak przeszukiwanie takiego słownika czystym Ansible jest trudne/niemożliwe. Na szczęście dodanie trochę kreatywnego skryptu Pythona do roli Ansible jest dość łatwe.

O projekcie

Creates a new VPC, public subnets, and an internet gateway. Optionally creates private subnets and a NAT gateway.

Zainstaluj
ansible-galaxy install inhumantsar.ec2-vpc
Licencja
bsd-3-clause
Pobrania
70
Właściciel