44 lines
1.4 KiB
Bash
44 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# ========== Конфигурация ==========
|
|
AMI_ID="ami-01c7096235204c7be"
|
|
INSTANCE_TYPE="t3.xlarge"
|
|
KEY_NAME="mykey"
|
|
SECURITY_GROUP="sg-0e08dfcd575ebfe2e"
|
|
EIP_ALLOC_ID="eipalloc-0ab8a278c183034a3"
|
|
SUBNET_ID="subnet-015876fa51f73f1ad"
|
|
LOCAL_PEM_PATH="/c/Users/olezk/Desktop/mykey.pem"
|
|
USERNAME="ubuntu"
|
|
SSH_OUTPUT_FILE="ssh-key.txt"
|
|
|
|
# ========== Запуск EC2-инстанса ==========
|
|
echo "🚀 Запускаем EC2 инстанс..."
|
|
INSTANCE_ID=$(aws ec2 run-instances \
|
|
--image-id $AMI_ID \
|
|
--instance-type $INSTANCE_TYPE \
|
|
--key-name $KEY_NAME \
|
|
--security-group-ids $SECURITY_GROUP \
|
|
--subnet-id $SUBNET_ID \
|
|
--associate-public-ip-address \
|
|
--query "Instances[0].InstanceId" \
|
|
--output text)
|
|
|
|
echo "🟡 Инстанс создаётся: $INSTANCE_ID"
|
|
aws ec2 wait instance-running --instance-ids $INSTANCE_ID
|
|
echo "✅ Инстанс $INSTANCE_ID работает."
|
|
|
|
# ========== Получение публичного IP ==========
|
|
PUBLIC_IP=$(aws ec2 describe-instances \
|
|
--instance-ids "$INSTANCE_ID" \
|
|
--query "Reservations[0].Instances[0].PublicIpAddress" \
|
|
--output text)
|
|
|
|
# ========== Привязка Elastic IP ==========
|
|
echo "🔗 Привязываем Elastic IP..."
|
|
aws ec2 associate-address \
|
|
--instance-id $INSTANCE_ID \
|
|
--allocation-id $EIP_ALLOC_ID
|
|
|
|
echo "✅ Готово!"
|
|
echo "🔗 IP для подключения: $PUBLIC_IP"
|