42 lines
1.9 KiB
Bash
Executable file
42 lines
1.9 KiB
Bash
Executable file
#!/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 "===================================="
|