投稿

2月, 2022の投稿を表示しています

データアクセスを監視する

大企業の分析基盤では、データアクセスを監視したいという要望があります。 というわけで、アラートを通知する為に、プロジェクトに属するデータリソースのデータアクセスのログを抽出するクエリを紹介します。 Cloud Loggingのクエリで抽出する データリソース: BigQuery、GCS、Cloud Spanner、Cloud SQL Googleアカウント: ユーザー logName = "projects/{project_id}/logs/cloudaudit.googleapis.com%data_access" resource.type = ("bigquery_resource" OR "gcs_bucket" OR "spanner_instance" OR "cloudsql_database") protoPayload.authenticationInfo.principalEmail !~ ("gserviceaccount.com") ユーザーという判定はサービスアカウント以外というフィルタで表現しています。 指定の時間帯(営業時間外など)だけログを抽出したい。もしくはアラートを発生させたいという要望はあるかと思いますが、ブラウザ(Google Cloud Console)のCloud Loggingのフィルタで現在時刻が取得できないことや、Cloud Monitoringで指標に対する時間のフィルタリングができないので、ブラウザからは実現できません。 ただし、gcloudコマンドやCloud LoggingのClient Libraryを使い、プログラムで現在時刻を取得してコマンドやメソッドに渡すことをすれば、実現できると思います。

MAU(月別のUU) と DAU(日別のUU) を集計する

データエンジニアをしていると突発的にMAUやDAUを集計する業務が発生します。 今回はその時に使う作業メモです。 MAU SELECT FORMAT_DATE('%Y-%m', created_at) AS month, COUNT(DISTINCT(user_id)) AS uu FROM dataset.table WHERE created_at >= DATETIME('2022-01-01') AND created_at クエリ結果 month uu 2022-01 33 2022-02 44 2022-03 55 DAU SELECT DATE(created_at) AS date, COUNT(DISTINCT(user_id)) AS uu FROM dataset.table WHERE created_at >= DATETIME('2022-01-01') AND created_at クエリ結果 date uu 2022-01-01 3 2022-01-02 4 2022-01-03 5

Google Cloud 認定資格の合格ポイント

別投稿で Google Cloud 認定資格と試験の解説 を書いたので、 今回は合格のポイントを書きます。 ちなみに私は試験回数は7回で5回合格してます。 Professional Cloud Architect (不合格 → 不合格 → 合格) Professional Cloud Developer (合格) Professional Data Engineer (合格 → 合格 → 合格) 試験勉強のポイント 模擬試験の解答解説を完全に理解する 各試験には模擬試験が用意されています。 模擬試験も本試験と同様に4択で、解答の解説は4択すべてにあります。 本試験では模擬試験で不正解だった択目が、別問題として正解になっているケースがあるので、模擬試験の4択は正解の択目だけでなく、不正解の解説も読み理解しておきましょう。 また、本試験には模擬試験と似た問題が2〜3問出題されるので、模擬試験は必ずやりましょう。 各プロダクトの概要にあるキーワードを覚える Google Cloud プロダクト の各プロダクトの概要から、キーワードと他のプロダクトと組み合わせた構成例を覚えましょう。 例えば Cloud Spanner なら、「グローバルに分散」「水平スケーラビリティ」「トランザクション」「SQLライク」というようなキーワードを覚えておきます。 そうすれば試験問題がDBの選定だった場合、問題文に拾ったキーワードが含まれていれば、問題の内容がわからなくても、Cloud Spannerを選択すれば正解できます。 お金を使って学ぶ 時間とお金に余裕があるなら、GCP認定トレーニングパートナーである2社のトレーニングを受けるというのも良いでしょう。 クラウドエース トレノケート トレーニングパートナー企業の社員は、GCP認定トレーナーという資格が取得できるので、GCP認定トレーナーによるトレーニングが受けられます(ただ、Qwiklabsを使った学習だと思うので、UdemyやCourseraと同じかなと) 書籍で学ぶならAssociateだけですが公式ガイドがあります。 Google Cloud認定資格Associate Cloud Engineer公式ガイド 下記のGoogle Cloud パ...

search-all-iam-policiesでIAMを検索する

多くのプロジェクトに関わったエンジニアが退職の意向を示した時、管理者の脳裏に浮かぶのは「どうにかして引き留めよう」ではなく、「個人のIAMで動いてる部分ないだろうか?」ですよね。 「個人のIAMでバッチ処理が実行されていて、いつの間にか止まってた」 なんて事態は避けたいところです。 Google Cloud Consoleで組織の全プロジェクトのIAMを調べるのも良いですが、新たな退職者が増えるだけです。 gcloudコマンドで組織内の全プロジェクトに追加されている特定のアカウントのIAMを調べる gcloud asset search-all-iam-policies を使います。 scopeはIAMを検索する検索範囲で、組織・フォルダ・プロジェクトを指定する。最大の範囲は組織です。 --scope organizations/ORGANIZATION_NUMBER --scope floders/FOLDER_NUMBER --scope projects/PROJECT_ID or PROJECT_NUMBER search-all-iam-policiesで取得できるプロジェクト情報はPROJECT_NUMBERでピンとこないので、 projects list で取得したプロジェクト情報と結合して、把握しやすいPROJECT_IDに変換します。 下記は指定の組織内で指定のユーザーアカウントにIAMを追加しているPROJECT_IDを取得するシェルスクリプトです。 #!/bin/zsh target_user=xxx@gcp.biz organization_id=012345 pjs=$(gcloud projects list --format json | jq -r '.[] | [ .projectId, .projectNumber ] | @csv') declare -A pj_arr for pj in $pjs; do pj=$(echo $pj | sed -e 's/\"//g') pid=$(echo $pj | cut -d , -f 1) pno=$(echo $pj | cut -d , -f 2) pj_arr[$pno]=$...

Google Cloud 認定資格と試験の解説

Google Cloudには 認定資格 があります。 認定資格のメリット 主にはこのようなメリットがあります。 就活や名刺・署名でアピールできる 合格すると認定グッズが貰える 認定コミュニティに参加できる イベントでラウンジが使えたり、グッズが貰える ※その他、企業がGoogle Partnerに認定される為とPartnerのランクアップの基準として、従業員が何個プロフェッショナルの認定資格を保有数しているかというのがあるので、所属企業に対してもメリットがあります。 参考: Google Cloud 認定資格のメリット 試験の申込み https://support.google.com/cloud-certification/answer/9908350?hl=ja&ref_topic=9750300 Webassessorというサービスのアカウントを作成して、各試験をオンサイト(テストセンター)もしくはオンラインで申し込む事で試験が受けられます。 オンラインでは自分以外はいないスペースを用意する必要があり、試験前にオペレーターと英語で簡単な受け答えが必要です。 認定資格は2種類あり、プロフェッショナルとそれ以外です。 認定資格 Cloud Digital Leader Associate Cloud Engineer 試験の種類 プロフェッショナル認定資格 Cloud Architect Cloud Developer Data Engineer Cloud DevOps Engineer Cloud Security Engineer Cloud Network Engineer Collaboration Engineer Machine Learning Engineer 試験の料金 決済はクレジットカードで、料金はプロフェッショナルが$200で他は$100。 資格の期限は合格から2年です。 更新の場合は期限前に試験を促すメールに、割引のクーポンが付いてきます。 試験の形式 試験は4択問題が50問あり、2時間以内に回答します。 試験終了を押すとすぐにテスト結果が表示され、2週間以内に改めて結果確定のメールが送信されてきます。 監視の映像を見て不正がないかチェックした後に合格という...