2016-10-18 10 views
-1

AWSプラットフォームにログインする手作業のいくつかのPythonコードを書き込もうとしています。 UbuntuのターミナルでPythonのboto3ライブラリを使用してAWSインスタンスにログイン

は、私は今、私はこれを自動化することができるだろうPythonのコードを探しています

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

コマンドを記述するために使用し、再度

ssh [email protected]<ip.address> 

を使用して別のインスタンスにログインログイン処理中です。私は今まで以下のコードを書いています。

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

boto3は、端末またはインスタンスでアクションを実行するためではなく、AWS APIとのインタフェースに使用されるSDKです。おそらく、boto3を使用していくつかの基準に基づいてEC2インスタンスのIPアドレスを取得することを意味しますか? SSHで何らかのアクションを実行するには、別のライブラリ(おそらく[paramiko](http://www.paramiko.org/))を使う必要があります。 – Fishizzle

+0

@Fishizzle - インスタンスのIPアドレスは必要ありません。私はすでにそれを持っています。インスタンスにログインしてから、いくつかのアクションを実行するだけです。 –

+0

@KshitijMarwahあなたはログインしたくない、あなたはアクションを実行したい。どのような行動ですか? –

答えて

2

主にboto3ライブラリを構成する2つの方法があります。

  1. システムで最初に設定し、どこでも同じ設定を使用する必要があります。端末にaws configureを実行すると、AWS CLIを使用できます。

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'が設定されています。私はAWSのec2インスタンスについて作業したいと思います。 –

+0

これは例です。 ec2、s3、sqsなどのリソースを編集することができます。 – Anistark

0

あなたが実行中のインスタンスに対してアクションを実行したい場合は、boto3は何ではありません。環境変数を設定し、process.env.ENV_KEY経由boto3の設定を呼び出してから、好き、それを使用

  • 探しています。何を求めているのかは、構成管理と呼ばれるものです。

    ParamikoのようなSSHライブラリを使用して自分で何かを書くことができますが、Fabricのような専用のソフトウェアパッケージを見てください。前述のParamikoの上に構築され、リモートサーバー上でコマンドを実行するための機能が追加されています。フル機能のオープンソースの構成管理ソリューションについては、Ansibleを参照することをお勧めします。

    AWSには、EC2 Run CommandというEC2インスタンスを設定するネイティブサービスもあります。

  • 関連する問題