Search

ALB

#!/bin/bash VPC_ID=$(aws ec2 describe-vpcs --filter Name=tag:Name,Values=wsc-ingress-vpc --query "Vpcs[].VpcId" --output text) public_a=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=wsc-ingress-pub-sn-a" --query "Subnets[].SubnetId" --output text) public_c=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=wsc-ingress-pub-sn-c" --query "Subnets[].SubnetId" --output text) sg_id=$(aws ec2 describe-security-groups --filters "Name=group-name,Values=wsc-ingress-alb-SG" --query "SecurityGroups[].GroupId" --output text) TARGET_GROUP_ARN=$(aws elbv2 create-target-group --name wsc-ingress-tg --protocol HTTP --port 80 --vpc-id $VPC_ID --target-type ip --ip-address-type ipv4 --health-check-protocol HTTP --health-check-port 80 --health-check-path /healthcheck --query "TargetGroups[].TargetGroupArn" --output text) LB_ID=$(aws elbv2 describe-load-balancers --names wsc-prod-lb --query "LoadBalancers[].LoadBalancerArn" --output text | cut -d'/' -f2-) IP_ADDRESSES=($(aws ec2 describe-network-interfaces --filters Name=description,Values="ELB $LB_ID" --query 'NetworkInterfaces[*].PrivateIpAddresses[*].PrivateIpAddress' --output text)) for IP in "${IP_ADDRESSES[@]}"; do aws elbv2 register-targets --target-group-arn $TARGET_GROUP_ARN --targets Id=$IP,AvailabilityZone=all done ALB_ARN=$(aws elbv2 create-load-balancer --name wsc-ingress-lb --subnets $public_a $public_c --security-groups $sg_id --scheme internet-facing --tags Key=Name,Value=wsc-ingress-lb --type application --ip-address-type ipv4 --query "LoadBalancers[].LoadBalancerArn" --output text) aws elbv2 create-listener --load-balancer-arn $ALB_ARN --protocol HTTP --port 80 --default-actions Type=forward,TargetGroupArn=$TARGET_GROUP_ARN > /dev/null
Shell
복사