[GCP]課金対象国からのアクセスを抑止する


GCPフリートライアルでもらえる300ドル分のクレジットが目減りしているような気がしたので、
確認してみたところ、


「Network Internet Egress from Americas to China」で課金された事がわかりました。

なんだこれと思って調べたところ、

1 GB の北米から全リージョン宛て下りネットワーク(1 か月あたり、中国およびオーストラリアを除く

Always Free の使用制限  |  Google Cloud Platform の無料枠  |  Google Cloud

中国やオーストラリアからのアクセスは課金対象で、今回は中国からアクセスがあったため課金された模様です。

別に中国の方には恨みもないし、額も極わずかですが、それでも目減りするのは気分のいいものではないし、今後アクセス量が増加したら怖いので、
取り急ぎ、実際にアクセスのあった中国からのアクセスを抑止することにしました。对不起…

検索したら、既にやっている方がいたので、同じことをします。
Google Cloud Platformで中国からの通信をブロック

1.まず中国のIPアドレス一覧をここからダウンロードします。
「アクセス制御用ひな形」から「nginx」を選択、

「deny 1.0.1.0/24;」のことろだけ取り出して
「deny 」を「”」、「;」を「”,」に置換するなどして、
「”1.0.1.0/24″,」の形式にします。

2.コンソール画面から「VPCネットワーク」→「ファイアウォールルール」→「ファイアウォール ルールを作成」を選択します。

3.ファイアウォールルールを作成します。

名前→任意
優先度→他のファイアウォールルールより低いものを指定
トラフィックの方向→上り
一致したときのアクション→拒否
ターゲット→ネットワーク上のすべてのインスタンス
ソースフィルタ→IP範囲
ソースIPの範囲→あとで入れるので適当でいいですが、CIDR表記(x.x.x.x/x)の形式にしてください。
入力が終わったら「作成」を選択し、作成されたことを確認します。

4.IPアドレスを入力します。
まず「プロジェクトID」が必要なため、確認をします。
GCPコンソール画面上部青帯のプロジェクト名を選択するとプロジェクトIDが出てくるので控えます。

次にIPアドレスを入力するAPIのページに行きます。

右側に入力画面が出てくるので、
「project」に先ほど控えたプロジェクトID、「firewall」に3で作成したファイアウォールルールの「名前」に入力した名前を
入力し、「Add request body parameters」を選択、

「sourceRange」を選択、

「sourceRange」の下に、1で作成したIPアドレス表を、最大255までにわけて貼り付けます。

一番下の行のIPアドレスには「,」(カンマ)が入らないようにしてください。
入力が終わったら、「EXECUTE」を選択します。

Google APIs ExplorerがGoogleアカウントへのアクセスをリクエストしています と出たら「許可」を選択します。

緑地で「200」と出れば成功です。一回エラーが出てももう一度「EXECUTE」を選択すれば通ることが多いです。

コンソール画面の「VPCネットワーク」→「ファイアウォールルール」にもどり、「更新」を選択します。
「ソースフィルタ」の欄にIPアドレスが反映されたことを確認します。

上位を20回ほど繰り返せば、完了です。

非常に疲れました。