AWS CLI — configuration
$aws configure
AWS Access Key ID: ******** AWS Secret Access Key: ******** Default region name: eu-west-3 Default output format: json
$aws sts get-caller-identity
Vérifier l'identité IAM active
IAM
$aws iam list-users
$aws iam create-user --user-name deploy-bot
$aws iam attach-user-policy --user-name deploy-bot --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
Principe du moindre privilège
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::mon-bucket/*"
}
]
}EC2
$aws ec2 describe-instances --filters 'Name=tag:Environment,Values=production'
$aws ec2 run-instances --image-id ami-0c55b159cbfafe1f0 --instance-type t3.micro --key-name ma-cle --count 1
$aws ec2 stop-instances --instance-ids i-1234567890abcdef0
$aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
Types d'instances courants
| Type | vCPU | RAM | Usage |
|---|---|---|---|
| t3.micro | 2 | 1 GB | Dev, tests |
| t3.medium | 2 | 4 GB | Apps légères |
| m6i.large | 2 | 8 GB | General purpose |
| c6i.large | 2 | 4 GB | CPU-intensive |
| r6i.large | 2 | 16 GB | Memory-intensive |
S3
$aws s3 ls
Lister tous les buckets
$aws s3 mb s3://mon-bucket-unique
Créer un bucket
$aws s3 cp fichier.txt s3://mon-bucket/
$aws s3 sync ./dist s3://mon-bucket/ --delete
Synchroniser un dossier local avec S3
$aws s3 presign s3://mon-bucket/fichier.pdf --expires-in 3600
Générer un lien temporaire (1h)
VPC
Architecture typique
VPC (10.0.0.0/16)
├── Public Subnet A (10.0.1.0/24) → NAT Gateway, ALB
├── Public Subnet B (10.0.2.0/24) → NAT Gateway, ALB
├── Private Subnet A (10.0.10.0/24) → EC2, ECS, EKS
├── Private Subnet B (10.0.11.0/24) → EC2, ECS, EKS
├── Data Subnet A (10.0.20.0/24) → RDS, ElastiCache
└── Data Subnet B (10.0.21.0/24) → RDS, ElastiCache
Security Groups vs NACLs
| Security Group | NACL | |
|---|---|---|
| Niveau | Instance | Subnet |
| État | Stateful | Stateless |
| Règles | Allow only | Allow + Deny |
| Évaluation | Toutes les règles | Ordre numérique |
RDS
$aws rds describe-db-instances
$aws rds create-db-snapshot --db-instance-identifier ma-db --db-snapshot-identifier backup-2024-01
Bonnes pratiques RDS
- Multi-AZ pour la haute disponibilité
- Read replicas pour les lectures intensives
- Sauvegardes automatiques activées
- Chiffrement au repos et en transit
- Pas d'accès public (subnet privé)
Lambda
$aws lambda list-functions
$
Services essentiels
| Service | Description |
|---|---|
| EC2 | Serveurs virtuels |
| S3 | Stockage objets |
| RDS | Bases de données relationnelles |
| EKS | Kubernetes managé |
| ECS | Conteneurs managés (Fargate) |
| Lambda | Serverless functions |
| CloudFront | CDN |
| Route 53 | DNS |
| IAM | Gestion des identités |
| VPC | Réseau virtuel privé |
| CloudWatch | Monitoring et logs |
| SNS/SQS | Messaging et queues |