📹

【Google Cloudのお勉強】04.Google Cloud の GCE について

2023/02/04に公開

はじめに・・

前回はGoogle Cloudの権限管理を司るIAMについて学びました。そこでサービスアカウントを消してインスタンスに接続できるか?という検証をしましたが、今回はそのVMインスタンスを管理するGCEについての、まとめとなります。

Google Cloud の GCE とは

Google Compute Engine = GCE。。Google Cloud が提供する仮想のコンピューター機能。特徴として以下ざっくり。

  • 仮想コンピューティング機能
  • 必要な時に作れて、不要になったら削除できる
  • 各種OSが選べる
  • 従量課金制

GCE の詳細

オンプレミスのサーバー機器の代わりと利用できるGCEですが、詳細は以下の内容となります。

インスタンスタイプ

メモリ、CPU、ネットワーク帯域など基本的な機能セットがインスタンスタイプとしてまとめられている。自ら必要となるインスタンスタイプが選べる

種類 内容
汎用 C3、E2、N2、N2D、T2A、 T2D、N1
コンピューティング最適化 C2、C2D
メモリ最適化 M1、M2、M3
アクセラレーター最適化 A2

様々なリージョンやゾーンで動作する

2023年2月4日時点で35のリージョンがあり、そこで動作する。
ゾーンを複数に分けて設置することにより可用性が向上する。

公開されているOS種類も様々

一般的なOSSなOS以外に商用OSも存在し、そこから選んで利用ができる。

なお、商用OSの場合にはライセンス利用料も含まれているが、条件によってはBYOLもできる。
お客様所有ライセンスの使用

自分で作成したイメージからインスタンスも起動できる

バックアップイメージからのインスタンス起動や、スケールアウト処理の時にインスタンス起動できるように「自ら準備したイメージからインスタンスが起動」できる。

コンテナイメージもインスタンスへPullできる

インスタンス作成の段階でGoogle Cloudのコンテナレポジトリにあるイメージのpullができる。

試しにDockerHUBから直接pullできないか指定してみたが出来ず。

DockerHUB → ローカル → Google CloudのContainer Registry へと準備すればインスタンス作成時にpullできる。

ストレージの種類は大きくわけて2種類

不揮発性と揮発性で分類ができる。

種類 内容 用途
永続デイスク(不揮発性) インスタンス止めてもデータ保持する OSブートボリュームやデータ保持用
ローカルSSD(揮発性) インスタンス止めるとデータ消える めちゃくちゃ速いのローカルで計算する際に利用

割当ができるIPアドレス

内部ネットワーク用と外部ネットワーク公開用など用途に分けてIPアドレスの付与ができる。

種類 内容
外部IPアドレス 静的割当、利用してない時にも課金される
プライベートIPアドレス VPCやサブネット内での通信時に利用

設置できるネットワーク

どのパブリッククラウドでも同じだと思うのですが、仮想インスタンスが設置できるのは準備した仮想のネットワークになる。Google Cloudの場合はVPCに設置ができる。

Google Cloud の VPC は AWS とまったく違う

AWS脳の自分として「へぇ~」と思ったのが Google Cloud の VPC構成


G-gen Blogより

VPCはグローバルで動作し、サブネットが各リージョンで動作する。しかも複数のゾーンに分けてサブネット設置ができる。

ここがAWSとは全く異なっていて面白かった。


やってみた

Twitter上にて情報共有があって面白かったので、ハンズオンで検証してみた。

GCEのSSHボタンってCloudShellを用いてインスタンスにSSH接続しているとの事。ってことは外部からの接続に見えるので要件によっては禁止されるという話。なるほど!

じゃぁそのSSH接続が許可されているのを消したり作ったりしてみたらどうなるのか検証

デフォルトルールを削除してみる

Google Cloud のプロジェクトを作成しGCE を有効にした後に、標準で作成されるデフォルトルールにてSSH接続の箇所があったので削除してみる。

案の定ネットワークファイアーウォール的には通信許可されてないので、繋がらなくて叱られるw

許可ルールを自作で追加してみる

じゃぁ消したルールを手動で追加してみる。

すると無事にまたSSH接続が出来た。

これデフォルトルールは見直し必要じゃないかと。。

という事はプロジェクト作成直後は、ネットワーク的にはよろしくないかと思われる。

事実 RDP や SSH がどこからでも許可されている状況なので、実運用する際にはしっかりファイアーウォールルール見直ししたほうが良い。

余談:ファイアーウォールルールは有効化・無効化ができる。

消して自作した後に気づいたんですが、ファイアーウォールルールは有効化・無効化ができる。

それに気づいて「なんだよ~これが簡単じゃーんwww」って思った。

まとめ

今回の学習まとめ

  • GCEは簡単に使い捨てが可能な仮想マシン
  • GCEはいくつかのインスタンス種類がある
    • VPCがなんか凄い
    • グローバルで動くVPC
  • デフォルトのファイアーウォールはちょっと危険
  • ファイアウィールルールは自作できる

Twitter Liveでのアウトプット内容

https://twitter.com/maijun2/status/1621448773754044417

Discussion