*****
はじめに
皆さんこんにちは、こんばんは。
techblogchan( @techblogchan )です。
今回は「【GCP App Engine】IPアドレス制限の方法でまだ消耗してるの?」と題して多くの人が悩むであろう、Google App EngineでのIP アドレス制限についてお話しようかと思います!
*****
App EngineにおけるIPアドレス制限方法
大きく分けて2種類の制限方法が現在存在しています。(2019年11月12日時点)
- yamlファイル
- ファイアウォール ルール
yamlファイル
最初にお伝えしておくとこの方法は現在のデファクトスタンダードではありません。
現在は後述の「ファイアウォール ルール」を使用することが推奨されています。
それを踏まえて説明を読んでいただければと思います!
まず以下がyamlファイルでIPアドレス制限を行う際の公式リファレンスです。(Python3系やNode.jsがサポートされていない時点で察しですね...)
さて、この「dos.yaml」ファイルとは名前の通りDoS攻撃を防ぐ目的で記述するものです。
具体的な使用方法としてはIPアドレスまたはサブネットをブラックリストに追加してアクセスを拒否するというものです。
「dos.yaml」の中はこのように記述します。
このように便利な代物なのですが、一方で制限もあるのです。
それは
「構成ファイルに定義できるブラックリスト エントリは 100 個までです。エントリ数が 100 を超える構成ファイルのアップロードは、失敗します。」
というもので、拒否するIPアドレスやサブネットの数は100までに絞られてしまうのです。
また、ブラックリスト形式の指定方法は行えるのですが
「ホワイトリスト形式の指定したIPアドレスのみのアクセスを許可するといったことはできない」
という不自由さもあります。
ファイアウォール ルール
前述した「yamlファイル」は公式から非推奨とされているとお伝えしましたが、代わりに推奨されているのがこちらの「ファイアウォール ルール」です。
こちらはApp Engineの中の1つのサービスとして存在しており、コンソール上だとApp Engineの中にあります。
以下のような画面です。
様々な機能がありますが、「dos.yaml」と大きく異なる点は2点です。
- 設定できるエントリは1000まで
- ホワイトリスト形式の指定も可能
先程、ここが不便だ!とお伝えした2点ですが、そこが「ファイアウォール ルール」だと改善されています...!
以下が「ファイアウォール ルール」についての公式リファレンスです。
「ファイアウォール ルール」についての記事は近日公開予定です...!
*****
まとめ
今回はGoogle App Engine におけるIPアドレス制御の方法についての記事でした。
- IPアドレス制御をおこなうならファイアウォール ルールの一択
現状(2019年11月12日時点)において
「敢えてyamlファイルを使用してIPアドレスの制御を行う必要はない(というより公式から非推奨が出てる以上yamlファイルを既に使用している人も乗り換えるべきかも)」
というのを本記事の結論とさせていただきます。
ではまた別の記事で〜!