皆様、こんにちは!
アイレット株式会社 DX開発事業部の楊林と申します。
前回の投稿では、Google Cloud でよく使われるストレージサービスの選び方について整理しました。
今回は、Google Cloud でストレージに関連するさまざまなサポートサービスについてまとめて紹介していきます。
Cloud Dataflow
Cloud Dataflow は、主にデータの変換や拡充処理を担うフルマネージドサービスで、ストリーミングデータとバッチデータを同一のモデルで、同等の信頼性と可観測性をもって処理できます。
インフラのセットアップや保守は不要で、Google Cloud のインフラを基盤として自動的にスケールします。そのため、データパイプラインの需要に応じて、毎秒数百万イベント規模まで柔軟にスケールさせることが可能です。
Dataflow は、SQL および Apache Beam SDK(Java / Python)によるパイプライン開発をサポートしています。Apache Beam SDK には、豊富なウィンドウ処理やセッション分析機能が用意されており、さまざまなソース・シンクに対応するコネクタエコシステムも提供されています。
また、Cloud Monitoring(旧 Stackdriver)などの Google Cloud サービスと緊密に統合されており、アラートや通知を設定することで、パイプラインの状態や入出力データの品質を継続的にモニタリングできます。
Dataprep
Dataprep は、かつて分析・レポート・機械学習向けに、構造化データや半構造化データを視覚的に探索・クレンジング・前処理できるフルマネージドのデータ準備サービスでした。
サーバーレスでスケールし、UI 操作に応じて最適なデータ変換を提案する仕組みを備えており、コードを書かずにデータ準備を行える点が特徴でした。スキーマやデータ型、結合候補、異常値の自動検出により、データプロファイリングの負担を軽減できました。
Dataprep は Trifacta Wrangler をベースとした統合パートナーサービスとして提供されていましたが、現在は提供が終了しています。
現在は、BigQuery を中心としたデータ準備には BigQuery Data Preparation(Data Wrangler) などの代替機能を利用する形になります。
Dataproc
Dataproc は、Apache Spark や Hadoop クラスタの実行を簡素化する、高速で使いやすいフルマネージドサービスです。
使用したリソースに対してのみ秒単位で課金されるため、必要なときだけクラスタを起動する運用が可能です。プリエンプティブル VM を利用することで、さらにコストを抑えることもできます。
クラスタの起動・スケーリング・シャットダウンはいずれも高速で、各操作は平均 90 秒以内に完了します。これにより、待機時間を減らし、実際のデータ処理に集中できます。
Dataproc には BigQuery、Cloud Storage、Bigtable、Logging、Monitoring などとの統合が組み込まれており、単なる Spark / Hadoop 実行基盤ではなく、Google Cloud 上のデータプラットフォームとして利用できます。
また、Spark、Hadoop、Pig、Hive などの既存スキルをそのまま活かせるため、新しい API やツールを学習せずに、既存ワークロードを移行できる点も大きな利点です。
データ転送サービス
大量のデータを Google Cloud のストレージサービスへ転送するために、Google Cloud では複数のデータ転送サービスが提供されています。
Cloud Storage Transfer Service
比較的少量のデータ転送や、スケジュール指定による定期転送には Storage Transfer Service が適しています。
このサービスを利用すると、以下のようなソースから Cloud Storage へデータを転送またはバックアップできます。
- Amazon S3などのクラウドストレージプロバイダやオンプレミスストレージ
- HTTP/HTTPSロケーション
- Cloud Storageバケット間でのデータ転送
1 回限りの転送だけでなく、定期的な転送ジョブのスケジュールも可能です。転送元に存在しないオブジェクトを転送先から削除したり、転送完了後にソース側のオブジェクトを削除したりといった制御も行えます。
ファイル作成日時やファイル名、インポート時刻を条件とした高度なフィルタリングにも対応しています。
Storage Transfer Service for on-premises data
オンプレミスのデータセンターから大量のデータを転送する場合には、Storage Transfer Service for on-premises data を使用します。
このサービスには、データ検証、暗号化、再試行、フォールトトレランスが組み込まれています。Docker コンテナとして提供されるエージェントをオンプレミスの Linux サーバーにインストールし、Google Cloud への接続を構成します。
転送は複数エージェントによって並列化されるため、数十億ファイルや数百 TB 規模までスケール可能です。Cloud コンソールから転送ジョブの作成、管理、ログ確認、モニタリングを行えます。
利用には POSIX 準拠のデータソース、300Mbps 以上のネットワーク接続、Docker 対応の Linux サーバーが必要です。送信接続のためにポート 80 と 443 を開放しておきます。
Tranfer Appliance
Transfer Appliance は、Google が提供するラックマウント型の大容量ストレージアプライアンスを用いて、物理的にデータを搬送するサービスです。
アプライアンスは不正開封防止仕様で提供され、データは書き込み時点で AES-256 により暗号化されます。転送完了後は、NIST-800-88 標準に従ってアプライアンス内のデータが消去されるため、高いセキュリティが確保されます。
一般的な流れとしては、アプライアンスをリクエストして受領し、データを書き込んだ後に Google へ返送します。Google 側で Cloud Storage に取り込まれ、データ利用可能の通知を受け取ります。復号は利用者側で行います。
BigQuery Data Transfer Service
BigQuery Data Transfer Service は、SaaS アプリケーションから BigQuery へのデータ転送を、スケジュールに基づいて自動化するマネージドサービスです。
Google 広告、Campaign Manager、Google Ad Manager、YouTube などの Google サービスをはじめ、Teradata、Amazon Redshift、Amazon S3 などをソースとしたデータ転送にも対応しています。
最後に
今回は、Google Cloud におけるストレージ関連のさまざまなサポートサービスについて紹介しました。
次回は、Google Cloud におけるプロンプトエンジニアリングについてまとめていく予定です。
続けて読んでいただけると嬉しいです!
以前の投稿
【Google Cloud入門】クラウドサービスの特徴とGoogle Cloudの触り方
【Google Cloud入門】リソースマネージメント
【Google Cloud入門】アクセス管理の基本 - IAM
【Google Cloud入門】サービスアカウントとCloud Identity
【Google Cloud入門】Compute Engineの基礎
【Google Cloud入門】コンピューティングオプションとマネージドインスタンスグループ
【Google Cloud入門】GKE入門の前準備-コンテナの基礎
【Google Cloud入門】GKE入門の前準備-Kubernetesの基礎
【Google Cloud入門】GKE入門の前準備-Kubernetesの構成
【Google Cloud入門】Googleのコンテナ仮想環境ーGoogle Kubernetes Engine
【Google Cloud入門】GCEとGKE以外のコンピューティングサービス
【Google Cloud入門】Google Cloudネットワークの基礎
【Google Cloud入門】Google Cloudネットワークへの接続とVPCの共有
【Google Cloud入門】Google Cloudネットワークの負荷分散
【Google Cloud入門】オブジェクトストレージサービスーCloud Storage
【Google Cloud入門】Google Cloudの構造化データストレージサービス
【Google Cloud入門】Google Cloudのストレージサービスの選び方