From 6749197e761bf58997928db5d9a504c999871d7a Mon Sep 17 00:00:00 2001 From: Thang Vo Date: Mon, 21 Sep 2020 14:22:00 +0700 Subject: [PATCH 1/2] Add basic AWS CLI commands --- README.md | 1 + tools/aws.sh | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 tools/aws.sh diff --git a/README.md b/README.md index 29ce392..05bf96f 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,7 @@ Feel free to take a look. You might learn new things. They have been designed to - [Nanobox CLI](tools/nanobox_cli.sh) - [Nginx](tools/nginx.sh) - [Ubuntu](tools/ubuntu.sh) +- [AWS CLI](tools/aws.sh) ## 🙌🏼 How to Contribute? diff --git a/tools/aws.sh b/tools/aws.sh new file mode 100644 index 0000000..7509cd3 --- /dev/null +++ b/tools/aws.sh @@ -0,0 +1,39 @@ +############################################################################## +# AWS +############################################################################## + +# General +aws help +aws --version # Show the current AWS CLI version +aws configure # Configure your AWS Key ID, AWS Secret, default region and default output format for the AWS CLI +aws configure --profile # Configure using the profile name. By default, the list of profile is stored in ~/.aws.credentials (Linux and MacOS) + +# EC2 +## We need to specify a region to use ec2 commands. We can configure a default region with "aws configure" or set the AWS_DEFAULT_REGION environment variable before the command line +## Example: AWS_DEFAULT_REGION=us-east-1 aws ec2 describe-instances + +aws ec2 describe-instances # Desribe all instances in the current region +aws ec2 describe-instances --instance-ids # Describe specific instances by their IDs +aws ec2 describe-instances --filters Name= # Filter and describe instances by name + +aws ec2 start-instances --instance-ids # Start previously stopped instances by their IDs +aws ec2 stop-instances --instance-ids # Stop running instances by their IDs +aws ec2 terminate-instances --instance-ids # Shutdown the specific instances by their IDs + + +# S3 +## To specify the root directory of a S3 bucket, use this syntax: s3:// + +aws s3 ls # List S3 objects and common prefixes under a prefix or all S3 buckets +aws s3 ls s3:// # List objects and common prefixes under a specified bucket and prefix +aws s3 mb s3:// # Create a specific S3 bucket +aws s3 rb s3:// # Remove an empty specific S3 bucket by name + +aws s3 mv s3:/// # Move a file in local_file_path to a specific bucket in destination_file_path +## Example: aws s3 mv text.txt s3://mybucket/text.txt +aws s3 mv s3:// s3:// --recursive # Move all objects from bucket_name_1 to bucket_name_2 + +aws sync # Sync all contents from source to a target directory. This will copy and update all missing or outdated files or objects between source and target +## Examples: aws sync . s3://mybucket +## aws sync s3://bucket_1 s3://bucket_2 +aws sync --delete # Sync all contents from source to target, but this will remove all missing files and objects from the target that are not present in source From 9dc86ca020e12a7a05f57b82baae55571fac3339 Mon Sep 17 00:00:00 2001 From: Thang Vo Date: Mon, 21 Sep 2020 14:39:49 +0700 Subject: [PATCH 2/2] Reorder aws in readme.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 05bf96f..e2588ce 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ Feel free to take a look. You might learn new things. They have been designed to #### Infrastructure +- [AWS CLI](tools/aws.sh) - [Docker](tools/docker.sh) - [Heroku CLI](tools/heroku.sh) - [Kubernetes](tools/kubernetes.md) @@ -116,7 +117,6 @@ Feel free to take a look. You might learn new things. They have been designed to - [Nanobox CLI](tools/nanobox_cli.sh) - [Nginx](tools/nginx.sh) - [Ubuntu](tools/ubuntu.sh) -- [AWS CLI](tools/aws.sh) ## 🙌🏼 How to Contribute?