GCP - Compute Instances
基本情報
Google Cloud Compute Instancesは、Googleのクラウドインフラ上のカスタマイズ可能な仮想マシンであり、さまざまなアプリケーションに対してスケーラブルでオンデマンドのコンピューティングパワーを提供します。これらは、グローバルな展開、永続的なストレージ、柔軟なOS選択、強力なネットワーキングおよびセキュリティ統合などの機能を提供し、ウェブサイトのホスティング、データ処理、アプリケーションの効率的な実行に適した多用途の選択肢となります。
Confidential VM
Confidential VMsは、AMD EPYCプロセッサの最新世代が提供するハードウェアベースのセキュリティ機能を使用します。これには、メモリ暗号化およびセキュア暗号化仮想化が含まれます。これらの機能により、VMはホストオペレーティングシステムやハイパーバイザーからもデータを保護できます。
Confidential VMを実行するには、マシンのタイプ、ネットワークインターフェース、ブートディスクイメージなどを変更する必要があるかもしれません。
ディスクとディスク暗号化
使用するディスクを選択するか、新しいディスクを作成することが可能です。新しいディスクを選択する場合、以下のことができます:
ディスクのサイズを選択
OSを選択
インスタンスが削除されたときにディスクを削除するかどうかを指定
暗号化:デフォルトではGoogle管理キーが使用されますが、KMSからキーを選択するか、使用する生のキーを指定することもできます。
コンテナのデプロイ
仮想マシン内にコンテナをデプロイすることが可能です。 使用するイメージを設定し、内部で実行するコマンド、引数、ボリュームのマウント、環境変数(機密情報?)を設定し、このコンテナのためにいくつかのオプションを構成することができます。例えば、特権モードで実行、stdinおよび擬似TTYなどです。
サービスアカウント
デフォルトでは、Compute Engineデフォルトサービスアカウントが使用されます。このSAのメールは次のようになります:<proj-num>-compute@developer.gserviceaccount.com
このサービスアカウントは、**プロジェクト全体に対してEditorロール(高い権限)**を持っています。
そして、デフォルトのアクセススコープは次の通りです:
https://www.googleapis.com/auth/devstorage.read_only -- バケットへの読み取りアクセス :)
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/service.management.readonly
https://www.googleapis.com/auth/trace.append
ただし、クリック一つでcloud-platform
を付与するか、カスタムのものを指定することも可能です。
ファイアウォール
HTTPおよびHTTPSトラフィックを許可することが可能です。
ネットワーキング
IPフォワーディング:インスタンスの作成時にIPフォワーディングを有効にすることが可能です。
ホスト名:インスタンスに永続的なホスト名を付与することが可能です。
インターフェース:ネットワークインターフェースを追加することが可能です。
追加のセキュリティ
これらのオプションはVMのセキュリティを向上させ、推奨されます:
セキュアブート:セキュアブートは、ブートレベルおよびカーネルレベルのマルウェアやルートキットからVMインスタンスを保護するのに役立ちます。
vTPMの有効化:仮想トラステッドプラットフォームモジュール(vTPM)は、ゲストVMのプレブートおよびブートの整合性を検証し、キーの生成と保護を提供します。
整合性監視:整合性監視により、Stackdriverレポートを使用してシールドされたVMインスタンスのランタイムブート整合性を監視および検証することができます。vTPMの有効化が必要です。
VMアクセス
VMへのアクセスを有効にする一般的な方法は、特定のSSH公開鍵を許可することです。
しかし、IAMを使用してos-config
サービス経由でVMへのアクセスを有効にすることも可能です。さらに、このサービスを使用してVMへのアクセスに2FAを有効にすることも可能です。
このサービスが有効になると、SSHキー経由のアクセスは無効になります。
メタデータ
自動化(AWSのuserdata)を定義することが可能で、これはマシンが起動または再起動するたびに実行されるシェルコマンドです。
また、メタデータエンドポイントからアクセス可能な追加のメタデータキーと値を追加することも可能です。この情報は通常、環境変数やスタートアップ/シャットダウンスクリプトに使用されます。これは、列挙セクションのコマンドから**describe
メソッド**を使用して取得できますが、インスタンス内部からメタデータエンドポイントにアクセスして取得することもできます。
Moreover, auth token for the attached service account とインスタンス、ネットワーク、プロジェクトに関するgeneral infoもmetadata endpointから取得可能です。詳細は以下を参照してください:
Encryption
デフォルトではGoogle管理の暗号化キーが使用されますが、Customer-managed encryption key (CMEK)を設定することもできます。使用されているCMEKが取り消された場合の動作も設定可能です: 何もしないか、VMをシャットダウンするか。
Last updated