[PYTHON] lire le tag qui vous est attribué dans ec2 avec boto3

Fonction de balise fournie dans ec2. Il est pratique à utiliser comme une variable d'environnement. Examinez une balise spécifique et modifiez le fichier de paramètres lu par l'application lors de l'exécution. Toka Toka. ec2 a API pour obtenir vos propres métadonnées. Essayons-le avec boto3.

Tout d'abord, comme préparation préliminaire, rendez access_key_id et secret_access_key visibles du côté de l'application. Il est normal d'écrire un solide dans le code source, mais ce n'est pas sécurisé, alors exportez-le vers le shell.

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

Essayez d'obtenir cela de python.

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'

Si vous pouvez confirmer que vous pouvez l'obtenir, essayez d'obtenir le tag qui vous est réellement attribué.

console


>>> import os
>>> import urllib2
>>> from boto3.session import Session
>>> 
#Mon instance de l'API de métadonnées-Récupérez l'identifiant.
>>> instance_id = urllib2.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read()
>>> 
#Créez une session pour 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'))
>>> 
#Créez un objet ec2.
>>> ec2 = aws.resource('ec2')
# instance-Créez un objet d'instance en spécifiant id. Pour ainsi dire, c'est moi-même.
>>> instance = ec2.Instance(id=instance_id)
>>> 
#Obtenez la balise complètement. C'est un peu difficile à utiliser, donc je le façonne.
>>> tags = dict([(tag['Key'], tag['Value']) for tag in instance.tags])
#Il est répertorié ici. Devrait être.
>>> tags
{'Name': 'API_PROD', ...}

Personnellement, j'ajoute toujours une balise Env, et j'essaye de décider du fichier de paramètres à lire en le regardant. Si vous faites cela, vous pouvez modifier les paramètres autour de db et du bucket de s3 au moment de l'exécution, même avec le même ami, ce qui est pratique et pratique :-)

Recommended Posts

lire le tag qui vous est attribué dans ec2 avec boto3
Introduction à Python avec Atom (en route)
Décrivez ec2 avec boto3 et récupérez la valeur
Comment obtenir la clé sur Amazon S3 avec Boto 3, exemple de mise en œuvre, notes
La lecture du compteur analogique peut être effectuée avec l'exemple MNIST.
Transition vers l'écran de mise à jour avec le Django a tag
La lecture du compteur analogique peut être effectuée avec l'exemple MNIST.
Je t'ai écrit pour regarder le signal avec Go
J'ai essayé d'analyser les émotions de tout le roman "Weather Child" ☔️
Mémo pour obtenir la valeur côté html-javascript avec jupyter
Déplacez ce que vous avez installé avec pip dans l'environnement conda
[AWS EC2] Paramètres que vous souhaitez effectuer sur Amazon Linux 2
Enregistrer des images sur le Web sur un lecteur avec Python (Colab)
Vous qui voulez lancer Rails à la fois sur l'hôte et le client avec Docker Compose!
Lire les coordonnées du tracé sur le graphe avec Python-matplotlib (super débutant)
Notez ce que vous avez fait pour utiliser Flycheck avec Python
Comment faire une commande pour lire le fichier de paramètres avec pyramide
Comment installer des pandas sur EC2 (Comment gérer MemoryError et PermissionError)
J'ai essayé de démarrer avec Bitcoin Systre le week-end
Que faire lorsque l'inode est épuisé sur EC2 Linux
Lorsque vous souhaitez ajuster l'intervalle de l'échelle de l'axe avec APLpy
Ravi de vous rencontrer avec python
Préparation à l'exécution de Flask sur EC2
Comment lire l'ensemble de données SNLI
Connectez-vous à Elastic MQ avec boto
Utilisez boto3 pour accéder à S3
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
Mettez Cabocha 0.68 dans Windows et essayez d'analyser la dépendance avec Python
Connectez-vous au VPN avec votre smartphone et éteignez / rallumez le serveur
[Introduction à l'apprentissage automatique] Jusqu'à ce que vous exécutiez l'exemple de code avec chainer
Si vous souhaitez inclure awsebcli dans CircleCI, spécifiez la version de python
18 beaux termes Python que vous voulez lire à haute voix. R18 avec des exemples de phrases
Ajouter un intervalle de confiance de 95% des deux côtés pour la figure avec Python / Matplotlib
Utilisez python sur Raspberry Pi 3 pour éclairer la LED avec le contrôle du commutateur!
[Reconnaissance d'image] Comment lire le résultat de l'annotation automatique avec VoTT
J'ai essayé avec les 100 meilleurs packages PyPI> J'ai essayé de représenter graphiquement les packages installés sur Python
Lisez le fichier avec python et supprimez les sauts de ligne [Notes sur la lecture du fichier]
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
Préparer l'environnement de Chainer sur l'instance spot EC2 avec AWS Lambda
# 1 Jusqu'au déploiement de l'application Web de Django (création d'une instance avec EC2 sur AWS)
L'histoire de la tentative de pousser SSH_AUTH_SOCK obsolète avec LD_PRELOAD à l'écran
Déplacez la tortue à l'endroit où vous cliquez sur la souris avec la tortue en Python
Comment gérer "^ [[A ^ [[B ^ [[C ^ [[D"]] en appuyant sur la touche de direction lors de l'exécution de python sur mac
Comment lire pydoc sur l'interpréteur python
Jusqu'à ce que vous puissiez lire le journal des erreurs
[C] [python] Lire avec AquesTalk sous Linux
Lisons le fichier RINEX avec Python ①
Essayez le chiffrement côté serveur de S3 à l'aide de boto3
Télécharger des fichiers sur le Web avec Python
Passer au module PyPI avec ctags
Alignez la barre de couleurs sur la figure avec matplotlib
Vous recherchez commandlinefu sur la ligne de commande
Comment lire les données de problème avec Paiza
La route de la compilation vers Python 3 avec Thrift
Livres sur la science des données à lire en 2020
Comment publier un blog sur Amazon S3 avec le moteur de blog statique `` Pélican '' pour Pythonista
Je t'ai fait exprimer la fin de l'adresse IP avec L Chika
[OpenCV] Lorsque vous voulez vérifier s'il est lu correctement avec imread
[Python] Comment enregistrer des images sur le Web à la fois avec Beautiful Soup