O7 Logo

Commandes avec le AWS CLI

Peut servir commme exemple dans l'utilisation l'outil de ligne de commande de AWS

Références


CLI General

Command
Check how credentials are configured aws configure list
Get user ID & Account # aws sts get-caller-identity
Get default region aws configure get region

EC2 (Elastic Container Service)

Lists any of your instances that have the tag Name=MyInstance. aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"
List to only your t2.micro instances and outputs only the InstanceId aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId"
Get Instance Id with a specific name aws ec2 describe-instances --filters "Name=tag:Name,Values=stelar-devops-bastion" --query "Reservations[0].Instances[0].InstanceId" --output text
To delete an instance aws ec2 terminate-instances --instance-ids i-5203422c

S3

Command
Sync Current Directory aws --profile o7 s3 sync --sse AES256 [s3://bucket/folder] .
Directory Size aws s3 ls [s3://bucket/folder/] --recursive | awk 'BEGIN {total=0}{total+=$3}END{print total/1024/1024/1024" GB"}'
See Object Version aws s3api list-object-versions --bucket [s3://bucket/folder/] --prefix [filter.. ex: *.zip]

Re-Encripter des fichiers dans un S3

export BUCKET="bucket-name"
export FOLDER="folder-name"

# Test
aws s3 cp s3://$BUCKET/$FOLDER/ s3:/$BUCKET/$FOLDER/ --sse AES256 --recursive --dryrun
# Execute
aws s3 cp s3://$BUCKET/$FOLDER/ s3:/$BUCKET/$FOLDER/ --sse AES256 --recursive

ECS (Elastic Container Service)

Command
Start a new task aws ecs start-task

Push Docker Image to ECR

# prepare variable fron upload to ECR
REGION=ca-cenral-1
ACCOUNT_ID=123456789012
IMAGE="my_image"
ECR_URL=$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com
ECR_URL_REPO=$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/$IMAGE
$VERSION = '3'

# Tag
docker tag $IMAGE:latest $ECR_URL_REPO:$VERSION
# Get Authentification
aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ECR_URL
# Push
echo Pushing the Docker image...
docker push $ECR_URL_REPO:$VERSION

ACM (Certificate Manager)

Command
List Certificates aws acm list-certificates

SSM

Command
List My Parameter aws ssm describe-parameters
Get Value of a String Param aws ssm get-parameter --name cwcore-version-latest --query "Parameter.Value"
Set New Value aws ssm put-parameter --name cwcore-version-latest --value 0.0.554 --overwrite
Get AMI Id for linux-2-ecs aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id --query '[Parameters[0].Value]' --output text

Secret

Command
List My Secrets aws secretsmanager list-secrets
View a Secrets aws secretsmanager get-secret-value --secret-id <secret-id>

Local Shell Usefull

Command
Get Instance ID curl http://169.254.169.254/latest/meta-data/instance-id
Get IPV4 Address curl http://169.254.169.254/latest/meta-data/local-ipv4
ECS Agent Metadata curl -s http://localhost:51678/v1/metadata