Azure 系エンジニアから見た GCP 〜Google Compute Engine編〜

昨年は Microsoft Azure をある程度キャッチアップできた気がするので、今年は Google Computer Platform をキャッチアップしていきます。
今回は公式チュートリアルの最初にあった GCE を見て気になったところをメモしてます。

GCE について

管理

GCP でははじめにプロジェクトを作成し、リソースはプロジェクトの中で作成します。
インスタンス単位で ssh 公開鍵を登録するのはもちろん可能ですが、プロジェクトで ssh 公開鍵を作成し、GCE の各インスタンスではデフォルトではプロジェクトの公開鍵を利用できるため、厳格なポリシーがなければこれで事足ります。

ネットワーク - プライベートアドレス

Azure では内部IP範囲が他の仮想ネットワークと重ならないようにデフォルト指定されます。
これは複数の仮想ネットワークをピアリング接続する可能性を考慮してのことだと思われます。

一方 GCP ではリージョンでデフォルトのIPが決まっていて、別のプロジェクトで作成したプライベートIPの範囲とは重なります。
割り切りですね。

このあたりは好みが分かれるな気がします。

ネットワーク - セキュリティグループ

Azure で言うところの NSG, AWS でいうところのセキュリティグループについて。
Azure ではルールセットである NSG を作成し、VMのネットワークインターフェースかサブネットにアタッチします。

GCP ではネットワーク全体かサブネットかタグにアタッチします。
VMインスタンスがタグを持つことで、特定のインスタンス向けのルールを作成できます。
プラットフォームが役割としてのタグを強制するのは、個人的には好きな対応です。

オートスケール

インスタンスグループという機能によってオートスケールを実現しています。

コンテナ

Azure では Docker コンテナを動かす Web App for Container というサービスがあります。
GCP では GCE でコンテナ機能が実装されていて、驚きました。
現段階ではアルファ版 ということなので、今後どうなるかわかりませんが、注目です。

インスタンスグループにローリングアップデート機能などもあるため、いろいろ捗りそうです。

GCP 全般について

ゾーン

GCP ではリソースを作成するときにゾーンを指定します。
ゾーンは {大陸}-{方角}{NO} となっているので、そのゾーンがどの国を意味しているのかはググって解決してました。
それでいて 料金 ページでは国が表示されるので「このリソースを作るといくらかかるんだっけ?」という気持ちになりました。

ポータル

Azure ポータルは遅いので、そこが快適な GCP は気持ち良いです。
Azure-CLI を使うという手はもちろんありますが、ここは見習って欲しいところ。

おわりに

次はストレージかデータストアあたりを見ていくはず、たぶん。