[PYTHON] Lesen Sie das Tag, das Ihnen in ec2 mit boto3 zugewiesen wurde

Tag-Funktion in ec2. Es ist bequem, wie eine Umgebungsvariable zu verwenden. Sehen Sie sich ein bestimmtes Tag an und ändern Sie die von der Anwendung zur Laufzeit gelesene Einstellungsdatei. Toka Toka. ec2 verfügt über API zum Abrufen eigener Metadaten. Versuchen wir es mit boto3.

Machen Sie als vorläufige Vorbereitung zunächst access_key_id und secret_access_key von der Anwendungsseite aus sichtbar. Sie können solide in den Quellcode schreiben, aber es ist nicht sicher, also exportieren Sie es in die Shell.

$ export AWS_KEY='some-key'
$ export AWS_SECRET='some-secret'
$ export AWS_REGION='ap-northeast-1'

Versuchen Sie, dies von Python zu bekommen.

console


>>> import os
>>> os.environ.get('AWS_KEY')
'some-key'
>>> os.environ.get('AWS_SECRET')
'some-secret'
>>> os.environ.get('AWS_REGION')
'ap-northeast-1'

Wenn Sie bestätigen können, dass Sie es erhalten können, versuchen Sie, das Ihnen tatsächlich zugewiesene Tag zu erhalten.

console


>>> import os
>>> import urllib2
>>> from boto3.session import Session
>>> 
#Meine Instanz aus der Metadaten-API-Holen Sie sich die ID.
>>> instance_id = urllib2.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read()
>>> 
#Erstellen Sie eine Sitzung für aws api.
>>> aws = Session(aws_access_key_id=os.environ.get('AWS_KEY'),
...               aws_secret_access_key=os.environ.get('AWS_SECRET'),
...               region_name=os.environ.get('AWS_REGION'))
>>> 
#Erstellen Sie ein ec2-Objekt.
>>> ec2 = aws.resource('ec2')
# instance-Erstellen Sie ein Instanzobjekt, indem Sie die ID angeben. Das bin sozusagen ich selbst.
>>> instance = ec2.Instance(id=instance_id)
>>> 
#Holen Sie sich das Tag vollständig. Es ist etwas schwierig zu bedienen, also gestalte ich es.
>>> tags = dict([(tag['Key'], tag['Value']) for tag in instance.tags])
#Es ist hier aufgelistet. Sollte sein.
>>> tags
{'Name': 'API_PROD', ...}

Persönlich füge ich immer ein Env-Tag hinzu und versuche, die zu lesende Einstellungsdatei durch Betrachten zu bestimmen. Wenn Sie dies tun, können Sie die Einstellungen um db und den Bucket von s3 zur Laufzeit auch mit derselben ami ändern, was praktisch und praktisch ist :-)

Recommended Posts

Lesen Sie das Tag, das Ihnen in ec2 mit boto3 zugewiesen wurde
Einführung in Python mit Atom (unterwegs)
Beschreibe ec2 mit boto3 und rufe den Wert ab
Hinweise zum Implementieren des Schlüssels unter Amazon S3 mit Boto 3, Implementierungsbeispiel, Hinweise
Das Ablesen des analogen Messgeräts kann am Beispiel MNIST erfolgen.
Übergang zum Update-Bildschirm mit dem Django-Tag
Das Ablesen des analogen Messgeräts kann am Beispiel MNIST erfolgen.
Ich habe dir geschrieben, dass du das Signal mit Go sehen sollst
Ich habe versucht, die Emotionen des gesamten Romans "Wetterkind" zu analysieren
Memo, um den Wert auf der HTML-Javascript-Seite mit Jupiter zu erhalten
Verschieben Sie das, was Sie mit pip installiert haben, in die Conda-Umgebung
[AWS EC2] Einstellungen, die Sie unter Amazon Linux 2 vornehmen möchten
Speichern Sie Bilder im Web mit Python (Colab) auf einem Laufwerk.
Sie dort, die Rails sowohl auf dem Host als auch auf dem Client mit Docker Compose starten möchten!
Lesen Sie die Koordinaten des Diagramms in der Grafik mit Python-matplotlib (Super-Anfänger)
Beachten Sie, was Sie getan haben, um Flycheck mit Python zu verwenden
So erstellen Sie einen Befehl zum Lesen der Einstellungsdatei mit Pyramide
So installieren Sie Pandas auf EC2 (Umgang mit MemoryError und PermissionError)
Ich habe am Wochenende versucht, mit Bitcoin Systre zu beginnen
Was tun, wenn der Inode unter EC2 Linux erschöpft ist?
Wenn Sie das Intervall der Achsenskala mit APLpy anpassen möchten
Schön dich mit Python zu treffen
Vorbereiten des Betriebs von Flask auf EC2
Lesen des SNLI-Datensatzes
Stellen Sie mit boto eine Verbindung zu Elastic MQ her
Verwenden Sie boto3, um zu S3 zu gelangen
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren
Stellen Sie mit Ihrem Smartphone eine Verbindung zum VPN her und schalten Sie den Server aus / ein
[Einführung in das maschinelle Lernen] Bis Sie den Beispielcode mit Chainer ausführen
Wenn Sie awsebcli in CircleCI aufnehmen möchten, geben Sie die Python-Version an
18 wunderschöne Python-Begriffe, die Sie vorlesen möchten. R18 mit Beispielsätzen
Fügen Sie auf beiden Seiten ein Konfidenzintervall von 95% hinzu, um mit Python / Matplotlib zu rechnen
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
[Bilderkennung] Lesen des Ergebnisses der automatischen Annotation mit VoTT
Ich habe es mit den Top 100 PyPI-Paketen versucht.> Ich habe versucht, die auf Python installierten Pakete grafisch darzustellen
Lesen Sie die Datei mit Python und löschen Sie die Zeilenumbrüche [Hinweise zum Lesen der Datei]
Ich habe versucht, den Text des Romans "Wetterkind" mit Word Cloud zu visualisieren
Bereiten Sie die Umgebung von Chainer auf der EC2-Spot-Instanz mit AWS Lambda vor
# 1 Bis zur Bereitstellung der Webanwendung von Django (Erstellen einer Instanz mit EC2 unter AWS)
Die Geschichte des Versuchs, SSH_AUTH_SOCK mit LD_PRELOAD auf dem Bildschirm veraltet zu halten
Bewegen Sie die Schildkröte an die Stelle, an der Sie mit der Maus mit der Schildkröte in Python klicken
Umgang mit "^ [[A ^ [[B ^ [[C ^ [[D"]] beim Drücken der Richtungstaste beim Ausführen von Python auf dem Mac
Wie man pydoc auf Python Interpreter liest
Bis Sie das Fehlerprotokoll lesen können
[C] [Python] Lesen mit AquesTalk unter Linux
Lesen wir die RINEX-Datei mit Python ①
Versuchen Sie die serverseitige Verschlüsselung von S3 mit boto3
Laden Sie mit Python Dateien im Web herunter
Tag-Sprung zum PyPI-Modul mit ctags
Richten Sie die Farbleiste mit matplotlib an der Figur aus
Sie suchen in der Befehlszeile nach commandlinefu
Wie man Problemdaten mit Paiza liest
Der Weg zum Kompilieren zu Python 3 mit Thrift
Bücher über Datenwissenschaft, die 2020 gelesen werden sollen
So veröffentlichen Sie ein Blog auf Amazon S3 mit der statischen Blog-Engine "Pelican" für Pythonista
Ich habe Sie dazu gebracht, das Ende der IP-Adresse mit L Chika auszudrücken
[OpenCV] Wenn Sie überprüfen möchten, ob es mit imread richtig gelesen wird
[Python] So speichern Sie Bilder mit Beautiful Soup sofort im Web