Chcę uruchomić skrypt startowy Pythona w instancji AWS, w której chcę uzyskać całkowity rozmiar pamięci wybrany podczas tworzenia wystąpienia.

Próbowałem free -h, grep MemTotal /proc/meminfo /proc/meminfo. Ale problem z tymi poleceniami jest, otrzymuję mniejszą ilość pamięci RAM niż rzeczywisty rozmiar pamięci, który wybrałem podczas tworzenia instancji (z powodu użycia systemu). Chcę uzyskać dokładny rozmiar pamięci, który wybrałem podczas tworzenia instancji. np. "2 GB" dla "t2.small", "4 GB" dla "C5.darge" itp.

Ponadto dostępny jest adres URL metadanych, aby uzyskać rozmiar pamięci instancji AWS.

Czy istnieje jakiś sposób, aby to zrobić?

0
Joseph N 26 październik 2020, 13:14

1 odpowiedź

Najlepsza odpowiedź

Sam tego nie zrobiłem, ale myślę, że proces może być coś w rodzaju:

Klient = boto3.client ('EC2')

Type = client.describe_instance_attribute (atrybut = "instancetype", instancjaid = 'your_id')

Szczegóły = klient.describe_instance_types (instancetypes = [typ])

Pamięć = Szczegóły ['Instancetypes'] ['MemerInfo'] ['SizeinMIB']

Musisz podać instancję prawe uprawnienia do uzyskania danych (nie jest to samo jak http://169.254.169.254 metadane).

Możesz także uzyskać typ instancji z http://169.254.169.254 / 2020-10-27 / META-DATA-DATA-Type / Ale próbuję udać się na w pełni Pythona rozwiązanie boto3.

0
Oscar De León 26 październik 2020, 11:00