Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gh640/gcp-block-country-ja
🚧 (Japanese) Google Cloud Platform で特定の国からのアクセスをブロックするルールを一括作成するサンプルスクリプト
https://github.com/gh640/gcp-block-country-ja
gcp gcp-firewall google-cloud python3
Last synced: 2 months ago
JSON representation
🚧 (Japanese) Google Cloud Platform で特定の国からのアクセスをブロックするルールを一括作成するサンプルスクリプト
- Host: GitHub
- URL: https://github.com/gh640/gcp-block-country-ja
- Owner: gh640
- Created: 2020-08-25T01:19:18.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-04T03:20:14.000Z (over 1 year ago)
- Last Synced: 2024-05-02T01:12:00.822Z (9 months ago)
- Topics: gcp, gcp-firewall, google-cloud, python3
- Language: Python
- Homepage:
- Size: 14.6 KB
- Stars: 10
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `gcp_block_country.py`
Google Cloud Platform で特定の国からのアクセスをブロックするルールを作成するためのサンプルスクリプトです。
あくまでもサンプルです。## 必須
- Python `>=3.11`
- [`gcloud` コマンドラインツール](https://cloud.google.com/sdk)## 使い方
`git clone` でスクリプトをダウンロードします。
```bash
git clone https://github.com/gh640/gcp-block-country-ja
```対象とする IP アドレスの範囲をリストしたテキストファイルを用意します。
```bash
curl -O https://ipv4.fetus.jp/cn.txt
```ファイルの中身のサンプル:
```text
#
# [cn] 中華人民共和国 (China)
# https://ipv4.fetus.jp/cn.txt
# 出力日時: xxx
#1.0.1.0/24
1.0.2.0/23
1.0.8.0/21
1.0.32.0/19
```GCP プロジェクトと国コードを指定して dry run モードで実行します。
```bash
python gcp_block_country.py --gcp-project my-project --country-code cn --dry-run
```問題がなさそうであれば dry run オプションを外して実行します。
```bash
python gcp_block_country.py --gcp-project my-project --country-code cn
``````text
$ python gcp_block_country.py --help
usage: gcp_block_country.py [-h] [--dry-run] --country-code COUNTRY_CODE --gcp-project GCP_PROJECTGoogle Cloud Platform で特定の国からのアクセスをブロックするルールを作成するためのスクリプト
optional arguments:
-h, --help show this help message and exit
--dry-run ドライラン
--country-code COUNTRY_CODE
国コード
--gcp-project GCP_PROJECT
GCP プロジェクト
usage: gcp_block_country.py [-h] [--dry-run] --country-code COUNTRY_CODE
```### 有効な国コード
現在、以下の国コードが利用可能です。
- `cn`: 中国
- `ru`: ロシア
- `au`: オーストラリア## 説明記事
- [Google Cloud Platform で特定の国からのアクセスをブロックする方法 | gotohayato.com](https://gotohayato.com/content/520/)
## 関連リポジトリ
- [GitHub - gh640/gcp-allow-only-japan-ja](https://github.com/gh640/gcp-allow-only-japan-ja)
## 参考
- [VPC firewall rules overview | Google Cloud](https://cloud.google.com/vpc/docs/firewalls)
- [Using firewall rules | VPC | Google Cloud](https://cloud.google.com/vpc/docs/using-firewalls)
- [`gcloud compute firewall-rules create` | Cloud SDK Documentation](https://cloud.google.com/sdk/gcloud/reference/compute/firewall-rules/create)
- [ipv4.fetus.jp : 国/地域別IPアドレス(IPv4アドレス)割り当て一覧](https://ipv4.fetus.jp/)