-
-
Save Naicigam28/9fd3103c2c448747e8a241ecc5e9f5da to your computer and use it in GitHub Desktop.
Add CloudFlare IPv4 and IPv6 addresses to an EC2 Security Group using awscli
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
wget https://www.cloudflare.com/ips-v4 | |
wget https://www.cloudflare.com/ips-v6 | |
# set the security group ID | |
SG_ID="sg-000000000" | |
# iterate over the IP ranges in the downloaded file | |
# and allow access to ports 80 and 443 | |
for p in $(cat ips-v4); do | |
aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions IpProtocol=tcp,FromPort=80,ToPort=80,IpRanges="[{CidrIp=$p,Description='Cloudflare'}]" | |
aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions IpProtocol=tcp,FromPort=443,ToPort=443,IpRanges="[{CidrIp=$p,Description='Cloudflare'}]" | |
done | |
for p in $(cat ips-v6); do | |
aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions IpProtocol=tcp,FromPort=80,ToPort=80,Ipv6Ranges="[{CidrIpv6=$p,Description='Cloudflare'}]" | |
aws ec2 authorize-security-group-ingress --group-id $SG_ID --ip-permissions IpProtocol=tcp,FromPort=443,ToPort=443,Ipv6Ranges="[{CidrIpv6=$p,Description='Cloudflare'}]" | |
done | |
rm ips-v4 | |
rm ips-v6 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment