#!/bin/bash # 1. Créer le Security Group echo "Création du Security Group..." SG_ID=$(aws ec2 create-security-group --group-name "CheckMyIRVE-Pro-SG" --description "SG for Check-My-IRVE Prod" --query 'GroupId' --output text 2>/dev/null || aws ec2 describe-security-groups --group-names "CheckMyIRVE-Pro-SG" --query 'SecurityGroups[0].GroupId' --output text) aws ec2 authorize-security-group-ingress --group-id $SG_ID --protocol tcp --port 22 --cidr 0.0.0.0/0 2>/dev/null aws ec2 authorize-security-group-ingress --group-id $SG_ID --protocol tcp --port 80 --cidr 0.0.0.0/0 2>/dev/null # 2. Script d'initialisation (User Data) cat << 'USERDATA' > init_server.sh #!/bin/bash apt update -y apt install -y docker.io docker-compose git systemctl start docker systemctl enable docker cd /opt git clone https://github.com/votre-repo/check-my-irve-pro.git /opt/app cd /opt/app docker-compose up -d --build USERDATA # 3. Récupérer l'ID de l'AMI Ubuntu 22.04 ARM64 automatiquement AMI_ID=$(aws ssm get-parameters --names /aws/service/canonical/ubuntu/server/22.04/pvt/arm64/hvm/ebs-gp2/ami-id --query 'Parameters[0].Value' --output text) echo "Lancement de l'instance EC2 avec l'AMI $AMI_ID..." INSTANCE_ID=$(aws ec2 run-instances \ --image-id $AMI_ID \ --count 1 \ --instance-type t4g.micro \ --security-group-ids $SG_ID \ --user-data file://init_server.sh \ --query 'Instances[0].InstanceId' --output text) echo "Instance ID: $INSTANCE_ID" aws ec2 wait instance-running --instance-ids $INSTANCE_ID PUBLIC_IP=$(aws ec2 describe-instances --instance-ids $INSTANCE_ID --query 'Reservations[0].Instances[0].PublicIpAddress' --output text) echo "====================================" echo "Déploiement en cours sur l'IP: http://$PUBLIC_IP" echo "Attendez environ 2-3 minutes que Docker s'installe et lance les conteneurs sur le serveur." echo "===================================="