LoginSignup
1
0

AWS CloudFront Functionsを使ったIP制限の実装方法

Last updated at Posted at 2023-07-01

AWS CloudFront Functionsを使って、IP制限を実装する方法を記載します。
これにより、特定のIPアドレスからのアクセスのみを許可し、それ以外のアクセスをブロックすることができます。

CloudFront Fucntionの作成

  1. AWS Management Consoleにログインし、CloudFrontサービスにアクセスします。
  2. 左側のナビゲーションパネルで「Functions」を選択し、「Create function」をクリックします。
  3. 関数名を入力し、次のようなJavaScriptコードを入力してください。ALLOWED_IPS変数に許可するIPアドレスを追加してください。
function handler(event) {
    var request = event.request;
    var sourceIP = request.headers['x-forwarded-for'].value.split(',')[0];

    const ALLOWED_IPS = ['xxx.xxx.xxx.xxx', 'yyy.yyy.yyy.yyy'];

    if (ALLOWED_IPS.includes(sourceIP)) {
        return request;
    } else {
        return {
            statusCode: 403,
            statusDescription: 'Forbidden',
        };
    }
}

  1. 「Create」ボタンをクリックして関数を作成します。
  2. 関数が作成されたら、「Publish」をクリックして関数を公開します。

CloudFrontディストリビューションに関数を関連付ける

  1. CloudFrontディストリビューションの設定を開き、「Behavior」タブ(「Distribution Settings」の下にあります)で適切なキャッシュビヘイビアを選択し、「Edit」をクリックします。
  2. 「Function associations」セクションで、「Add function」ボタンをクリックし、イベントタイプとしてviewer-requestを選択し、作成したCloudFront Functionを選択します。
  3. 「Save changes」をクリックして、ディストリビューションの設定を更新します。

参考記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0