DEV Community

Cover image for Block traffic to your website from Russia and Belarus using CloudFront
David Abram
David Abram

Posted on

Block traffic to your website from Russia and Belarus using CloudFront

Russia invaded Ukraine on the 24th of February 2022. Belarus offers logistic support to the Russian army.

Our company website won't be available in Russia and Belarus until the invasion stops. We don't intend to punish our readers from Russia and Belarus but to show dissatisfaction and disapproval of the political and philosophical stance of the Russian government.

Our company and I are strong supporters and believers in individual liberty, free trade, and free association. In addition to being against war, we strongly oppose evil and destructive ideas that support autocracies. Make no mistake, this is not the doing of one man, but a joint effort of individuals who believe it is not you who should be deciding how to live your life.

We will continue doing as much as possible to show our support for the Ukrainian people and invite you all to do the same. If you use CloudFront as your CDN, the following tutorial will help you to enable CloudFront Geographic Restrictions and block traffic from Russia and Belarus.

If you are using any other CDN or a different provider, send us an email at hello@crocoder.dev. I will personally assist you in blocking traffic.


I will show you three ways to block traffic depending on how your CloudFront distribution is provisioned.

  • Manually / AWS Console
  • CloudFormation
  • Terraform

Manually / AWS Console

Open CloudFront Distributions and choose the distribution.

CloudFront distribution screen

Click on the Geographic restrictions tab. Click on edit button.

CloudFront Geographic restriction tab

Check Restriction type - Block list and select from the dropdown Russia and Belarus. Click Save changes.

Edit geographic restrictions dropdown

You have just blocked all traffic from Russia and Belarus. All visitors from those locations will get 403 (Forrbidden) status code.

CloudFront Geographic restriction tab with blocked traffic from Russia and Belarus

CloudFormation

If you are deploying the CloudFront via CloudFormation add this code to Restrictions in CloudFrontDistribution Properties.

Use the following code snippet:

CloudFrontDistribution:
  Type: 'AWS::CloudFront::Distribution'
  Properties:
    DistributionConfig:
      ...
      Restrictions:
        GeoRestriction:
          Locations:
          - RU
          - BY
          RestrictionType: blacklist
Enter fullscreen mode Exit fullscreen mode

Terraform

You can easily add restrictions object to your aws_cloudfront_distributions.

Use the following code snippet:

resource "aws_cloudfront_distribution" "website_distribution" {
  ...
  restrictions {
    geo_restriction {
      restriction_type = "blacklist"
      locations        = ["RU", "BY"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Thank you for reading. πŸ‡ΊπŸ‡¦

Top comments (1)

Collapse
 
oligospermia profile image
Mesalazine

Virtue signaling. That will show them!

You better read what Cloudflare has to say on the matter, and why:

google.com/amp/s/techcentral.co.za...