aws-cli Handledning
Komma igång med aws-cli
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
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+
Ladda ner AWS CLI Bundled Installer med wget eller curl.
Packa upp paketet.
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 grupphttp://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"