2

botoを使用してAWSUbuntuEC2インスタンスを起動できます。スクリプトをリモートUbuntuEC2(1つ以上)にアップロードし、SSH経由でローカルでスクリプトを実行しようとした人はいますか?

主な目的は、ローカルホストで記述されたPythonスクリプトを使用してプロセス全体を自動化することです。これを可能にする別の方法またはAmazonAPIツールはありますか?

4

3 に答える 3

1

Fabricをお勧めします。このようなことのために作られています。

于 2011-10-29T20:46:21.130 に答える
0

paramiko APIを利用する

于 2011-10-25T11:00:03.300 に答える
0

ここでは、リモート AWS EC2 Python で実行する Paramiko コード:

import paramiko
sftp, transport= None, None,  None
try:
    if keyfilepath=='': keyfilepath= AWS_KEY_PEM
    if keyfiletype == 'DSA':  key = paramiko.DSSKey.from_private_key_file(keyfilepath)
    else:                     key = paramiko.RSAKey.from_private_key_file(keyfilepath)

    if contype== 'sftp' :
      transport = paramiko.Transport((host, port))
      transport.add_server_key(key)
      transport.connect(None, username,  pkey=key)
      sftp = paramiko.SFTPClient.from_transport(transport)
      if isprint : print('Root Directory :\n ', sftp.listdir())
      return sftp

except Exception as e:
    print('An error occurred creating client: %s: %s' % (e.__class__, e))
    if sftp is not None:      sftp.close()
    if transport is not None: transport.close()
    if ssh is not None: ssh.close()
于 2016-12-27T06:47:28.387 に答える