0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

受験体験記(Google Cloud Associate Cloud Engineer)

Posted at

誰かの参考になれば。

受験概要

  • 受験日 2025/12/27
  • オンライン受験(Kryterion)※複数回目
  • 試験時間 2h ※見直し含めて1.5h超
  • 問題数 50問 ※合格したので正答率不明

受験後の感想

  • 模擬試験では一度も70%超えなかったので結構不安だった
  • 見直し対象問題が22問もあり、結構時間が掛かった
  • オンライン試験で受験中の回線トラブルが2回発生

勉強法

  • Udemy:
  • まずはMaruchinさんのACEコースを通勤電車などを利用して一通り視聴し、分からない所を繰り返し見る
  • 一旦真面目に模擬試験を受けて、直しをしながらChatGPTと壁打ち
  • 物理的にノートに適宜メモを取る
  • コマンドとロールはGeminiにまとめてもらって、プリントアウトしたものに適宜メモ
  • 勉強時間:30h弱(動画視聴で15h、模試4回で5h、テスト直しと要点まとめで6hくらい)
    • Udemyの模擬試験で4回とも一度も70%を超えなかった
    • CDLでサービスの概要は押さえていたが、追加で以下を押さえる必要があった
      • リソース階層とNW階層の違い
      • 基本的なコマンドとロール
      • VM,AppEngine,GKEのユースケース
      • Cloud Run, Cloud Functionsのユースケース

前提

  • 一般的なwebシステム開発の経験あり
  • AWSは触っていた
  • Docker、k8sはudemyで学習済み
  • いくつかのGoogleCloud資格取得済み(CDL,GAIL)
  • まだ実際のGoogle Cloud環境は一切触ってない(触ると混乱するため)

得られた用語など

※自分用メモ。正確性に責任負いません

コマンド

gcloud

  • 記法: gcloud [GROUP] [SUBGROUP] COMMAND [FLAGS]
  • サンプル: gcloud compute instances create INSTANCE_NAME --zone=ZONE ※処理(動詞)が最後
  • 主なコマンド:
    • gcloud auth: 認証管理
    • gcloud config: gcloud設定管理
    • gcloud init: gcloud初期設定
    • gcloud project: プロジェクト設定
    • gcloud profile: プロファイル管理
    • gcloud iam: IAMロール、ポリシー管理
    • gcloud compute: Compute Engineリソース管理
      • gcloud compute instances: VMインスタンス管理
      • gcloud compute instance-templates: インスタンステンプレート管理
      • gcloud compute instance-groups: インスタンスグループ管理
      • gcloud compute zones: ゾーン管理
      • gcloud compute regions: リージョン管理
      • gcloud compute disks: 永続ディスク管理
      • gcloud compute images: イメージ管理
      • gcloud compute snapshots: スナップショット管理
      • gcloud compute networks: ネットワーク管理
      • gcloud compute networks subnets: サブネット管理
      • gcloud compute firewall-rules: ファイアウォールルール管理
    • gcloud app: App Engineリソース管理
    • gcloud container: GKEリソース管理
      • gcloud container clusters: GKEクラスタ管理
      • gcloud container node-pools: GKEノードプール管理
      • gcloud container images: コンテナイメージ管理
    • gcloud functions: Cloud Functionsリソース管理
    • gcloud run: Cloud Runリソース管理
    • gcloud projects: プロジェクト管理
    • gcloud storage: Cloud Storageリソース管理
      • gcloud storage buckets: バケット管理
      • gcloud storage objects: オブジェクト管理
      • gcloud storage transfers: データ転送管理
      • gcloud storage signed-urls: 署名付きURL管理
    • gcloud sql: Cloud SQLリソース管理
      • gcloud sql instances: Cloud SQLインスタンス管理
      • gcloud sql databases: Cloud SQLデータベース管理
      • gcloud sql backups: Cloud SQLバックアップ管理
      • gcloud sql users: Cloud SQLユーザ管理
    • gcloud logging: ログ管理
      • gcloud logging logs: ログエントリ管理
      • gcloud logging sinks: ログシンク管理
    • gcloud monitoring: モニタリング管理
      • gcloud monitoring dashboards: ダッシュボード管理
      • gcloud monitoring policies: アラートポリシー管理

gsutil

  • 記法: gsutil COMMAND [ARGS...]
  • サンプル: gsutil cp source destination ※処理(動詞)が最初、linuxの一般的なコマンドに近い
  • 基本的にはgcloud storageコマンド利用推奨、gsutilはレガシー扱い?
  • 主なコマンド:
    • gsutil mb: バケット作成(make bucket)
    • gsutil cp: ファイル/ディレクトリのコピー
    • gsutil ls: バケット/オブジェクトの一覧表示
    • gsutil rm: オブジェクト/バケットの削除
    • gsutil rsync: ディレクトリ間の同期
    • gsutil acl: アクセス制御リスト(ACL)管理
    • gsutil iam: IAMポリシー管理
    • gsutil signurl: 署名付きURLの生成

kubectl (GC限定ではないが)

  • 記法: kubectl COMMAND [TYPE] [NAME] [FLAGS]
  • サンプル: kubectl get pods --namespace=NAMESPACE ※処理(動詞)が最初
  • 主なコマンド:
    • kubectl get: リソースの一覧表示
    • kubectl describe: リソースの詳細表示
    • kubectl create: リソースの作成
    • kubectl apply: マニフェストファイルからリソースの作成/更新
    • kubectl delete: リソースの削除

ロール

  • プリミティブロール: Owner, Editor, Viewer ※権限管理が大雑把になりすぎるため、利用は推奨されていない
  • 事前定義ロール: サービス毎に用意された細かいロール
  • カスタムロール: ユーザが独自に定義可能なロール

プリミティブロール

  • Owner: すべてのリソースに対するフルコントロール権限 ※使用不可推奨
  • Editor: すべてのリソースに対する編集権限(作成、更新、削除が可能) ※使用不可推奨
  • Viewer: すべてのリソースに対する読み取り専用権限 ※使用不可推奨
  • Admin: すべてのリソースに対する管理権限(作成、更新、削除が可能)
  • writer: すべてのリソースに対する編集権限(Editorと同等)
  • Reader: 読み取り専用権限(Viewerと同等)

事前定義ロール

  • IAM:
    • iam.serviceAccountUser: サービスアカウントのユーザ権限
    • iam.serviceAccountAdmin: サービスアカウントの管理者権限
    • iam.roleAdmin: ロール管理者権限
    • iam.securityAdmin: セキュリティ管理者権限
  • Compute Engine:
    • compute.admin: フルコントロール権限
    • compute.instanceAdmin.v1: インスタンス管理者権限
    • compute.networkAdmin: ネットワーク管理者権限
    • compute.securityAdmin: セキュリティ管理者権限
    • compute.viewer: 読み取り専用権限
  • Cloud Storage:
    • storage.admin: フルコントロール権限
    • storage.objectAdmin: オブジェクト管理者権限
    • storage.objectCreator: オブジェクト作成者権限
    • storage.objectViewer: オブジェクト閲覧者権限
    • storage.viewer: 読み取り専用権限
  • App Engine:
    • appengine.appAdmin: アプリケーション管理者権限
    • appengine.deployer: アプリケーションデプロイヤー権限
    • appengine.viewer: 読み取り専用権限
  • GKE:
    • container.admin: フルコントロール権限
    • container.clusterAdmin: クラスタ管理者権限
    • container.developer: 開発者権限
    • container.viewer: 読み取り専用権限
  • Cloud Functions:
    • cloudfunctions.admin: フルコントロール権限
    • cloudfunctions.developer: 開発者権限
    • cloudfunctions.viewer: 読み取り専用権限
  • Cloud Run:
    • run.admin: フルコントロール権限
    • run.developer: 開発者権限
    • run.viewer: 読み取り専用権限
  • Cloud SQL:
    • cloudsql.admin: フルコントロール権限
    • cloudsql.editor: 編集者権限
    • cloudsql.viewer: 閲覧者権限
  • BigQuery:
    • bigquery.admin: フルコントロール権限
    • bigquery.dataEditor: データ編集者権限
    • bigquery.dataViewer: データ閲覧者権限
    • bigquery.jobUser: ジョブ実行者権限
    • bigquery.metadataViewer: メタデータ閲覧者権限
    • bigquery.user: ユーザ権限
  • Cloud Logging:
    • logging.admin: フルコントロール権限
    • logging.configWriter: ログ設定編集者権限
    • logging.viewer: 閲覧者権限
  • Cloud Monitoring:
    • monitoring.admin: フルコントロール権限
    • monitoring.editor: 編集者権限
    • monitoring.viewer: 閲覧者権限

頻出のユースケースに対応したロール

  • BigQueryのデータ参照+クエリ実行者:
    • bigquery.dataViewer: データの閲覧が可能
    • bigquery.jobUser: クエリの実行が可能
  • App Engineのデプロイ担当者:
    • appengine.deployer: アプリケーションのデプロイが可能

アカウント

  • ユーザアカウント: 個人ユーザが作成、管理するアカウント
  • サービスアカウント: アプリケーションやVMなどのサービスが作成、管理するアカウント
    • 権限付与: IAMロールをサービスアカウントに付与することで、そのサービスが必要なリソースにアクセス可能
    • キー管理: サービスアカウントのキーを作成し、アプリケーションが認証に使用可能

リージョン・ゾーン

  • リージョン: 地理的に分散されたデータセンターのグループ
  • ゾーン: リージョン内の独立したデータセンター
  • マルチリージョン: 複数のリージョンにまたがる広域な地理的エリア
  • リージョン選択基準:
    • ユーザの所在地: ユーザに近いリージョンを選択して、レイテンシを最小化
    • サービスの可用性: 複数のリージョンにリソースを分散配置して、障害発生時の影響を最小化
    • コスト: リージョンごとの料金差を考慮して、コスト効率の良いリージョンを選択
    • 法規制: データの保存や処理に関する法規制を遵守するため、適切なリージョンを選択

リージョン・ゾーンに属するリソース

  • リージョンに属するリソース:
    • Cloud Storageバケット(マルチリージョン/リージョン)
    • BigQueryデータセット(マルチリージョン/リージョン)
    • Cloud SQLインスタンス
    • Cloud Spannerインスタンス
  • ゾーンに属するリソース:
    • Compute Engineインスタンス
    • GKEクラスタ(ゾーン/リージョン)
    • 永続ディスク

リソース階層

  • 組織: 企業や団体全体を表す最上位のリソース
    • フォルダ: 組織内でプロジェクトをグループ化するための中間リソース
      • プロジェクト: GCPリソースを作成、管理するためのコンテナ
        • リソース: GCPサービスで使用される具体的なインスタンスやサービス

ネットワーク階層

  • VPC: プロジェクト内で論理的に分離されたネットワーク
    • サブネット: VPC内でIPアドレス範囲を分割したもの
      • IPレンジ: サブネットに割り当てられたIPアドレスの範囲
        • リソース: VMインスタンスや他のリソースに割り当てられたIPアドレス
  • VPCのコンポーネント
    • ファイアウォールルール: ネットワークトラフィックの許可/拒否ルール
    • ルート: ネットワークトラフィックの経路設定
    • VPN: オンプレミスネットワークとGCPネットワークを安全に接続
  • Cloud Interconnect: 専用線を使用してオンプレミスネットワークとGCPネットワークを接続
  • VPCピアリング: 異なるVPC間でのプライベート接続を確立
    • VPCピアリングした場合のIPレンジ: 重複不可
  • Cloud NAT: プライベートIPアドレスを持つリソースがインターネットにアクセス可能にする
  • プライマリIPレンジ: VMインスタンスや他のリソースに割り当てるためのIPアドレス範囲
  • セカンダリIPレンジ: GKEのVPCネイティブクラスタや他のサービスで使用するための追加のIPアドレス範囲

GKEの階層・コンポーネント

  • クラスタ: GKEの基本単位、複数のノードで構成される
  • ノードプール: クラスタ内のノードグループ、同一の設定を持つノードで構成
  • ノード: クラスタ内の仮想マシン、Podを実行
  • Pod: コンテナの最小実行単位、1つ以上のコンテナを含む
  • デプロイメント: Podの管理とスケーリングを行うリソース
  • サービス: Podへの安定したネットワークアクセスを提供
  • ネームスペース: クラスタ内でリソースを分離、管理

各Data pipeline

  • Cloud Dataflow(Apache Beam): Streaming/Batch双方をカバーし同一の処理を再利用可能、テンプレート(cloud storage pub/sub->軽微な変換->BQ)もある
  • Cloud Dataproc(Apache Spark, Hadoop): 計算リソース(クラスタ)の管理や、処理の構築はユーザ
  • Cloud Composer(Apache Airflow): 複雑かつ細かいバッチ、ワークフロー制御が可能、実際の処理は呼び出した先のプログラム等にお任せ
  • Cloud Data Fusion: ロー/ノーコードでデータを繋ぐ、GUIベース、プラグインで拡張可能
  • Dataform: BQ内専用、SQLX(SQL+独自)、js利用可能、Git連携可、CI/CD対応、データ品質管理
  • Cloud Pub/Sub: メッセージングサービス、リアルタイムデータ連携

環境移行

  • 6Rs: Rehost, Replatform, Repurchase, Refactor, Retire, Retain
  • Database Migration Service: オンプレや他クラウドからGCへのDB移行支援
  • Transfer Appliance: 大容量データ(数百TB)を物理的にGCに移行するためのハードウェアデバイスをリクエスト、送り返してデータをGCSにアップロード

BigQuery

基本

  • データセット: テーブルのコンテナ、プロジェクト内に複数作成可能
  • テーブル: データセット内に作成される、行と列で構成されるデータの集合
  • スロット: BQの処理リソース、オンデマンド課金は自動で割り当てられるが、予約購入も可能
  • 組み込み関数: 日付操作、文字列操作、数学関数、集計関数など、多数の組み込み関数を提供
  • ジョブ: BQで実行される操作の単位、クエリ実行、データの読み込み、エクスポートなど

権限管理

  • IAMロール: プロジェクト、データセット、テーブル単位でのアクセス権限を設定
    • 役割例: ビューア、編集者、管理者、データ所有者など

データ、環境移行

  • BQ Data Transfer Service: 定期的に外部データソースからBQにデータを自動転送
  • BQ Migration Service: 他のデータウェアハウスからBQへのデータ移行を支援
  • CDC(Change Data Capture): データベースの変更をリアルタイムでキャプチャし、BQに反映

Cloud SQL

  • フルマネージドのリレーショナルデータベースサービス
  • サポートされるDBエンジン: MySQL、PostgreSQL、SQL Server
  • 自動バックアップ、スケーリング、パッチ適用、監視などの管理機能を提供

Cloud Spanner

  • グローバル分散型のフルマネージドリレーショナルデータベースサービス
    • CPU/ストレージ/ノードを独立してスケーリング可能
    • 水平スケーリングとマルチリージョン配置をサポート
  • 高い可用性とスケーラビリティを提供
  • 強力な一貫性とACIDトランザクションをサポート
  • Data Boost: サーバレスの追加計算リソースを一時的に利用して、クエリパフォーマンスを向上

Cloud Bigtable

  • フルマネージドのNoSQLビッグデータデータベースサービス
  • 大規模なデータセットの低レイテンシアクセスと高スループットを提供
  • HBase互換APIをサポートし、既存のHBaseアプリケーションと連携可能

Cloud Firestore

  • フルマネージドのNoSQLドキュメントデータベースサービス
  • リアルタイムデータ同期とオフラインサポートを提供
  • スケーラブルで高可用性を持ち、モバイルおよびウェブアプリケーションに最適
  • DatastoreモードとNativeモードの2つのモードを提供
    • Datastoreモード: 既存のDatastoreアプリケーションとの互換性を提供(古い)

Cloud Filestore

  • フルマネージドのNFSファイルストレージサービス
  • 高性能でスケーラブルなファイル共有を提供
  • Compute EngineやGKEなどのコンピューティングリソースと連携可能

Cloud Storage

  • ストレージクラス
    • Standard: 頻繁にアクセスするデータ向け、高い可用性と耐久性
    • Nearline: 月1回程度アクセスするデータ向け、低コスト
    • Coldline: 年1回程度アクセスするデータ向け、さらに低コスト
    • Archive: 長期保存向け、最低コスト
  • ライフサイクル管理: オブジェクトの自動移行や削除ルールを設定、コスト最適化が可能
    • 厳格なポリシー適用: オブジェクトの保存期間やアクセス頻度に基づいて、適切なストレージクラスへの自動移行や削除を設定可能
  • バケットロケーション
    • マルチリージョン: 複数のリージョンにデータを分散、最高の可用性と耐久性
    • デュアルリージョン: 2つの指定リージョンにデータを分散、特定の地理的要件に対応
    • リージョン: 単一リージョンにデータを保存、低レイテンシアクセスが可能
  • セキュリティ
    • IAMポリシー: バケットやオブジェクト単位でのアクセス制御
    • ACL: オブジェクト単位での詳細なアクセス制御
    • 監査ログ: Cloud Audit Logsと連携し、アクセス履歴を記録

サービスの新旧対応

  • Container Registry -> Artifact Registry: Artifact Registryが新しいサービスで、より多くの機能と柔軟性を提供
  • Datastore -> Firestore: Firestoreが新しいサービスで、リアルタイム同期やオフラインサポートなどの追加機能を提供
  • Deployment Manager -> Terraform on GCP: Terraformがより広範なインフラストラクチャ管理を提供
    • Deployment ManagerはGCP専用のインフラストラクチャ管理ツール
      • CEL: Configuration Expression Language、YAMLベースのテンプレートでリソースを定義
  • Stackdriver -> Cloud Operations: Cloud Operationsがより包括的な監視と管理機能を提供
  • Cloud Endpoints -> API Gateway: API Gatewayがより高度なAPI管理機能を提供

サーバレスコンピューティングサービスの比較

  • App Engine: フルマネージドのPaaS、アプリケーションのデプロイとスケーリングを自動化、標準環境とフレキシブル環境を提供
  • Cloud Run: コンテナ化されたアプリケーションのフルマネージドな実行環境、リクエストに応じて自動スケーリング
  • Cloud Functions: イベント駆動型のFaaS、コードの断片を関数としてデプロイし、特定のイベントに応じて実行

ユースケース

  • App Engine: ウェブアプリケーション、モバイルバックエンド、APIサービス
  • Cloud Run: マイクロサービス、APIゲートウェイ、バッチ処理
  • Cloud Functions: データ処理、リアルタイムファイル処理、イベント駆動型ワークフロー

世代

  • App Engine: 第1世代と第2世代があり、第2世代はより多くの言語とランタイムをサポート
  • Cloud Run: 第1世代と第2世代があり、第2世代はより高度な機能と柔軟性を提供
  • Cloud Functions: 第1世代と第2世代があり、第2世代はより多くの言語とランタイムをサポート

ログ管理

  • Cloud Logging: フルマネージドのログ管理サービス、リアルタイムでログデータの収集、保存、分析が可能
  • Cloud Audit Logs: GCPリソースの操作履歴を記録する監査ログサービス
  • Cloud Trace: 分散トレーシングサービス、アプリケーションのパフォーマンスを分析、ボトルネックを特定
  • Cloud Debugger: アプリケーションの実行中にコードの状態を調査可能、デバッグ支援
  • Cloud Profiler: アプリケーションのパフォーマンスプロファイリングサービス、リソース使用状況を最適化
  • Cloud service health: GCP全体サービスの稼働状況とパフォーマンスを監視

各サービスとのログ連携

  • Compute Engine: VMインスタンスのシステムログとアプリケーションログを収集
  • App Engine: アプリケーションログとリクエストログを収集
  • GKE: コンテナログとクラスタログを収集
  • Cloud Functions: 関数の実行ログを収集
  • Cloud Run: サービスのリクエストログとアプリケーションログを収集

エージェント

  • Ops Agent: Compute EngineやGKEノードにインストール可能な統合エージェント、ログとメトリクスの収集を一元化
  • Fluentd: オープンソースのログ収集エージェント、カスタムログ収集に利用可能

エージェントなしでのログ収集

  • App Engine、Cloud Functions、Cloud Runなどのフルマネージドサービスは、エージェントなしで自動的にログを収集
  • VPCフローログ: VPCネットワークのトラフィックログを自動的に収集

ログの主な機能

  • ログシンク: ログデータを他のGCPサービスや外部システムに転送するための設定
  • ログビューア: Cloud Consoleでログデータを検索、フィルタリング、分析するためのツール
  • ログベースのメトリクス: ログデータからカスタムメトリクスを作成し、Cloud Monitoringで監視可能

モニタリング

  • Cloud Monitoring: フルマネージドのモニタリングサービス、GCPリソースやアプリケーションのパフォーマンスと可用性を監視
  • メトリクス: システムやアプリケーションのパフォーマンスデータを収集
  • チャート: メトリクスデータを視覚化するためのグラフ
  • ダッシュボード: カスタムダッシュボードを作成し、重要なメトリクスを視覚化
  • アラートポリシー: メトリクスのしきい値に基づいてアラートを設定
  • スコーピング: プロジェクト、フォルダ、組織単位での監視が可能
    • 複数プロジェクトの監視設定:指標スコープを作成し、複数のプロジェクトを監視対象として設定することで、一元的な監視が可能

セキュリティ対応

  • Cloud IAM: リソースへのアクセス制御を管理
  • Cloud Identity: ユーザとグループの管理、シングルサインオン(SSO)を提供
  • Cloud Key Management Service(KMS): 暗号化キーの作成、管理、使用を提供
  • Cloud Security Command Center: セキュリティの可視化と管理を提供
  • VPC Service Controls: サービス間のデータ移動を制限し、データ漏洩を防止
  • Cloud Armor: DDoS攻撃やアプリケーションレベルの攻撃から保護
  • Secret Manager: 機密情報の安全な保存と管理を提供

請求管理

  • Billing Account: 請求情報を管理するためのアカウント
  • プロジェクトごとのコスト管理: プロジェクト単位でのコスト分析と予算設定が可能
  • コストアラート: 予算超過時に通知を受け取る設定が可能
  • コストレポート: 詳細なコスト分析レポートを生成
  • 割引:
    • Sustained Use Discounts: 長期間使用するリソースに自動的に適用される割引
    • Committed Use Contracts: 一定期間のリソース使用を約束することで割引を受ける契約
    • Preemptible VM Discounts: プリエンプティブVMインスタンスに対して提供される割引

その他

  • プリエンプティブ: 低コストな一時的VMインスタンス、通常のVMよりも安価だが、Googleによって予告なく停止される可能性あり
  • スポットVM: プリエンプティブVMの新名称、同様に低コストで一時的なVMインスタンス
  • エフェメラルIPアドレス: VMインスタンスのライフサイクルに依存する一時的なパブリックIPアドレス
  • 永続ディスク: VMインスタンスのストレージとして使用されるブロックストレージ、VMの停止や削除後もデータが保持される
  • ローカルSSD: VMインスタンスに直接接続される高速な一時的ストレージ、VMの停止や削除後にデータが失われる
  • カスタムマシンタイプ: ユーザがCPUとメモリを自由に組み合わせてVMインスタンスを作成可能
  • Cloud Shell: ブラウザベースのターミナル環境、gcloudコマンドラインツールがプリインストールされている
  • Cloud Marketplace: 事前構築されたソフトウェアソリューションを提供、ワンクリックでデプロイ可能
  • Cloud APIs: GCPサービスにプログラムからアクセスするためのAPI群
    • Cloud storage API: Cloud Storageリソースの管理
    • Cloud Functions API: Cloud Functionsリソースの管理
    • Cloud Pub/Sub API: Pub/Subリソースの管理
    • BigQuery API: BigQueryリソースの管理
    • Compute Engine API: Compute Engineリソースの管理
  • 年間停止可能時間:
    • 99.9%: 8.76時間/年
    • 99.999%: 5.26分/年
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?