web-dev-qa-db-fra.com

Comment exécuter un code dans une instance EC2 d'Amazone?

Je ne comprends presque rien au fonctionnement d'EC2. J'ai créé un compte Amazon Web Service (AWS). J'ai ensuite lancé une instance EC2.

Et maintenant, je voudrais exécuter un code Python dans cette instance, et je ne sais pas comment procéder. Est-il nécessaire de charger le code quelque part dans l'instance? Ou dans S3 d'Amazon et pour le lier à l'instance?

Où existe-t-il un guide expliquant les usages possibles de l'instance? Je me sens comme un homme devant le tableau de bord d'une soucoupe volante sans guide d'utilisation.

67
humalayi

Voici une procédure très simple pour déplacer votre script Python du local vers l'instance EC2 et l'exécuter.

> 1. scp -i <filepath to Pem> <filepath to Py File> ec2-user@<Public DNS>.compute-1.amazonaws.com:<filepath in EC2 instance where you want
> your file to be>
> 2. Cd to to the directory in EC2 containing the file. Type Python <Filename.py> There it executed.

Voici des exemples concrets pour ceux qui aiment les choses montrées étape par étape:

  1. Dans votre répertoire local, créez un script python avec le code suivant: print ("Hello AWS")
  2. En supposant que vous avez déjà configuré AWS et que vous souhaitez exécuter ce script dans EC2, vous devez SCP (Secure Copy Protocol) votre fichier dans un répertoire dans EC2. Voici donc un exemple:
    - Mon chemin de fichier vers pem est ~/Desktop/random.pem.
    - Mon chemin de fichier vers le fichier py est ~/Desktop/hello_aws.py
    - Mon DNS public est ec22-34-12-888
    - Le répertoire ec2 où je veux que mon script se trouve dans/home/ec2-user
    - La commande complète que j'exécute dans mon terminal local est donc:

scp -i ~/Desktop/random.pem ~/Desktop/hello_aws.py [email protected]:/home/ec2-user

  1. Maintenant ssh dans votre instance ec2, cd vers/home/ec2-user (Ou partout où vous placez votre fichier) et Python hello_aws.py
26
MLhacker

Vous avez une variété d'options. Vous pouvez parcourir une grande bibliothèque d'AMI ici .

Vous pouvez importer un vm, les instructions sont ici .

Il s'agit d'un article général sur AWS et python .

Et dans cet article, l'auteur vous guide à travers n système plus avancé avec une combinaison de banques de données dans python en utilisant le hautement recommandé Django framework .

22
marr75
  1. Lancez votre instance via la console de gestion d'Amazon -> Actions d'instance -> Connecter (Plus de détails dans le guide de démarrage)

  2. Lancer le Java basé sur SSH CLient

  3. Plugins-> Transfert de fichiers SCFTP

  4. Téléchargez vos fichiers

  5. exécutez vos fichiers en arrière-plan (avec '&' à la fin ou utilisez Nohup)

Assurez-vous de sélectionner une AMI avec python inclus, vous pouvez vérifier en tapant 'python' dans le shell. Si votre application nécessite des packages non orthodoxes, vous devrez les installer.

4
Cristian

Exécution de scripts sur des instances Linux ec2


J'ai dû exécuter un script sur Amazon ec2 et j'ai appris à le faire. Même si la question a été posée il y a des années, j'ai pensé que je partagerais combien c'est facile aujourd'hui.

Configuration de EC2 et ssh-ing sur ec2 Host

  • Inscrivez-vous et lancez une instance ec2 (N'oubliez pas d'enregistrer le fichier de certificat qui sera généré lors du lancement d'ec2) avec les paramètres par défaut.
  • Une fois l'ec2 opérationnel, fournissez les autorisations requises au fichier de certificat chmod 400 /path/my-key-pair.pem (Ou au fichier .cer)
  • Exécutez la commande: ssh -i /path/my-key-pair.pem(.cer) USER@Public DNS ( [~ # ~] utilisateur [~ # ~] modifications des données en fonction du système d'exploitation que vous avez lancé, reportez-vous au paragraphe ci-dessous pour plus de détails && DNS public peut être obtenu sur la page d'instance ec2)

Utilisez la commande ssh pour vous connecter à l'instance. Vous spécifiez le fichier de clé privée (.pem) et user_name @ public_dns_name. Pour Amazon Linux, le nom d'utilisateur est ec2-user. Pour RHEL, le nom d'utilisateur est ec2-user ou root. Pour Ubuntu, le nom d'utilisateur est ubuntu ou root. Pour Centos, le nom d'utilisateur est centos. Pour Fedora, le nom d'utilisateur est ec2-user. Pour SUSE, le nom d'utilisateur est ec2-user ou root. Sinon, si l'utilisateur ec2 et root ne fonctionnent pas, consultez votre fournisseur AMI.

Clonez le script sur EC2

Afin d'exécuter les scripts sur ec2, je préférerais stocker le code sur Github en tant que repo ou en tant que Gist (si vous devez garder le code privé) et cloner dans ec2.

La mention ci-dessus est très facile et n'est pas sujette aux erreurs.

Exécution du script python

J'ai travaillé avec l'instance RHEL Linux et python était déjà installé. Donc, je pouvais exécuter le script python après avoir fait la ssh-ing directement sur Host. Cela dépend de votre système d'exploitation que vous choisissez. Reportez-vous aux manuels aws s'il n'est pas déjà installé.

Référence: AWS Doc

2
vardin