皆様、こんにちは!
アイレット株式会社 DX開発事業部の楊林と申します。
前回の投稿では、Google Cloud のサービスアカウントと Cloud Identity について紹介しました。
今回からは、Google Cloud のコンピューティングサービスに入っていきます。最初のテーマは Compute Engine です。
Compute Engineとは
Compute Engine は Google Cloud プロジェクトに属する IaaS(Infrastructure as a Service) で、物理データセンターをクラウド上にそのまま持ってきたようなサービスで、コンピューティング、ストレージ、ネットワークなどを提供します。
利用者は事前定義のマシンタイプを選んだり、vCPU やメモリを自由にカスタマイズしたりしながら VM(仮想マシン)を構築できます。
Compute Engine は Google のインフラ上で大量の仮想 CPU を高速かつ安定的に実行でき、各仮想マシンには本格的なオペレーティングシステム(OS)の性能と機能が提供されています。
また、初期投資は不要で、コストは秒ごとに請求され、バッチ処理のように短時間だけ動かしたいケースでも無駄なコストを抑えられます。
オンプレミスからのリフト&シフトも容易で、アプリケーション自体を作り直す必要はありません。
Compute Engineのマシンタイプは事前定義されたものとカスタマイズのものがあります、どちらでもvCPUとメモリの必要な量、ディスクタイプ、ネットワーキングインターフェースの構成やオペレーティングシステム(OS)などを選択できます。
仮想マシンVMの操作方法
VM は Google Cloudコンソール、Google Cloud CLIまたはCompute Engine APIを使用して作成できます。
Google が提供している Linux/Windows のサーバーイメージを使うのが一般的ですが、独自にオペレーティングシステム(OS)をカスタマイズすることも可能です。
Linux VM には SSH、Windows VM には RDP で接続できます。
インスタンスにアクセスするため、インスタンス作成者にはそのインスタンスの完全なroot権限を持ちます。
インスタンスのライフサイクル
インスタンスにはステータスがあり、それで示すライフサイクルがあります。
まず作成直後にインスタンスのステータスは Provisioningになります。この段階で CPU、メモリ、ディスクなどのリソースはインスタンス用に予約されていますが、インスタンス自体はまだ実行されていません。
その後ソースが獲得されて、インスタンスを起動するため、Staging に進みます。この段階でCompute EngineによってIPアドレスが追加され、システムイメージが起動されて、システムが起動されます。
インスタンスが起動されたら Running になります。Running 状態では、ライブマイグレーションやスナップショットの取得、メタデータの再設定などが可能です。
停止処理を始めると、Stopping になります。インスタンスは事前構成済みのシャットダウンスクリプトを実行し、最終的に Terminated 状態になります。
Terminatedになったインスタンスは、また再起動してプロビジョニング状態に戻すことや、直接削除されることができます。
また、Google のメンテナンスや基盤側の問題が発生すると Repairing(修復中) に入ることがあります。この状態では料金は発生しませんが、SLA の対象外になります。
一時停止したい場合は Suspending / Suspended を利用でき、後から再開や削除することが可能です。
可用性ポリシー
Compute Engineではメンテナンスイベントが発生した場合に、デフォルトではVMを別のホストにライブマイグレーションして、アプリケーションの中断を防ぐことができます。
また可用性ポリシーを変更してインスタンスを終了するように設定することや、クラッシュなどでVMが落ちた場合自動再起動するかどうかも設定できます。
OS Patch Management
長時間実行される VM は OS の欠陥や脆弱性があります、そのために用意されているのが OS Patch Management です。
OS Patch Management はVMインスタンスのパッチステータスに関する分析情報を確認できる「パッチコンプライアンスレポート」、そしてOSとソフトウェアパッチの更新を自動化する「パッチデプロイ」の2つの要素で構成されています。
パッチをいつ何回に適用するか、適用前後に実行するスクリプトなどを柔軟に設定でき、パッチジョブやアップデートの一元管理し、運用負荷を大きく減らせます。
マシンイメージ
VM を作成するときに選ぶブートディスクのイメージには OS やファイルシステム、設定済みのソフトウェアなどが含まれています。
Google 公式の公開イメージを使うほか、組織独自のソフトウェアを入れたカスタムイメージを作成して使うこともできます。
そしてカスタムイメージはオンプレミス環境、ワークステーション、別のクラウドプロバイダからインポートすることができます。
VMを作成する際にブートディスクイメージを選択できます、その中にブートローダー、オペレーティングシステム(OS)、ファイルシステム構造や構成済みのソフトウェア、そしてその他も色々なカスタマイズできるものなどが含まれます。
マシンイメージはインスタンスの作成、バックアップ、復元、クローン作成、レプリケーション、およびディスクのバックアップなど、さまざまなシステム保守に使用できます。
最後に
今回は Compute Engine のもっとも基本的な部分をまとめて紹介しました。
ただ、実際に VM を作ろうとすると「どのマシンタイプを選べばいいの?」「同自動スケーリングを実現するか?」といった疑問が出てきます。
次回はそのあたりの Compute Engine のコンピューティングオプションとマネージドインスタンスグループを詳しく紹介します。
ぜひ続けて読んでみてください!
以前の投稿
【Google Cloud入門】クラウドサービスの特徴とGoogle Cloudの触り方
【Google Cloud入門】リソースマネージメント
【Google Cloud入門】アクセス管理の基本 - IAM
【Google Cloud入門】サービスアカウントとCloud Identity