GCP

Google Cloud Certified Professional Cloud DevOps Engineerを取得してきました

Google Cloud Certified Professional Cloud DevOps Engineerを取得してきました。 試験情報 試験内容 ここは勉強しておいた方が良い これでGCP 6冠 試験情報 試験時間 2時間 問題数 50問 言語 英語 模擬試験も、申し込みも英語は英語用のリンクからの方が辿…

BigQueryのQuotasやクエリ課金を別々に制御するためAPIリクエスト用のプロジェクトを分けてみる

はじめに やりたいこと 準備 リクエスト用プロジェクトの割り当て変更 Tableauの場合 課金 参考 はじめに BigQueryの利用をコントロールする方法を調べています。BigQueryのAPIについてQuotas(割り当て)を制御することで、ある程度の制御できます。もう少し…

google-cloud-bigqueryのlist_jobsがUnknownJobを返してきてハマってしまった

小さいハマりなのですが、具体的にはGCP BigQueryのPythonクライアントライブラリである、google-cloud-bigqueryのlist_jobsが手元とDataflowのサーバ側で挙動が違う状態に遭遇しました。 デバッグログを見ながらエラーのポイントは判明しました。list_jobs…

BigQueryの課金情報が含まれるクエリ履歴をテーブルにロードしてSQLで分析できるようにする

クエリの履歴情報等を取得したい時はBigQueryのジョブ履歴から情報拾えます。課金されるバイト数などもあり、後からレポートしたいデータも入っています。 bqコマンドなら bq ls -j -a で一覧して bq --format=prettyjson show -j <jobid> すればJSON形式で取得でき</jobid>…

GCPの割り当て(クオータ・Quotas)をAPIから変更する情報見つけたのでやってみる

BigQueryの割り当て(クオータ・Quotas)をAPIから変更する方法を探していましたが、GCP公式ドキュメント見てもコンソールでの作業ばかりしか記載が見つかりません。 cloud.google.com GCPの公式ドキュメントはほとんどの項目でgcloud等で設定するパターンが書…

Cloud SpannerからAvro経由でBigQueryにデータのExport Import

SpannerのデータをBigQueryに取り込む方法です。基本は以下の2つの内容を組み合わせます。 cloud.google.com cloud.google.com 簡単に図にするとこんな感じです。 Dataflowジョブの登録 bqコマンドでAvroをロード Dataflowジョブの登録 今回利用するのはGoo…

Google Cloud SpannerにTableauからJDBC接続する手順

参考URLにも記載した、こちらの記事の方法で接続可能です。 JDBCダウンロード Spanner接続用のアカウント作成 TDCファイル作成(Tableau Datasource Customizatio) Tableau再起動 Spannerをデータソースとして接続 参考URL JDBCダウンロード SpannerにJDBC経…

GCP Cloud ComposerからSendGrid経由でメール通知を行う

Cloud Composerからのメール送信はSendGridを使うのが簡単です。 以下の通り、Googleからも簡単な手順も用意されていますが、画面付きで手順書いてみます。 https://cloud.google.com/composer/docs/how-to/managing/creating?hl=ja#notification SendGrid登…

Python+Cloud DataflowのPubSubストリーミングをGoogle Colaboratory使って試す

Google ColabでGCP使うには GCPの認証 PyPiモジュールのインストール PubSub側準備 左のブラウザ(Publish側) 右のブラウザ(BeamでSubscribe側) Cloud Dataflowで実行 後片付け PubSub削除 Cloud Dataflowのジョブ停止 最後に やりたいことのGIF動画です。…

Cloud Composerが作成できなくなった

ある日、TerraformでCloud Composerのテスト環境構築したら以下のエラーでCloud Composerが立ち上がらなくなりました。 Error: Error waiting to create Environment: Error waiting for Creating Environment: Error code 7, message: Custom service accou…

Cloud Dataflowでシンプルな同期処理のヒント実装

最初はシンプルな差分同期方法の実装を書こうと思ったのですが、どうしても固有要件が入ってしまうので同期処理のヒント実装を書くことにしました。 手元で試せるように、Beam以外の部分はダミー関数としています。データソース取ってくるところと、データ書…

Cloud Dataflowのトラブルシューティングで調べること備忘録

年始早々、Dataflowのエラーでかなりハマりました。 エラー自体は些細なことだったのですが、全然原因わからずに1日中悩んでしましました。 備忘も兼ねて、対応メモ書いておきます。 エラーの事象と対応 事象 開発中のジョブで、データ量的に数分で終わる、…

Pythonで書くDataflowテンプレートでサードパーティ製JDBCドライバを使う

この記事の続きです。 yomon.hatenablog.com 以下にもある通り、今書いている時点ではApache BeamのPython SDKはビルトインでJDBC対応していません。 beam.apache.org PythonでJDBCドライバ使いたかったのはDataflowのPython SDK使ってもJDBC接続使いたかっ…

Cloud DataflowのテンプレートにPythonの外部パッケージを利用する

Cloud Dataflow + Python で作るテンプレートを登録する際に、pipでインストール可能なPyPiなどの外部パッケージをどうやって組み込むか調べました。 requirements.txtでpypi等の外部パッケージ使う方法 設定例 テンプレート作成 setup.pyでローカルパッケー…

Cloud ComposerからDataflowTemplateOperatorでwordcountジョブを実行する

Cloud Composer(Airflow)からDataflowTemplateOperatorの使い方がわからなかったので調べました。 Dataflowテンプレート登録 コード作成 コンパイル+アップロード Cloud ComposerのDAG作成 DAG定義スクリプト作成 AirflowのVariables設定 DAGファイルのイン…

PandasのデータをpyarrowでParquet変換してGCS(Google Cloud Storage)にアップロード

タイトルの通りです。PandasのDataframeをpyarrowでParquetに変換して、そのままGCSにアップロードしています。 スクリプト こんな形で実行可能です。ファイルを経由しないでBufferから、そのままアップロードしています。 import pandas as pd import pyarr…

Azure Table StorageのデータをCloud Dataflowを使ってBigQueryに挿入する

Azure Table StorageのデータをCloud Dataflow (Apache Beam)から扱ってみたのでメモ。 対象のAzure Table Storage 対象としたTable Storageの中身です。mytable という名前にしました。このデータをDataflowを使ってBigQueryに挿入してみます。 準備 デー…

VPC Service Controlsで データポータルにもIP制限可能か調べてみた

VPC Service Controlsを利用してBigQuery APIへの接続にIP制限かけてみたのですが、BigQueryのフロントとして利用しているGoogle Data PortalもIP制限かけて利用したいと思いやってみました。 結論 VPC Service ControlsでBigQueryのAPIにIP制限かけたら、デ…

CLI でGoogle Cloud Functions + Serverless Framework開発環境を構築

Google Cloud FunctionsをServerless Frameworkでデプロイできる環境を作りたい場合、以下の公式ドキュメントに手法が載っています。 Serverless - Google Cloud Functions Documentation ただ、特に権限周りでGUIでの操作が面倒なので、CLI操作に変換して書…

GCP Cloud IAP経由のSSH接続にグローバルIP制限を組み込む

Cloud IAP(Identity-Aware Proxy)を使うと所謂Bastion(踏み台)インスタンスを構築せずとも、GCPに安全に接続できる構成が作れます。そこにGlobal IP制限も加えられるか設定してみました。 cloud.google.com 前提 [組織作業] グローバルIP制限用のアクセスレ…

GCEにSSHできなくなったのでログオンの仕組みを少し調べてみた

GCP

発端から。先日、Windowsをアップデートしてwsl2を使い始めているのですが、いつも通りgcloudでsshログオンしようとしたら下記のエラーが発生しましたので、ついでにログオンの仕組みを少し調べてみました。 # gcloud compute ssh my-instance root@XX.XX.XX…

GCP Cloud ComposerでBigQueryのテーブルを操作するワークフローを作る手順

GCP Cloud Composerの動きを一通り確認するために以下のAirflow向けのを参考にワークフロー作成しました。内容をシンプルにするためいくらか修正しています。 cloud.google.com やること Cloud Composer作成 BigQueryデータセット・テーブル作成 AirflowのDA…

GCP Professional Cloud Network Engineer 認定試験合格してきた

一昨日思い立って、スケジュールにらめっこしたところ、昨日しか空いてないので、会社の近くのテストセンターで取得してきまいた。 まだ日本語提供されてない英語試験です。GCPの英語試験の注意点はこちらで書いた内容と同じです。 yomon.hatenablog.com 試…

GCPとAzureをSite-to-SiteでVPN接続してみた(CLI作業)

GCPからAzureにサイト間VPNを接続した手順です。 以下にあるように、2019/10/18時点では、GCPとAzureのBGP接続はサポートされていないようなので、ルートベースのVPNを設定手順です。 VPN interoperability guides | Cloud VPN | Google Cloud 全体像 このフ…

GCP Professional Cloud Security Engineer 認定試験合格してきた

Google Cloud Certified Professional Cloud Security Engineerを取得してきました。 試験準備 まだ日本語提供がされていない試験なので、英語での受験となります。 言語が違うだけなのですが、手続き関係で試験と関係無いところで詰まりどころがいくつかあ…

【Google Cloud・GCP】Professional Cloud Developer 認定資格取得してきました

GCPのProfessional Cloud Developer取得してきました。 勉強内容 模擬試験 AWSとの比較 キャンペーンの利用 出題傾向 日本語 プレゼント 所感 GCP試験関連 勉強内容 事前知識として、このあたりがあったからで、今回は本当に準備少なくいけました。 yomon.ha…

GCP Professional Data Engineerに合格してきたので勉強方法等書く

先日こちらの記事でProfessional Cloud Architect取ってきたばかりですが、今度は「Google Cloud Certified - Professional Data Engineer 」と「Professional Cloud Developer」 も取ってきました。 yomon.hatenablog.com yomon.hatenablog.com こちらの記…

GCP Professional Cloud Architect認定にAWSの知識を元に最小限の労力で合格

GCPの認定資格を合格してきましたので書きます。 今回は合格が目的だったので万人にはオススメしない内容です。 ※これらも取ってきました yomon.hatenablog.com yomon.hatenablog.com 基本情報 受験者(私)の情報 試験ページ 勉強方法 模試受けて感触を掴む…

SAP Netweaver AS ABAP Developer Edition をDocker on GCEで動かす

このリポジトリを知ったので、動かしてみました。インフラはGCPの無料クレジット余っていたのでGCEを使いました。 github.com SAP側インストールメディア取得手続き GCE仮想マシン立ち上げ OS環境準備(Dockerインストール) Systemd版openSUSEビルド リポジト…