この記事では、GCP の認定試験である Associate Cloud Engineer の模擬試験の解説をします。
前編はこちら

設問11:ディスクとスナップショットの保存場所に関する出題

この問題では、ディスク、スナップショットがそれぞれどこに保存されているのかを理解することが重要です。ついでにイメージについても解説します。
まず、ディスクについては、特定の ゾーン に保存されています。これは、VMインスタンスが特定のゾーンに起動することを考えれば当たり前のことだと理解できるはずです。
※参考までに、制約事項はあるものの リージョンPersistent Disk というサービスがあります。

これに対して、スナップショットは リージョン に保存されているわけですが、重要なのはスナップショットはリージョンをまたいでディスクに復元できるという点です。
これを理解していれば、スナップショットから別のリージョンに直接ディスクを作成する選択肢を選べるはずです。

イメージは、他のプロジェクトにディスクを利用させる場合に用います。
スナップショットを他のプロジェクトに利用させることはできないので、他のプロジェクトに起動し直すような問題では、イメージを利用するような選択肢を選びましょう。

設問12:GCPのリレーショナルデータベースに関する出題

GCPでリレーショナルデータを扱えるのはBigQuery, Cloud Spanner, Cloud SQLの3つです。
これらのうち、データのトランザクションに対応しているのは、Cloud SpannerとCloud SQLになります。
Cloud Spannerがマルチリージョンで活用できるリレーショナル・データベースであることは覚えておきたいポイントの1つです。
また、問題作成時には無かった機能だと思いますがCloud SQLも リージョンをまたいだレプリケーション を行えるようになっているので、マルチリージョンでの活用を視野に入れることができるようになっています。

設問13:GKEでNodeを手動スケールさせる方法に関する出題

Kubernetes Engineに関する問題でマネージドインスタンスグループを操作してはいけません。
kubectl container というコマンドは存在しないので、gcloud container clusters resize が正解となります。
実際には、ノードを追加しただけではポッドが自動で増えるわけではないので、KubernetesのHorizontalPodAutoscalerと併用する必要があります。

設問14:GAEのトラフィック分割に関する出題

この問題では、 AppEngineのトラフィック分割機能 の知識を問われています。
AppEngineでは、 サービスに対して新しいバージョンをデプロイする際に、デフォルトではすべてのトラフィックが新しいバージョンに振り分けられますが、既存のバージョンにトラフィックを振り分けたまま新しいサービスをデプロイすることもできます。
この機能を利用すれば、新しいバージョンに少量のトラフィックを流すこともできますし、ダウンタイムなしに一気に新しいバージョンにトラフィックを振り分けるこもできます。

設問15:Kubernetesの基本に関する出題

Kubernetesでサービスを提供する方法は大きく3つあります。

  • NodePort
  • ClusterIP
  • LoadBalancer

これらのうち、クラスタの内部にのみサービスを公開するものは、ClusterIPだけです。
NodePortは、NodeのIPアドレスへのトラフィックをPodに振り分け、LoadBalancerはGCPではTCP LoadBalancerを起動してインターネットにサービスを公開します。

設問16:BigQueryの料金プランに関する出題

昔はCloud ConsoleのUI上にBigQueryのクエリがどれくらいのデータをスキャンするのかわからなかったため、ローカルマシン上で --dry-run オプションをつけてスキャン容量を確認するということをよくやっていました。
昨今ではUIにスキャン容量が表示されるようになったので、bqコマンドを使わずとも、料金を見積もることが可能になりました。
1TBで5$と覚えておきましょう。

設問17:IAMに関する出題

特定のプロジェクトの役割を確認すれば良いのですから、組織ではなくプロジェクトのIAMページでフィルタをするのが良いでしょう。

gcloud iam list-grantable-roles は、メンバー一覧を確認するコマンドではなく、特定のリソースに適用可能な役割のリストを一覧します。

設問18:IAM に関する出題

GCPは、役割を付与する階層が3つあります。上から、組織、フォルダ、プロジェクト です。

組織に適用した役割は、組織配下の全てのGCPプロジェクトに適用され、フォルダに適用した役割はフォルダ配下のGCPプロジェクト全てに適用されます。
この問題では、組織配下全てのGCPプロジェクトに役割を適用しようとしているので、組織に対して役割を設定するのが正しいです。
複数の役割を1つのカスタムな役割にまとめる必要はありません。

設問19:IAM に関する出題

正解ではGoogleグループを作成して、グループに対して役割を付与していますが、組織全員に対して適用するのであれば、グループをわざわざ作成する必要はありません。
例えば cloud-ace.jp というドメインで登録した組織であれば、 役割を付与する対象にドメインを指定すれば、組織メンバー全員に役割を付与することができます。

設問20:IAM に関する出題

カスタムの役割の権限を調べるには、Cloud Consoleを使うのが便利です。
gcloud コマンドでは、 gcloud iam roles list で役割を一覧表示できますが、膨大な出力の中からカスタムの役割を探さないといけないので、非常に面倒です。