こんにちは。クラウドエース編集部です。 今回は筆者がGCPプロジェクトを新規に作成する時に利便性やセキュリティを考慮して必ず設定しているものを理由と共に思いつく限り挙げていきます。 必要なAPIを有効にすることは省略します。 本番環境の場合は全てをterraformで管理するケースの方が多そうなので、あくまで検証レベルで使うようなものを想定していただくと良いと思います。目次 Toggledefault VPCネットワークを削除するVPCネットワークをカスタムで作成し、必要になりがちなFirewallルールを作成するCloud NATを設定するGoogle Cloud の魅力についてさらに知りたい方はこちらdefault VPCネットワークを削除するGCPプロジェクトを最初に作成すると default という名前のVCP ネットワークが作成されています。 このネットワークは全てのリージョンにサブネットワークが設定されていたり、Firewallの設定がかなり緩く設定されています。 事故を生む予感しかしないので、真っ先に削除しています。VPCネットワークをカスタムで作成し、必要になりがちなFirewallルールを作成するVPCネットワークが無いとVMインスタンスを起動できないので、汎用的なものを1つ作成しておきます。 私はいつもプロジェクト名と同じ名前のVPCネットワークを作成して、東京リージョンに/26か/25くらいのその時の気持ちでサブネットワークを作成しています。続いてよく使われるFirewallルールを作成します。 作成するのは以下の2つです。IAPからのSSHを許可するGFEからのHTTPを許可する少し解説をします。VMインスタンスにSSH接続するために外部IPを経由したり踏み台インスタンスを用意したくないので、筆者は常にIAPを経由してSSHしています。 IAPのIPアドレス範囲は 35.235.240.0/20 であることがドキュメントに記載されていますので、この範囲からの tcp:22を許可する設定をします。~ こうすることで、gcloud sshをする際に --tunnnel-through-iapのオプションを設定するだけでIAPを経由してSSH接続ができます。書いていて思い出しましたが、IAPを経由するためにIAMでIAP-secured Tunnel Userの役割を自身、または自身を含むグループや組織に付与しています。GFEからのHTTPについては、ヘルスチェックリクエストを通すために設定しています。 ポートはアプリケーションによって異なる場合がありますので、適宜変更してください。 IPアドレス範囲はドキュメントに 35.191.0.0/16,130.211.0.0/22であることが記載されています。Cloud NATを設定するVMインスタンスに外部IPを付与するのは稀であるはずです。 とはいえインターネットに出られないと困るケースも多いので、Cloud NATを上記で作成したVPCネットワークに設定しています。Google Cloud の魅力についてさらに知りたい方はこちら下記の資料では、Google Cloud とクラウドエースの魅力についてまとめられていますので、ぜひご覧になってください。 GCP(Google Cloud)とクラウドエースのご紹介