2016-12-13 4 views
0

Ich bin ein komplettes noob mit Python und Boto und versuchen, eine grundlegende Verbindung zu ec2-Dienste herzustellen. ich den folgenden Code renne:Verbindung mit EC2 nicht möglich mit Python Boto

ec2Conn = boto.connect_ec2('username','password') 
group_name = 'python_central' 
description = 'Python Central: Test Security Group.' 
group = ec2Conn.create_security_group(group_name, description) 
group.authorize('tcp', 8888,8888, '<a href="http://0.0.0.0/0">0.0.0.0/0</a>') 

und die folgende Fehlermeldung erhalten: AWS war die zur Verfügung gestellten Zugangsdaten nicht in der Lage zu bestätigen

ich einige Beiträge gelesen habe, dass dies aufgrund sein könnte In dem Zeitunterschied zwischen meinem Rechner und dem EC2-Server, sondern nach den Protokollen, sind sie gleich:

host:ec2.us-east-1.amazonaws.com x-amz-date:20161213T192005Z

host;x-amz-date 515db222f793e7f96aa93818abf3891c7fd858f6b1b9596f20551dcddd5ca1be 2016-12-13 19:20:05,132 boto [DEBUG]:StringToSign:

Jede Idee, wie diese Verbindung zum laufen zu bringen?

Danke!

+1

Sie verwenden 'boto' Instanzen zu starten, schließen Sie nicht zu Instanzen. Möchten Sie in die von Ihnen erstellte Instanz wechseln? – helloV

+2

Woher bekommst du 'Benutzername' und' Passwort'? Die AWS-API nimmt keinen Benutzernamen/Passwort, sie benötigt einen Zugriffsschlüssel und einen geheimen Schlüssel. Sie scheinen den AWS-API-Zugriff und den EC2-SSH-Zugriff zu verwechseln. –

+0

@helloV Ich versuche Instanzen zu starten. Beispielcode von hier: http: //pythoncentral.io/introduction-to-python-on-aws-with-boto/ – Urik

Antwort

1

Aufruf an die AWS API gemacht erfordern eine Authentifizierung über Access Key und Secret Key. Diese können über die IAM-Konsole (Identity and Access Management) unter der Registerkarte Security Credentials für einen Benutzer abgerufen werden.

Siehe: Getting Your Access Key ID and Secret Access Key

Wenn Sie mit Python nicht kennen, finden Sie es leichter AWS-Dienste aufrufen, indem Sie den AWS Command-Line Interface (CLI) verwenden. Zum Beispiel dieser Befehl einzeiligen kann eine Amazon EC2-Instanz starten:

aws ec2 run-instances --image-id ami-c2d687ad --key-name joe --security-group-id sg-23cb34f6 --instance-type t1.micro 

See: AWS CLI run-instances documentation

Verwandte Themen