Sök…


Anmärkningar

Beskrivning

AWS Command Line Interface (CLI) är ett enhetligt verktyg för att hantera dina AWS-tjänster. Med bara ett verktyg för att ladda ner och konfigurera kan du styra flera AWS-tjänster från kommandoraden och automatisera dem genom skript.

AWS CLI introducerar en ny uppsättning enkla filkommandon för effektiva filöverföringar till och från Amazon S3.

Stödda tjänster

För en lista över tillgängliga tjänster som du kan använda med AWS Command Line Interface, se Tillgängliga tjänster i AWS CLI Command Reference.

AWS kommandoradsgränssnitt på GitHub

Du kan visa - och gaffel - källkoden för AWS CLI på GitHub i https://github.com/aws/aws-cli-projektet .

versioner

Version Utgivningsdatum
1.10.38 2016/06/14
1.10.35 2016/06/03
1.10.33 2016/05/25
1.10.30 2016/05/18

Installation och installation

Det finns ett antal olika sätt att installera AWS CLI på din maskin, beroende på vilket operativsystem och miljö du använder:

På Microsoft Windows - använd MSI-installationsprogrammet. På Linux, OS X eller Unix - använd pip (en pakethanterare för Python-programvara) eller installera manuellt med det medföljande installationsprogrammet.

Installera med pip:

Du måste installera python (version 2, 2.6.5 +, 3 eller 3.3+). Kolla med

python --version

pip --help

Med tanke på att båda dessa är installerade, använd följande kommando för att installera aws cli.

sudo pip install awscli

Installera på Windows AWS CLI stöds på Microsoft Windows XP eller senare. För Windows-användare erbjuder MSI-installationspaketet ett bekant och bekvämt sätt att installera AWS CLI utan att installera andra förutsättningar. Windows-användare bör använda MSI-installationsprogrammet såvida de inte redan använder pip för pakethantering.

Kör det nedladdade MSI-installationsprogrammet. Följ instruktionerna som visas.

Installera AWS CLI med hjälp av det medföljande installationsprogrammet

förutsättningar:

  • Linux, OS X eller Unix
  • Python 2 version 2.6.5+ eller Python 3 version 3.3+
  1. Ladda ner AWS CLI Bundled Installer med wget eller curl.

  2. Packa upp paketet.

  3. Kör installationen körbar.

På Linux och OS X är här de tre kommandona som motsvarar varje steg:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Installera med hjälp av HomeBrew på OS X:

Ett annat alternativ för OS X

brew install awscli

Testa AWS CLI-installationen

Bekräfta att CLI är korrekt installerat genom att visa hjälpfilen. Öppna en terminal, skal eller kommandotolk, ange aws-hjälp och tryck på Enter:

$ aws help

Konfigurera AWS CLI

När du är klar med installationen måste du konfigurera den. Du behöver din åtkomstnyckel och den hemliga nyckeln som du får när du skapar ditt konto på aws. Du kan även ange ett standard region namn och ett standard utdatatyp (text | bord | json).

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: ENTER

Uppdatering av CLI-verktyget

Amazon släpper regelbundet nya versioner av AWS Tool. Om verktyget installerades med Python Pip-verktyget kommer följande kommando att kontrollera fjärrförvaret för uppdateringar och tillämpa det på ditt lokala system.

$ pip install awscli --upgrade

Skapa en ny profil

myprofile en ny referensprofil med namnet myprofile :

$ aws configure --profile myprofile
AWS Access Key ID [None]: ACCESSKEY
AWS Secret Access Key [None]: SECRETKEY
Default region name [None]: REGIONNAME
Default output format [None]: text | table | json

För AWS-nyckel-ID och hemlighet, skapa en IAM-användare i AWS-konsolen och generera nycklar för den.

Region är standardregion för kommandon i formatet eu-west-1 eller us-east-1 .

Standardutdataformatet kan antingen vara text , table eller json .

Du kan nu använda profilnamnet i andra kommandon med alternativet --profile , t.ex.

$ aws ec2 describe-instances --profile myprofile

AWS-bibliotek för andra språk (t.ex. aws-sdk för Ruby eller boto3 för Python) har alternativ för att använda profilen du skapar med den här metoden också. Skapa t.ex. en ny session i boto3 kan göras så här, boto3.Session(profile_name:'myprofile') och det kommer att använda de referenser du skapade för profilen.

Detaljerna för din aws-cli-konfiguration finns i ~/.aws/config och ~/.aws/credentials (på linux och mac-os). Dessa detaljer kan redigeras manuellt därifrån.

Använda aws cli-kommandon

Syntaxen för att använda aws cli är följande:

aws [options] <command> <subcommand> [parameters]

Några exempel med kommandot 'ec2' och underkommandot 'beskriv-instanser':

aws ec2 describe-instances

aws ec2 describe-instances --instance-ids <your-id>

Exempel med ett falskt id:

aws ec2 describe-instances --instance-ids i-c71r246a

Lista S3-hinkar

aws s3 ls

Använd en namngiven profil

aws --profile myprofile s3 ls

Lista alla objekt i en hink, inklusive objekt i mappar, med storlek i mänskligt läsbart format och en sammanfattning av skopegenskaperna i slutändan -

aws s3 ls --recursive --summarize --human-readable s3://<bucket_name>/

AWS-kompletterare för Ubuntu med Bash

Följande verktyg kan användas för att automatiskt slutföra kommandon:

$ which aws_completer
/usr/bin/aws_completer

$ complete -C '/usr/bin/aws_completer' aws

För framtida shell-sessioner, överväg att lägga till detta till din ~ / .bashrc

$ echo "complete -C '/usr/bin/aws_completer' aws" >> ~/.bashrc

För att kontrollera, skriv:

$ aws ec

Tryck på [TAB] -knappen, den ska lägga till 2 automatiskt:

$ aws ec2

AWS CLI Fuskark - Lista över alla CLI-kommandon

Uppstart

Installera AWS CLI

AWS CLI är ett vanligt CLI-verktyg för att hantera AWS-resurserna. Med det enda verktyget kan vi hantera alla resurserna

sudo apt-get install -y python-dev python-pip
sudo pip install awscli
aws --version
aws configure

Bash enfoder

cat <file> # output a file
tee # split output into a file
cut -f 2 # print the 2nd column, per line
sed -n '5{p;q}' # print the 5th line in a file
sed 1d # print all lines, except the first
tail -n +2 # print all lines, starting on the 2nd
head -n 5 # print the first 5 lines
tail -n 5 # print the last 5 lines

expand # convert tabs to 4 spaces
unexpand -a # convert 4 spaces to tabs
wc # word count
tr ' ' \\t # translate / convert characters to other characters

sort # sort data
uniq # show only unique entries
paste # combine rows of text, by line
join # combine rows of text, by initial column value




Cloudtrail - Loggning och revision

http://docs.aws.amazon.com/cli/latest/reference/cloudtrail/ 5 Totalt spår, med stöd för behörigheter på resursnivå

# list all trails
aws cloudtrail describe-trails

# list all S3 buckets
aws s3 ls

# create a new trail
aws cloudtrail create-subscription \
    --name awslog \
    --s3-new-bucket awslog2016

# list the names of all trails
aws cloudtrail describe-trails --output text | cut -f 8

# get the status of a trail
aws cloudtrail get-trail-status \
    --name awslog

# delete a trail
aws cloudtrail delete-trail \
    --name awslog

# delete the S3 bucket of a trail
aws s3 rb s3://awslog2016 --force

# add tags to a trail, up to 10 tags
aws cloudtrail add-tags \
    --resource-id awslog \
    --tags-list "Key=log-type,Value=all"

# list the tags of a trail
aws cloudtrail list-tags \
    --resource-id-list 

# remove a tag from a trail
aws cloudtrail remove-tags \
    --resource-id awslog \
    --tags-list "Key=log-type,Value=all"




JAG ÄR

användare

https://blogs.aws.amazon.com/security/post/Tx15CIT22V4J8RP/How-to-rotate-access-keys-for-IAM-users http://docs.aws.amazon.com/IAM/latest/UserGuide /reference_iam-limits.html Gränser = 5000 användare, 100 grupp, 250 roller, 2 åtkomstnycklar / användare

http://docs.aws.amazon.com/cli/latest/reference/iam/index.html

# list all user's info
aws iam list-users

# list all user's usernames
aws iam list-users --output text | cut -f 6

# list current user's info
aws iam get-user

# list current user's access keys
aws iam list-access-keys

# crate new user
aws iam create-user \
    --user-name aws-admin2

# create multiple new users, from a file
allUsers=$(cat ./user-names.txt)
for userName in $allUsers; do
    aws iam create-user \
        --user-name $userName
done

# list all users
aws iam list-users --no-paginate

# get a specific user's info
aws iam get-user \
    --user-name aws-admin2

# delete one user
aws iam delete-user \
    --user-name aws-admin2

# delete all users
# allUsers=$(aws iam list-users --output text | cut -f 6);
allUsers=$(cat ./user-names.txt)
for userName in $allUsers; do
    aws iam delete-user \
        --user-name $userName
done

Lösenordspolicy

http://docs.aws.amazon.com/cli/latest/reference/iam/

# list policy
# http://docs.aws.amazon.com/cli/latest/reference/iam/get-account-password-policy.html
aws iam get-account-password-policy

# set policy
# http://docs.aws.amazon.com/cli/latest/reference/iam/update-account-password-policy.html
aws iam update-account-password-policy \
    --minimum-password-length 12 \
    --require-symbols \
    --require-numbers \
    --require-uppercase-characters \
    --require-lowercase-characters \
    --allow-users-to-change-password

# delete policy
# http://docs.aws.amazon.com/cli/latest/reference/iam/delete-account-password-policy.html
aws iam delete-account-password-policy

Åtkomstnycklar

http://docs.aws.amazon.com/cli/latest/reference/iam/

# list all access keys
aws iam list-access-keys

# list access keys of a specific user
aws iam list-access-keys \
    --user-name aws-admin2

# create a new access key
aws iam create-access-key \
    --user-name aws-admin2 \
    --output text | tee aws-admin2.txt

# list last access time of an access key
aws iam get-access-key-last-used \
    --access-key-id AKIAINA6AJZY4EXAMPLE

# deactivate an acccss key
aws iam update-access-key \
    --access-key-id AKIAI44QH8DHBEXAMPLE \
    --status Inactive \
    --user-name aws-admin2

# delete an access key
aws iam delete-access-key \
    --access-key-id AKIAI44QH8DHBEXAMPLE \
    --user-name aws-admin2

Grupper, policyer, hanterade policyer

http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html http://docs.aws.amazon.com/cli/latest/reference/iam/

# list all groups
aws iam list-groups

# create a group
aws iam create-group --group-name FullAdmins

# delete a group
aws iam delete-group \
    --group-name FullAdmins

# list all policies
aws iam list-policies

# get a specific policy
aws iam get-policy \
    --policy-arn <value>

# list all users, groups, and roles, for a given policy
aws iam list-entities-for-policy \
    --policy-arn <value>

# list policies, for a given group
aws iam list-attached-group-policies \
    --group-name FullAdmins

# add a policy to a group
aws iam attach-group-policy \
    --group-name FullAdmins \
    --policy-arn arn:aws:iam::aws:policy/AdministratorAccess

# add a user to a group
aws iam add-user-to-group \
    --group-name FullAdmins \
    --user-name aws-admin2

# list users, for a given group
aws iam get-group \
    --group-name FullAdmins

# list groups, for a given user
aws iam list-groups-for-user \
    --user-name aws-admin2

# remove a user from a group
aws iam remove-user-from-group \
    --group-name FullAdmins \
    --user-name aws-admin2

# remove a policy from a group
aws iam detach-group-policy \
    --group-name FullAdmins \
    --policy-arn arn:aws:iam::aws:policy/AdministratorAccess

# delete a group
aws iam delete-group \
    --group-name FullAdmins




EC2

nyckelpar

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html

# list all keypairs
# http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html
aws ec2 describe-key-pairs

# create a keypair
# http://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html
aws ec2 create-key-pair \
    --key-name <value>

# create a new private / public keypair, using RSA 2048-bit
ssh-keygen -t rsa -b 2048

# import an existing keypair
# http://docs.aws.amazon.com/cli/latest/reference/ec2/import-key-pair.html
aws ec2 import-key-pair \
    --key-name keyname_test \
    --public-key-material file:///home/apollo/id_rsa.pub

# delete a keypair
# http://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html
aws ec2 delete-key-pair \
    --key-name <value>

Säkerhetsgrupper

http://docs.aws.amazon.com/cli/latest/reference/ec2/index.html

# list all security groups
aws ec2 describe-security-groups

# create a security group
aws ec2 create-security-group \
    --vpc-id vpc-1a2b3c4d \
    --group-name web-access \
    --description "web access"

# list details about a securty group
aws ec2 describe-security-groups \
    --group-id sg-0000000

# open port 80, for everyone
aws ec2 authorize-security-group-ingress \
    --group-id sg-0000000 \
    --protocol tcp \
    --port 80 \
    --cidr 0.0.0.0/24

# get my public ip
my_ip=$(dig +short myip.opendns.com @resolver1.opendns.com);
echo $my_ip

# open port 22, just for my ip
aws ec2 authorize-security-group-ingress \
    --group-id sg-0000000 \
    --protocol tcp \
    --port 80 \
    --cidr $my_ip/24

# remove a firewall rule from a group
aws ec2 revoke-security-group-ingress \
    --group-id sg-0000000 \
    --protocol tcp \
    --port 80 \
    --cidr 0.0.0.0/24

# delete a security group
aws ec2 delete-security-group \
    --group-id sg-00000000

Instanser

http://docs.aws.amazon.com/cli/latest/reference/ec2/index.html

# list all instances (running, and not running)
# http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html
aws ec2 describe-instances

# create a new instance
# http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html
aws ec2 run-instances \
    --image-id ami-f0e7d19a \    
    --instance-type t2.micro \
    --security-group-ids sg-00000000 \
    --dry-run

# stop an instance
# http://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html
aws ec2 terminate-instances \
    --instance-ids <instance_id>

# list status of all instances
# http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-status.html
aws ec2 describe-instance-status

# list status of a specific instance
aws ec2 describe-instance-status \
    --instance-ids <instance_id>

Tags

# list the tags of an instance
# http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-tags.html
aws ec2 describe-tags

# add a tag to an instance
# http://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html
aws ec2 create-tags \
    --resources "ami-1a2b3c4d" \
    --tags Key=name,Value=debian

# delete a tag on an instance
# http://docs.aws.amazon.com/cli/latest/reference/ec2/delete-tags.html
aws ec2 delete-tags \
    --resources "ami-1a2b3c4d" \
    --tags Key=Name,Value=




Cloudwatch

Logga grupper

http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html http://docs.aws.amazon.com/cli/latest/reference/logs/index.html#cli-aws-logs

skapa en grupp

http://docs.aws.amazon.com/cli/latest/reference/logs/create-log-group.html

aws logs create-log-group \
    --log-group-name "DefaultGroup"
lista alla logggrupper

http://docs.aws.amazon.com/cli/latest/reference/logs/describe-log-groups.html

aws logs describe-log-groups

aws logs describe-log-groups \
    --log-group-name-prefix "Default"
radera en grupp

http://docs.aws.amazon.com/cli/latest/reference/logs/delete-log-group.html

aws logs delete-log-group \
    --log-group-name "DefaultGroup"

Logga strömmar

# Log group names can be between 1 and 512 characters long. Allowed
# characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen),
# '/' (forward slash), and '.' (period).

# create a log stream
# http://docs.aws.amazon.com/cli/latest/reference/logs/create-log-stream.html
aws logs create-log-stream \
    --log-group-name "DefaultGroup" \
    --log-stream-name "syslog"

# list details on a log stream
# http://docs.aws.amazon.com/cli/latest/reference/logs/describe-log-streams.html
aws logs describe-log-streams \
    --log-group-name "syslog"

aws logs describe-log-streams \
    --log-stream-name-prefix "syslog"

# delete a log stream
# http://docs.aws.amazon.com/cli/latest/reference/logs/delete-log-stream.html
aws logs delete-log-stream \
    --log-group-name "DefaultGroup" \
    --log-stream-name "Default Stream"


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow