収録問題 70問 / 10問ランダム出題
ランダムに出題・即時フィードバック・間違えた問題の復習機能付き
運用担当に特定バケットの閲覧だけを許可したい。Google Cloud IAMの基本方針はどれですか?
答え: 必要な範囲へ閲覧用ロールを付与する
必要な操作を含むロールを、必要なリソース範囲だけに付与します。広い基本ロールや匿名公開で代用しません。
プロジェクト自身のIAMから閲覧ロールを外しても、利用者が読めます。親フォルダーにも同じ利用者への許可があります。確認すべき点はどれですか?
答え: 親から継承した許可も確認する
親のallowポリシーも子に継承されます。対象リソースの直接設定だけでなく、祖先の付与を含めてアクセスを調べます。
外部CIからGoogle Cloudへ接続します。長期サービスアカウントキーを保管しない方法はどれですか?
答え: 外部ID連携で短期の認証情報を使う
Workload Identity Federationで外部IDとの信頼関係を構成して短期認証を使います。発行元・対象ワークロードの条件とIAM権限を限定します。
Google Cloud VPCとサブネットの範囲について正しい説明はどれですか?
答え: VPCはグローバルでサブネットはリージョン単位
VPCネットワークはグローバルなリソースで、サブネットはリージョンに属します。同じVPCで複数リージョンのサブネットを構成できます。
外部IPのないVMからインターネットの更新サーバーへ発信したい。Public NATの用途として適切なのはどれですか?
答え: 外向き通信とその応答の経路を提供する
Public NATは外部IPを持たない対象の外向き接続を支援します。外部からの任意の新規接続を公開するものではなく、経路やファイアウォールも確認します。
HTTP APIをコンテナで配布し、Kubernetesクラスターを自分で運用せず動かしたい。候補はどれですか?
答え: Cloud Runを使う
Cloud Runはマネージドなアプリ実行基盤です。HTTPサービスとしてデプロイし、認証・リソース上限・下流接続も設計します。
毎晩ファイルを集計して終了するコンテナ処理です。常時HTTPを待ち受ける必要がない場合のCloud Run実行形態はどれですか?
答え: Cloud Runのジョブとして実行する
ジョブは処理を実行して完了する用途です。定期起動はスケジューラー等と組み合わせ、再実行時の重複にも備えます。
画像やバックアップファイルを、バケット内のオブジェクトとして保管したい。候補はどれですか?
答え: Cloud Storageを使う
Cloud Storageはオブジェクトストレージです。保存先のロケーション、アクセス権、保持方針を用途に合わせて設定します。
既存のPostgreSQL業務アプリをマネージドDBへ移したい。基本候補はどれですか?
答え: Cloud SQL for PostgreSQL
Cloud SQLはPostgreSQLなどに対応するマネージドRDBです。接続、権限、可用性、バックアップと復旧を別途設計します。
大量の販売履歴へSQLで集計し、分析用データウェアハウスとして使いたい。候補はどれですか?
答え: BigQueryを使う
BigQueryは分析用のデータ基盤です。業務トランザクションの行更新と分析スキャンを区別し、読取り量やアクセス権も管理します。
注文受付と後続処理を非同期で分離したい。トピックへ発行しサブスクリプションで受け取るサービスはどれですか?
答え: Pub/Subで配送する
Pub/Subはメッセージの発行と購読を分離します。確認応答、再配信、失敗時の扱いと処理の冪等性も設計します。
アプリのAPIキーをソースコードから分離し、版とアクセス権を管理したい。候補はどれですか?
答え: Secret Manager
Secret Managerは秘密値を版として管理し、IAMで読取りを制限できます。アプリの必要な主体だけにアクセスを与え、ローテーションも設計します。
APIのエラー率がしきい値を超えたら当番へ通知したい。Cloud Monitoringで設計するものはどれですか?
答え: 条件と通知先を持つアラートポリシー
アラート条件と通知チャネルを設定し、通知テストや対応手順も確認します。ダッシュボードを作るだけでは担当者への通知は保証されません。
通知専用のCloud Billing予算を設定しました。金額到達時の扱いとして正しいものはどれですか?
答え: 通知であり、利用停止の保証ではない
通知専用の予算は支出状況を知らせるものです。停止や上限の強制が必要なら、対象サービスで利用可能な別の制御と運用を設計します。
CIで作ったコンテナイメージを保管し、実行基盤から取得させたい。Google Cloudの候補はどれですか?
答え: Artifact Registry
Artifact Registryはコンテナイメージやパッケージを管理します。pushするCIとpullする実行主体の権限を分け、版を特定できる配布にします。
Kubernetesを使いつつノード管理の負担を減らしたい。GKEの運用モードとして候補はどれですか?
答え: GKE Autopilotを使う
AutopilotではGoogleが基盤の多くを管理します。アプリ、権限、リソース要求、対応するワークロードの制約は利用者側でも確認します。
同じテンプレートのVM群を管理し、自動修復や台数調整を使いたい。Compute Engineの候補はどれですか?
答え: MIGでVM群を管理する
MIGはインスタンステンプレートを基にVM群を管理します。ヘルスチェックや自動スケーリングを設定し、複数ゾーン配置も要件に合わせます。
Cloud Runのインスタンス内へアップロード画像を保存しました。停止後も残すべきデータの設計はどれですか?
答え: 外部ストレージへ永続化する
インスタンスの書込み可能なローカル領域は永続保存先ではありません。失ってはいけないデータは外部へ保存し、保存成功と権限を確認します。
IAMでprincipal、ロール、リソースの関係として正しいものはどれですか?
答え: principalへリソース上のロールを付与する
principalは利用者やワークロードの主体、ロールは権限の集合、リソースは対象です。誰が何をどこでできるかを組み立てます。
開発と本番の権限・影響範囲を分けたい。Google Cloudで基本となる設計はどれですか?
答え: 環境別プロジェクトと権限を設計する
プロジェクトを分け、IAM・接続・データ・デプロイ権限を環境ごとに設計します。プロジェクトを作るだけで共有接続や上位からの許可まで自動で分離されるわけではありません。
Cloud Runの新しい版を、一部の本番リクエストで試したいと考えています。段階的な公開に適した方法はどれですか?
答え: 新旧リビジョンへの配信比率を設定する
Cloud Runはリビジョンごとに配信比率を指定できます。新しい版への割合を少なくしてエラー率や応答時間を確認し、問題がなければ増やします。切戻しに備え、旧版とデータベース変更の互換性も確認します。
Cloud SQL for PostgreSQLを単一ゾーンで運用しています。ゾーン障害時に、同一リージョン内で自動切替できる構成はどれですか?
答え: 別ゾーンに待機系を持つHA構成に変更する
リージョン内の別ゾーンに待機系を持つHA構成では、ゾーン障害に対する自動フェイルオーバーを利用できます。切替中は接続が切れることがあるため、アプリにも再接続処理が必要です。
Cloud SQL for PostgreSQLで、誤ったDELETE文を確定してしまいました。PITRは有効で、直前の時刻が復元可能範囲内です。復旧方法はどれですか?
答え: 直前の時刻へ別インスタンスとして復元し確認する
PITRは指定時点の状態を新しいインスタンスに復元します。誤削除前の時刻を選び、復元内容を確認してからデータの戻し方や接続先の切替を判断します。その時刻以降の正常な更新をどう扱うかも検討します。
Pub/Subの通常配信で注文を処理しています。DBへの登録後、確認応答を送る前に処理が停止しました。再配信による二重登録を防ぐ方法はどれですか?
答え: 注文IDの一意性をDBで保証して処理する
通常のPub/Sub配信では再配信を想定します。注文IDなどの業務上の識別子に一意制約を設け、登録と重複判定を整合した処理にします。処理成功を確認してから応答し、再配信時は処理済みかを判断します。
Cloud Storageの同じファイルを複数の処理が更新します。読取り後に他の処理が更新していたら、上書きを失敗させたいと考えています。適切な方法はどれですか?
答え: 読取り時の世代番号を更新の一致条件にする
読取り時のgenerationをifGenerationMatchに指定すると、その世代が現在も対象である場合に更新できます。別の更新が入って一致しなければ412で失敗します。最新内容を再取得して、競合の解消方法を判断します。
非公開のCloud Storageファイルを、取引先へ短時間だけ配布します。署名付きURLを使う際の注意点はどれですか?
答え: URLの所持者が使えるため有効期限を短くする
署名付きURLは、対象の操作を期限内に行う権限をURLの所持者へ与えます。転送先の本人確認や一回限りの利用を自動で保証しません。期限と操作を絞り、ログや共有先から漏れないように扱います。
BigQueryで売上を日付列ごとに分割したテーブルを使っています。先月分だけを集計するとき、読取り範囲を絞る方法はどれですか?
答え: 分割に使う日付列へ先月の範囲条件を付ける
パーティション列に対象期間の条件を付けると、不要なパーティションを読取り対象から除外できます。月初以上・翌月初未満などの範囲で指定し、実行前の見積りや実行結果で読取り量を確認します。
本番プロジェクトのIAM権限が変更されました。変更した主体と時刻を調査するとき、まず確認するログはどれですか?
答え: Cloud Audit Logsの管理アクティビティを確認する
IAM権限の変更など、リソース設定に対する管理操作は管理アクティビティ監査ログで調べます。対象リソース・操作名・認証主体・時刻を確認し、デプロイ記録や承認履歴と照合します。
外部IPもNATも使わないVMからCloud Storageへ接続したいと考えています。DNS・経路・ファイアウォールは要件を満たしています。サブネットで有効にする機能はどれですか?
答え: Private Google Accessを有効にする
Private Google Accessは、外部IPを持たないVMから対応するGoogle APIやサービスへ到達するための機能です。サブネット単位で設定します。通信できてもデータの閲覧権限が付くわけではなく、IAMの設定も必要です。
Cloud TasksからHTTP処理を呼び出しています。処理先を過負荷にしないよう、送信速度と同時実行数を抑えたいと考えています。調整する設定はどれですか?
答え: キューの送信レートと同時送信数の上限を設定する
Cloud Tasksには送信レートと同時送信数の制限があります。処理先の能力に合わせて設定し、バーストや再試行による負荷も確認します。再試行で同じ処理が呼ばれても壊れないよう、処理側の重複対策も必要です。
Cloud RunのサービスAから、IAM認証必須のサービスBを呼び出します。通信経路は確保済みです。認証と権限の組合せとして適切なのはどれですか?
答え: Aに実行権限を付け、B宛てのIDトークンを送る
Aのサービスアカウントへ、Bに対するCloud Run Invokerを付与します。BのサービスURLなど、受信側が認めるaudienceのGoogle署名付きIDトークンを送ります。IAMの権限と呼出し元の認証は両方必要です。
同じGKEクラスター内の二つのアプリが、別々のバケットを使います。長期鍵を配らず、アプリ単位で権限を分ける方法はどれですか?
答え: GKEのID連携で、各アプリの主体に必要な権限だけを付ける
Workload Identity Federation for GKEを使い、Kubernetesのサービスアカウントに対応する主体ごとにIAM権限を設計します。各アプリに必要なバケット操作だけを許可し、ノード共通の広い権限や長期鍵への依存を減らします。
外部Application Load Balancerの背後でWebアプリを公開しています。SQLインジェクションなどのHTTP攻撃を入口で検査したい場合、候補はどれですか?
答え: Cloud ArmorのWAFルールを適用する
Cloud ArmorのWAFルールで、対応するロードバランサ経由のHTTP要求を検査できます。適用先とルールを確認し、正常な要求の誤検知も評価します。アプリ側の入力処理やパラメーター化クエリも引き続き必要です。
同じ組織の複数チームで、アプリ用プロジェクトを分けています。ネットワークは中央管理し、各チームに承認済みサブネットを使わせる構成はどれですか?
答え: ホストプロジェクトのShared VPCを共同利用する
Shared VPCではホストプロジェクトでネットワークを管理し、サービスプロジェクトの対象リソースが共有サブネットを使えます。利用権限を承認済みサブネットに絞り、ネットワーク管理とアプリ管理の役割を分けます。
Cloud Loggingに先月のログが保存されています。今日、Cloud Storageへのシンクを作成しました。過去ログも保管先へ移すときの注意点はどれですか?
答え: 過去ログは別途コピーする手段を確認する
シンクは作成前に受信したログを遡って転送しません。過去分には、ログバケットからCloud Storageへコピーする方法などを別途検討します。対象期間・保存状況・出力先の権限を確認して実行します。
Cloud Storageで、作成から30日を過ぎた一時ファイルを自動削除したいと考えています。厳密な削除時刻は要求しません。適切な方法はどれですか?
答え: 経過日数を条件にライフサイクル削除を設定する
オブジェクトのライフサイクル管理では、経過日数などの条件で削除を設定できます。実行は非同期であり、条件に達した瞬間の削除は保証しません。保持ポリシーやホールド、ソフトデリートの設定も確認します。
Cloud Runへ秘密値を環境変数として渡しています。同じリビジョンの各インスタンスで、同じ版を使わせたいと考えています。適切な指定はどれですか?
答え: 秘密値の参照を特定のバージョン番号に固定する
環境変数として渡す秘密値はインスタンスの起動時に解決されます。番号で版を固定すれば、起動時刻が異なっても同じ版を参照できます。更新は新しい版を指定したリビジョンで検証し、段階的に切り替えます。
BigQueryのオンデマンド料金を利用しています。あるクエリの推定処理量が上限を超えたら、実行前に拒否したいと考えています。使う設定はどれですか?
答え: クエリの課金対象バイト数に上限を設定する
maximum bytes billedはクエリ単位の課金対象バイト数の上限です。実行前の見積りが上限を超えれば、クエリは料金を発生させず失敗します。月全体の費用上限ではないため、利用状況の監視も別に行います。
中断しても再開できる夜間バッチを、Spot VMで動かします。途中の計算結果を失いにくくする設計はどれですか?
答え: 途中結果を外部へ定期保存し再開位置を記録する
Spot VMはCompute Engineに回収される可能性があります。チェックポイントを外部の永続保存先へ定期的に書き、再実行で続きから進めるようにします。終了通知だけに依存せず、再開時の重複処理も考慮します。
Firestoreのトランザクション関数内で、外部のメール送信APIを呼んでいます。競合時に同じ通知が複数届きました。見直すべき設計はどれですか?
答え: 通知予定をDBへ記録し別処理で重複を防いで送る
Firestoreのトランザクション関数は、競合により複数回実行される場合があります。外部送信はDBのロールバック対象ではありません。通知予定をトランザクション内で記録し、別処理で識別子や送信先APIの冪等性機能を使って重複を制御します。
Cloud KMSの対称暗号鍵をローテーションしました。以前にアプリがその鍵で暗号化したデータについて、正しい説明はどれですか?
答え: 既存の暗号文は自動で再暗号化されない
鍵のローテーションは新しい鍵バージョンを作りますが、既存データを自動で再暗号化しません。古い版で暗号化したデータには、その版が必要です。旧版を破棄する前に、バックアップを含めて依存を調べます。
Cloud Storageの機密データを保護しています。IAMに加え、対応するGoogle Cloudサービスの境界を越えるデータ移動も制御したい場合、候補はどれですか?
答え: VPC Service Controlsで境界を設定する
VPC Service Controlsは対応サービスに境界を設け、境界を越えるアクセスやデータ移動を制御します。IAMを置き換えるものではありません。対象サービス、許可する出入り、例外経路を確認して運用します。
リソースの作成場所を制限する組織ポリシーを設定しました。許可範囲外にある既存リソースの扱いとして、正しいものはどれですか?
答え: 既存リソースの移行は別途調査して対応する
作成場所の制約は、対応リソースの作成を制限するものです。既存違反の発見や移行を自動では行いません。対象サービスの対応範囲を調べ、既存配置の棚卸しと移行計画を別に進めます。
Cloud Runの台数増加後、Cloud SQLの接続数が上限に達しました。各インスタンスが接続プールを持っています。見直すべき設計はどれですか?
答え: 台数とプール上限から総接続数を見積もって調整する
インスタンスごとのプールが小さくても、台数が増えると総接続数は増えます。他のアプリや運用用の接続余力も確保し、プール上限とスケール設定を調整します。接続待ち時間や再試行間隔も設計します。
Cloud Runのアプリは起動時の初期化に時間がかかります。初期化中の再起動を避け、起動後の回復不能な停止は検知したい場合、適切な設定はどれですか?
答え: 起動プローブで初期化を待ち、生存プローブで停止を検知する
起動プローブが成功するまでは、生存確認などのチェックが開始されません。初期化完了を起動プローブで表し、回復不能な停止を生存プローブで検知します。DBの一時障害などをすべて再起動条件にすると再起動が連鎖するため、判定を分けます。
Pub/Subで処理に失敗し続けるメッセージを別トピックへ退避します。デッドレタートピックの最大配信試行回数について、正しい説明はどれですか?
答え: 試行回数は目安であり、転送権限の設定も必要になる
最大配信試行回数は厳密な保証ではなく、転送はベストエフォートです。Pub/Subのサービスエージェントに必要な発行・購読権限を設定し、退避先の購読や監視、原因修正後の再処理も用意します。
外部IPのないCompute Engine VMへ、運用担当者がSSH接続したいと考えています。IAPを使う構成として適切なのはどれですか?
答え: IAPトンネルと必要な権限・通信許可を設定する
IAPのTCP転送を使うと、VMに外部IPを付けずにSSH接続できます。トンネル利用権限、IAPからSSHポートへの通信許可、OS LoginなどのVMログイン権限を確認します。トンネルの認証とOSへの認証は別です。
Cloud CDNの背後で、利用者ごとに内容が変わるマイページを配信しています。別の利用者へ内容が渡らないようにする設計はどれですか?
答え: 個人ページを共有キャッシュから除外する設定にする
利用者固有の応答は共有キャッシュの対象から外します。オリジンのprivateやno-storeを尊重するモードを使うか、対象経路でCDNを使わない構成にします。FORCE_CACHE_ALLはオリジンの指示を上書きするため、ヘッダーだけで防げると考えないようにします。
BigQueryの顧客テーブルから、個人情報を除いた集計結果だけを他部署へ公開します。元テーブルの読取り権限を渡さない方法はどれですか?
答え: 必要な集計だけを返す承認済みビューを共有する
承認済みビューを使うと、利用者に元データへの直接アクセス権を与えずにビューの結果を共有できます。公開する集計のSQLと、ビューを変更できる主体を管理します。集計結果から個人を推測できないかも確認します。
Cloud Schedulerで、毎日同じUTC時刻に集計を開始したいと考えています。夏時間による時刻の重複や欠落を避ける設定はどれですか?
答え: タイムゾーンをUTCにして実行時刻を指定する
Cloud Schedulerの時刻指定は設定したタイムゾーンに従います。夏時間のないUTCを使えば、夏時間の切替による重複・欠落を避けられます。ただし配送や処理の遅延、再試行による重複までなくなるわけではありません。
Dataflowで、端末の操作件数を発生時刻ごとの5分間で集計します。通信遅延で到着順が前後する場合、適切な設計はどれですか?
答え: イベント時刻で区切り、遅延データの扱いを決める
発生時刻を基準とする集計にはイベント時刻のウィンドウを使います。ウォーターマークは到着状況の見積りであり、遅いデータが来ない保証ではありません。許容する遅延と結果を出す条件を定め、結果の更新方法も設計します。
複数リージョンにまたがる業務DBを検討しています。SQLと強い整合性を持つトランザクションが必要です。水平拡張も考慮すると、候補はどれですか?
答え: Spannerで分散データベースを構成する
Spannerは水平拡張と強いトランザクション整合性を備える分散DBで、複数リージョン構成を選べます。構成による遅延や費用、スキーマとクエリの設計を評価します。既存DBから無変更で移行できるという意味ではありません。
Cloud Buildで外部からのプルリクエストも検証します。本番用の秘密値はデプロイ時だけ必要です。適切な権限設計はどれですか?
答え: 検証用と本番用の実行主体を分け、秘密値を本番用に限る
ビルドは実行サービスアカウントの権限を使います。未信頼の変更を実行する検証と、本番デプロイの主体・起動条件を分けます。秘密値への権限は必要な段階に限定し、本番用の設定を未信頼の変更で差し替えられないようにします。
Artifact Registryの古いイメージを自動削除したいと考えています。本番の切戻しに使う版は残す必要があります。導入時の進め方はどれですか?
答え: 削除条件と保持条件を作り、ドライランの対象を確認する
削除ポリシーに加え、切戻し対象を残す保持ポリシーを設計します。両方に一致する成果物は保持されます。まずドライランで対象を確認し、本番で必要な版を消さないことを確かめてから有効化します。
VPCにexample.comのCloud DNSプライベートゾーンを関連付けました。wwwのレコードは公開ゾーンにだけあります。VPC内の標準DNSでwww.example.comを引くとどうなりますか?
答え: 一致する非公開ゾーンに記録がなく、NXDOMAINを返す
VPCに関連付いた一致するプライベートゾーンが使われると、そこに記録がない名前はNXDOMAINになります。公開ゾーンへの自動フォールバックはありません。内部でも必要なレコードを設計し、ゾーンを広く定義しすぎて既存名を隠さないようにします。
Cloud SQL for PostgreSQLの主系リージョンで障害が発生しました。非同期複製の別リージョンの読取りレプリカを昇格します。復旧計画で考慮すべき点はどれですか?
答え: 未複製の更新を失う可能性と接続先の切替を確認する
非同期複製では、主系で確定した直近の更新がレプリカに届いていない場合があります。複製遅延と許容できるデータ損失を評価し、昇格後の接続先を切り替えます。旧主系の復帰時にも書込み先を一つに保つ手順が必要です。
Cloud StorageでIAMとオブジェクトACLが混在しています。権限管理をIAMへ統一したい場合、適切な進め方はどれですか?
答え: ACL依存を確認してIAMへ移し、均一なバケットレベルのアクセスを有効にする
均一なバケットレベルのアクセスを有効にするとACLが無効になり、IAMでアクセスを管理します。ACLだけで許可されていた利用者は使えなくなるため、必要な権限を事前に移します。ACL操作を行うアプリの修正も確認します。
Firestoreへ大量のイベント文書を書き込みます。連番の文書IDによる書込み集中を避けるため、IDの設計として適切なのはどれですか?
答え: 自動生成IDなどを使って文書IDを分散させる
連続した文書IDへの高頻度の書込みは、狭い範囲への負荷集中を招きます。自動生成IDなどで文書IDを分散させます。ただし時刻列のインデックスや単一文書の競合など、別の集中要因は残るため、ID変更だけで性能を保証しません。
Cloud MonitoringでSLOのエラーバジェットを監視しています。バーンレートが1を超えた状態が続く場合、正しい解釈はどれですか?
答え: 許容されるペースより速くエラーバジェットを消費している
バーンレートはエラーバジェットの消費速度を正規化した値です。1を超えるエラー率が評価期間全体に続けばSLOを満たせません。短期間の上昇だけで期間全体の違反が確定するわけではなく、観測窓としきい値を合わせて通知を設計します。
複数のCloud Run APIを順番に呼び、結果に応じて分岐させます。途中状態と再試行も管理したい場合、処理全体を組み立てる候補はどれですか?
答え: Workflowsで呼出しと分岐の手順を定義する
Workflowsはサービス呼出し、条件分岐、待機、再試行などを組み立てるための基盤です。各APIへの権限と再試行条件を設定します。複数APIの処理を一つのDBトランザクションにする機能ではないため、重複防止や取消処理も設計します。
Cloud Runで同時リクエスト数を増やしたところ、別の利用者の処理結果が混ざりました。要求ごとの作業データをグローバル変数に置いています。見直すべき設計はどれですか?
答え: 要求ごとのデータを分離し、並行処理の安全性を確認する
一つのインスタンスで複数の要求が並行すると、共有の可変データを上書きし合う可能性があります。要求固有の状態を分離し、共有する資源には適切な同期を設計します。同時実行数を1にする方法は応急対策の候補ですが、コードの状態管理も見直します。
手元のPCから、プライベートIPだけのCloud SQLへ接続したいと考えています。Cloud SQL Auth Proxyを起動しても接続できません。まず確認する点はどれですか?
答え: プロキシの実行場所からDBへの通信経路があるか
Cloud SQL Auth Proxyは安全な接続を支援しますが、新しいネットワーク経路を作るものではありません。プライベートIPへ到達できる接続環境が必要です。経路に加え、APIの有効化、IAM権限、DB認証も確認します。
不安定な回線で、大きなファイルをCloud Storageへ送ります。中断しても先頭から送り直さずに再開したい場合、適切な方法はどれですか?
答え: 再開可能なアップロードで、保存済み範囲を確認して続ける
再開可能なアップロードはセッションを使って転送を継続します。中断後はサーバーが受け取った範囲を確認し、続きから送ります。セッションURIはアップロード権限を持つ情報なので、ログや共有先へ漏らさないように扱います。
Pub/Subで注文ごとの更新を配信します。同じ注文の発行は一つのリージョンにそろえています。注文単位で順序付き配信を使う設定はどれですか?
答え: 注文IDを順序キーにし、購読の順序付き配信を有効にする
関連するメッセージへ同じ順序キーを設定し、サブスクリプションで順序付き配信を有効にします。保証の基準はサービスが受け取った順序であり、業務上の発生順を推測して並べ直す機能ではありません。再配信への重複対策も必要です。
GKE上のアプリにPodDisruptionBudgetを設定しました。突然のノード故障でも、指定した最小Pod数が必ず維持されるかを問われています。正しい説明はどれですか?
答え: 計画的な退避を制限するもので、突然の故障は防げない
PDBは主にEviction APIを使う計画的な中断を制限します。ハードウェア故障などの非自発的な中断を防ぐものではありません。複製数、配置分散、再配置先の余力も設計します。GKEの更新では方式や待機時間による扱いも確認します。
Google CloudのAPI呼び出しが権限不足で失敗しました。むやみに権限を追加せず、IAMによる判定を調べたい場合、適切な進め方はどれですか?
答え: 実際の呼び出し主体、対象、権限を特定して判定を調べる
Policy Troubleshooterでは、主体、対象リソース、権限を基にIAMの判定を調べます。想定したアカウントと実際の呼び出し主体が同じかも確認します。IAM以外の制御による拒否は別途調査が必要です。
BigQueryのテーブルを地域、顧客IDの順でクラスタ化しています。実際には顧客IDだけで絞る検索が大半です。読み取り量を減らすための見直しとして適切なのはどれですか?
答え: 顧客IDを先頭にする構成を、実際の検索で評価する
クラスタ化した列の順序は、絞り込み時に読み飛ばせるブロックに影響します。先頭の列から条件を指定する検索に適した配置になるため、主な検索条件に合わせて順序を評価します。結果の並び順を指定するORDER BYとは別の仕組みです。
Cloud BillingのエクスポートをBigQueryで集計します。一行に複数のcreditsがあり、UNNEST後にcostを合計すると費用が重複しました。適切な集計方法はどれですか?
答え: 元の行ごとにcreditsを合算し、costを一度だけ足す
creditsを行へ展開すると、元のcostが各行に繰り返されます。元の行を保ったままcredits.amountを合計し、空の場合は0としてcostと足します。別の明細に同じcostがあっても、別々の費用なので残す必要があります。
Compute Engine上のDBが複数ディスクへ書き込み中です。復元時にDBの整合性も確保したバックアップにしたい場合、適切な方針はどれですか?
答え: DBの書き込みを整合した状態にし、全対象を協調して保存する
ディスクのスナップショットだけで、アプリケーションの整合性が自動的に保証されるわけではありません。DBが対応するバックアップ手順に従い、書き込みの静止やフラッシュを調整します。複数ディスクの扱いと復元手順も検証します。
Cloud TraceでAPIの処理を調べると、呼び出し先サービスが別のトレースになっています。一連の要求として追跡するため、まず確認する点はどれですか?
答え: 呼び出し先へトレースの文脈を伝え、子スパンを作っているか
トレースIDや親スパンの情報を、呼び出し先へ引き継ぐ必要があります。HTTPではtraceparentなどを使い、計装ライブラリの送信側と受信側の設定を確認します。Cloud Traceへ個別に送るだけでは、親子関係が自動的に補われるわけではありません。