2016-10-18 3 views
-1

Я пытаюсь написать код python, который мог бы выполнить несколько шагов моего руководства при входе в платформу AWS.Вход в экземпляр AWS с использованием библиотеки boto3 из python

В терминале Ubuntu, я использовал, чтобы написать команду

ssh -A [email protected]<ip-address> 

, а затем снова войти в другой экземпляр, используя

ssh [email protected]<ip.address> 

Теперь я смотрю на питона код, который смог бы автоматизировать этот процесс регистрация в процессе. До сих пор я написал следующий код.

import boto3 
ec2 = boto3.resource('ec2') 
+1

boto3 - это SDK, используемый для взаимодействия с AWS API, а не для выполнения действий в терминале или в экземплярах. Возможно, вы имеете в виду, что хотите использовать boto3 для получения IP-адресов экземпляров EC2 на основе некоторых критериев? Тогда вам понадобится использовать другую библиотеку, возможно, [paramiko] (http://www.paramiko.org/), чтобы выполнять какие-либо действия над SSH. – Fishizzle

+0

@Fishizzle - Мне не нужен IP-адрес экземпляра. У меня это уже есть. Мне просто нужно войти в экземпляр и выполнить некоторые действия. –

+0

@KshitijMarwah Вы не хотите входить в систему, вы хотите выполнять действия. Какие действия? –

ответ

2

Есть 2 способа в основном настроить библиотеку boto3.

  1. Необходимо сначала сконфигурировать его в своей системе и повсеместно использовать ту же конфигурацию. Вы можете использовать AWS CLI для этого, запустив aws configure на вашем терминале.

  2. Задайте переменные среды и вызвать конфигурацию boto3 через process.env.ENV_KEY, а затем использовать его как:

client = boto3.client( 'ec2', aws_access_key_id=process.env.ACCESS_KEY, aws_secret_access_key=process.env.SECRET_KEY, aws_session_token=process.env.SESSION_TOKEN, )

+0

Спасибо за ответ, но у меня уже есть 's3'. Я хотел бы работать над экземпляром ec2 от AWS. –

+0

Это был пример. Вы можете отредактировать ресурс для чего угодно: от ec2, s3, sqs и т. Д. Отвечать Edited. – Anistark

0

Если вы хотите выполнить действия по запущенному экземпляру, boto3 не то, что вы «Ищем. О чем вы спрашиваете, больше в сфере управления .

Хотя вы можете написать что-то самостоятельно, используя библиотеку SSH, такую ​​как Paramiko, вы можете захотеть взглянуть на более цельный программный пакет, например Fabric. Он построен на вершине вышеупомянутого Paramiko, с добавленной функциональностью, адаптированной к работающим командам на удаленных серверах. Для более полнофункционального решения по управлению конфигурацией с открытым исходным кодом я рекомендую посмотреть на Ansible.

AWS также имеет собственный сервис для конфигурирования экземпляров EC2 под названием EC2 Run Command.

Смежные вопросы