6 Tipps und Tricks für AWS Kommandozeilen Ninjas

Das AWS Command Line Interface (CLI) erlaubt es Ihnen AWS Services einfach und bequem zu verwalten. Mit dem CLI können Sie im Terminal interaktiv Aufgaben bewältigen ohne die AWS Management Console benutzen zu müssen, was einen höheren Automatisierungsgrad ermöglicht. Außerdem können Shell-Skripte mit der Hilfe des AWS CLI verwendet werden um Infrastruktur-Setups zu automatisieren. Ein Beispiel: mit einem kleinen Shell-Skript und der AWS CLI kann zum Beispiel am Ende des Boot-Prozesses einer EC2-Instanz ein EBS Volume verbunden oder ein DNS-Eintrag über Route 53 angepasst werden.

Dieser Artikel beschreibt Tipps und Tricks für die Verwendung der AWS CLI im DevOps Alltag.

Kommando-Vervollständigung

Bei der Verwendung der CLI im Terminal ist die Kommando-Vervollständigung ein Killer-Feature. Nach dem Aktivieren lassen sich Kommandos mit der TAB-Taste automatisch vervollständigen. Damit kann die Arbeitsgeschwindigkeit bei der Verwendung der CLI signifikant erhöht werden.

Die folgenden Schritte sind notwendig um die Kommando-Vervollständigung für die bash auf OS X zu aktivieren:

echo "complete -C aws_completer aws" >> ~/.bash_profile
source ~/.bash_profile

(mehr …)

ElasticBeanstalk IAM Rechte

Leider scheint die Permission Policy ElasticBeansTalkFullAccess in IAM nicht da zu tun, was man erwartet …. offenbar hat AWS an IAM etwas geändert, was sie in ihre Standard-Routinen für Beanstalk nicht eingebaut haben, die letzten drei Rechte müssen manuell hinzugefügt werden, damit wirklich volle Rechte gegeben sind:

{
  "Statement": [
   {
     "Effect": "Allow",
     "Action": [
       "elasticbeanstalk:*",
       "ec2:*",
       "elasticloadbalancing:*",
       "autoscaling:*",
       "cloudwatch:*",
       "s3:*",
       "sns:*",
       "cloudformation:*",
       "rds:*",
       "iam:ListInstanceProfiles",
       "iam:AddRoleToInstanceProfile",
       "iam:PassRole"
     ],
     "Resource": "*"
   }
  ]
}

Richtige Nutzung der Amazon AWS Command Line unter Einsatz von IAM

Um die Amazon AWS Command Line Tools (am besten zu nutzen über die Bitnami Cloud Tools, siehe diesen Artikel) nutzen zu können, muss man allerdings für die AWS Command Line Tools entsprechende Zertifikate hinterlegen, da die Authentifizierung der AWS Command Line Tools am entsprechenden Amazon AWS Account automatisiert über Zertifikate erfolgt.

In der Regel machen das die meisten Kunden, in dem sie sich mit dem Master Account User anmelden (das ist der User, der das entsprechende AWS Konto erstellt hat) und in der AWS Console rechts oben im Menü auf Security Credentials klicken.

  

Anschließend kann man sich dort im Bereich X.509 ein neues Zertifikat erstellen lassen und das Zertifikat und den Private Key herunterladen und diese entsprechend in den AWS Command Line Tools einbinden.

Diese beiden Dateien werden dann i.d.R. an die Programmierer und Administratoren verteilt und alle fangen an zu arbeiten. Funktioniert technisch prima, ist aber suboptimal … denn was passiert, wenn einer das Unternehmen verlässt … dann muss man eigentlich ein neues Zertifikat mit Private Key erstellen und wieder neu verteilen …

(mehr …)