今回も、前回に引き続き、「Google Associate Cloud Engineer」認定取得の勉強におけるアウトプット内容となっています。
将来、「Google Associate Cloud Engineer」認定取得を目指している方向けに、ぴったりの内容となっています。
今回の内容は、前回に引き続き、「Google Compute Engine(GCE)」についての2回目です!
マネージドインスタンスグループ
マネージドインスタンスグループを説明する前に、「VMインスタンス」と「インスタンスグループ」について説明します。
- VMインスタンス:物理的な一台のコンピュータ上で、ソフトウェアとして実装された仮想マシン(VM)を起動したもの
- インスタンスグループ:VMインスタンスの集まり(グループ)
インスタンス(instance)とは、直訳すると事例や例という意味であり、仮想化の領域では、仮想マシンを起動したものをいいます。
マネージドインスタンスグループ:管理されたVMインスタンスの集まり
マネージドインスタンスグループは、通常、オートスケーラーと併用して使われます。
オートスケーラーは、例えば、マネージドインスタンスグループに設定された「しきい値」に達した場合、VMインスタンスを自動で追加・削除する機能です。たとえば、CPUの負荷が80%超えた場合、VMインスタンスを2つ追加する等です。
イラストのようにWebショピングサイトを運営していて、セール開催時にそのサイトにアクセスが集中した場合、自動でWebサーバを追加し、集中を分散したりする際に使用します。
インスタンステンプレート
インスタンステンプレートとは、VMインスタンスを作成するためのテンプレートです。
例えていうなら、料理のレシピがインスタンステンプレートになります。
インスタンステンプレートを使用すると、同一スペック内容のVMインスタンスを作成することができます。
使用用途としては、上記の「マネージドインスタンスグループ」で説明したように、例えば、自分が運営しているショッピングサイトにアクセスが集中した際、インスタンステンプレートからVMインスタンスを作成・追加することで、アクセスの負荷分散を行うとき等に使用します。
インスタンステンプレートとして設定できる項目として、
- マシンタイプ
- ブートディスク
- イメージ又はコンテナイメージ
- ラベル
- 起動スクリプト
- その他
等があります。
<インスタンステンプレートの注意点>
あくまで同じ構成のインスタンスを作成するように設定されているという点です。少しでも、設定を変更したい場合は、新規に作成する必要があります。
App Engine
App Engineとは、フルマネージド型サーバレスインストラクチャーになります。要は、インフラ部分の運用を全てGCP側に任せることができるということです。
アプリ開発者は、アプリ開発に集中することができます。
通常、InstagramやTwitter等のアプリケーションというのは、サーバ上で動作しています。アプリ開発者は、そのサーバ側の構築や管理も行う必要があります。
しかし、「App Engine」を使用すると、サーバ側の構築・管理を全て「App Engine」に委託することができます。よって、アプリ開発者は、アプリ開発に集中することができます。
例えば、自分がアイドルだった場合、ライブ会場の設備やチケット販売等に関わる部分を、運営者にを全て任せることができるのが「App Engine」になります。
<App Engineのポイント>
1.フルマネージド:インフラストラクチャ(基盤)の管理
2.サーバーレス:インフラストラクチャ(基盤)の準備
3.スケーラビリティ:インフラストラクチャ(基盤)の調整
2種類のApp Engine
App Engineには、2つの種類があります。
- スタンダード環境
- フレキシブル環境
1.スタンダード環境の特徴
- 高速なスケーリング(スケールアウトはGCPで最も高速)
- 使用できるランタイム(プログラミング言語)のバージョンが限定
- ディスへの書き込みが一部制限
- SSH機能使用不可(SSHとはサーバに接続するための方法)
- アプリのランタイム(プログラミング言語)変更不可
料金
インスタンスの起動時間によって変動。厳密に言うと、インスタンスが起動している秒間によって料金が変動します。
用途
迅速なスケーリングが必要で、上記非対応項目を必要としないアプリケーション。例えば、アクセスされたPC(クライアント)の情報を保存しないWebアプリ等です。
使用可能ランタイム(プログラミング言語)
- Java
- Python
- PHP
- GO
- Node.js
- Ruby
2.フレキシブル環境の特徴
- スタンダード環境の代替として後から導入
- 一時ディスクに書き込む可能
- Dockerコンテナに対応
- 開発言語のバージョン制限がない
- SSH機能使用可能
- ランタイム(プログラミング言語)の変更可能
料金
vCPU、メモリ、永続ディスクの使用量と使用時間(分間)によって変動。
用途
- トラフィックに一貫性があるアプリケーション
- コンテナ化アプリケーション
使用可能ランタイム(プログラミング)言語
スタンダード環境の言語に「.NET」が追加。
まとめ
今回は、Compute Engineに関して下記3点について説明しました。
- マネージドインスタンスグループ
- インスタンステンプレート
- App Engine
Compute Engineは、物理サーバ上で複数の仮想サーバを動かす機能です。また、複数のマシンタイプや冗長化に関する機能があります。GCPの基本的な機能なので、しっかりと理解しておきましょう!
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!