0
Help us understand the problem. What are the problem?

posted at

updated at

Organization

GCP: Cloud Transfer Service

Cloud Data Transfer

について書きます。

Professional Data Engineerのガイドの割と最初のほうに

1.4 データ ウェアハウジングとデータ処理を移行する。以下のような点を考察します。
・現状認識と将来の設計への移行方法
・オンプレミスからクラウドへの移行(Data Transfer Service、Transfer Appliance、Cloud Networking) 

とありますが、違いがよくわかりませんよね。
データ転送の話になるとネットワークのことも考える必要があり、そのサービスも簡単に把握しておきたいです。

https://cloud.google.com/products/cloud-migration
に一連の転送オプションがまとまっています。

  • Storage Transfer Service: Free
  • Storage Transfer Service: For On-Premises: $0.04/GB
  • Transfer Appliance
  • BigQuery Data Transfer Service
  • gsutil

があるようです。
ネットワークとしては

  • VPC ピアリング
  • Cloud Interconnect: Dedicated Interconnectなど

比較

データ転送サービス

サービス ユースケース
Storage Transfer Service 100TBを1Gbpsで10日
クラウド間で転送する場合
Storage Transfer Service For On Premises 数PB
十分な帯域幅があるとき
gsutil 1TB未満のデータ
-mオプションによるマルチスレッド化
parallel composite upload
Transfer Appliance 帯域幅が限られている場合
物理的な転送ができる場合
時間に余裕(20日)がある場合
BigQuery Data Transfer Service scheduled
managed
SaaS

ネットワーク

サービス ユースケース アンチパターン
ダイレクトピアリング パブリックIPが許容できる場合
Cloud Interconnect 物理的に接続する
10~200Gbps
費用を減らしたいとき

セキュリティ

at rest と in transit で基本的に暗号化されますが、最初アクセスするときなどは注意です。

Product Data at rest Data in transit
Transfer Appliance All data is encrypted at rest. Data is protected with keys managed by the customer.
gsutil Access keys required to access Cloud Storage, which is encrypted at rest. Data is sent over HTTPS and encrypted in transit.
Storage Transfer Service for on-premises data Access keys required to access Cloud Storage, which is encrypted at rest. The agent process can access local files as OS permissions allow. Data is sent over HTTPS and encrypted in transit.
Storage Transfer Service Access keys required for non-Google Cloud resources (for example, Amazon S3). Access keys are required to access Cloud Storage, which is encrypted at rest. Data is sent over HTTPS and encrypted in transit.

Storage Transfer Service

概要

  • 別のクラウドやオンプレからGCSに
  • あるバケツから別のバケツに
  • GCSからローカルに
  • 一時/定期実行
  • データの削除
  • チェックサム確認できる、S3からとか
  • VPC内のバケツにも移行可能
  • HTTPs

Filter

  • includePrefix
  • excludePrefix: 優先

通知

  • transferJobs APIを使って、Pub/Subで通知させることができる、試験にも出た
  • eventType, projectId, transferJobName

on-premises

  • ~100TBクラスも対応
  • 10Gbpsレベルの帯域

[帯域確保の方法] (https://cloud.google.com/storage-transfer/docs/obtaining-bandwidth-on-prem)
ここテストに出ます

  • ピアリング: Googleとインターコネクトする
  • Cloud Interconnect
    • Dedicated: 専用の接続, 10Gbps~200Gbpsまで可能
    • Partner: サービスパートナーを使った接続, GoogleのSLAはGoogleとサービスパートナーとの間の部分に適用, 50Gbpsまで
  • ISPから帯域を得る: Google外の方法

Logging

jsonPayload: {
  @type: "type.googleapis.com/google.storagetransfer.logging.TransferActivityLog"
  action: "FIND"
  completeTime: "2021-12-16T18:58:49.344509695Z"
  destinationContainer: {
    gcsBucket: {
      bucket: "my-bucket-2"
    }
    type: "GCS"
  }
  operation: "transferOperations/transferJobs-7876027868280507149--3019866490856027148"
  sourceContainer: {
    gcsBucket: {
      bucket: "my-bucket-1"
    }
    type: "GCS"
  }
  status: {
    statusCode: "OK"
  }
}

Prices

  • Strage Transfer Service 自体は無料
  • Agentは有料
  • GCSを使うときにかかる

gsutil

  • HTTPs
  • 別クラウドの時: Storage Transfer Service
  • <1TB on-pre: gsutil
  • 1TB on-pre: Transfer Service for on-premises data

BigQuery Data Transfer Service

Introduction

BigQueryに外部からデータを取り込むために使う。現時点では、BigQueryから取り出すためには使えない。

  • Campaign Manager
  • Cloud Storage
  • Google Ad Manager
  • Google Ads
  • Google Play
  • Search Ads 360
  • YouTube Channel reports
  • YouTube Content Owner reports
  • Google Drive
  • S3
  • Teradata
  • Redshift

などから移行できる。

how to guides

  • GCSから移行するときは、リージョンを合わせる。
  • Bigtable を外部テーブルとしてクエリできる、ロケーションを同じにする
  • Pub/SubとEmailで通知を設定できる。
  • GCSとデータセットコピー以外ではバックフィルできる。代わりにこの2つではリフレッシュできる。

S3

  • データタイプ
    • CSV
    • JSON
    • Avro
    • Parquet
    • ORC
  • 圧縮形式
    • Avro、Parquetはデータブロックの圧縮はサポートしても、ファイルの圧縮はサポートしない
    • GZip (CSVとJSONはこれのみ)
    • Snappy
    • LZO
    • Zlib
    • LZ4
  • URIにワイルドカードが使える
  • テーブルパーティション (ingestion time) とカラムパーティション (timestamp or date) が使える
  • スケジュール実行できる

GCS

  • S3と同じ
  • スケジュール実行の最小間隔は15分

Redshift

  • Redshift -> S3 -> BigQueryの順にデータを移動する
  • 費用の点からS3のライフサイクルポリシーの利用を推奨
  • migration queueを使って、リソースを分離することも検討
  • ロードのクオータがジョブあたりテーブルあたり15TBまでなので、Redshiftのデータサイズに注意
  • VPC内のRedshiftとVPC内のBigQueryでも移行できる

Teradata

  • BigQueryにデータセットを用意する
  • GCSにバケットを用意する
  • Automatic schema detection / custom schema file

Transfer Appliance

https://cloud.google.com/transfer-appliance/docs/4.0/overview
https://cloud.google.com/blog/ja/products/storage-data-transfer/transfer-appliances-for-simple-secure-performant-data-movement

ネットワークが弱いなどの理由でオンライン転送ができないとき、物理的なパッケージを使ってデータ転送します。
AWS Snowball みたいなものです。

with Transfer Appliance, you can receive the appliance and capture 300 terabytes of data in under 25 days. Your data can be accessed in Cloud Storage within another 25 days

とのことなので、ほかの方法で50日以上かかる場合はTransfer Applianceのほうがいいかもしれません。

40TB or 300TBの筐体がある模様

概要

地域

USA, EU, UK, Singaporeで利用可能

スピード

TAなら1筐体300TBのデータだと25日x往復で転送できるらしい。
STSだと1Gbpsあれば100TB=>10日なので、30日で転送できる。
このため帯域による。

Price

  • 7TB: $300
  • 40TB: $300
  • 300TB: $1,800
  • 運送費用が別途かかる
  • 移送が遅延すると追加料金、10, 30, 90$ / day

終わり

目についたのはこのくらいです。
実際には、ドキュメントにアプライアンスを使う際のネットワークやコンフィグなど説明がありますが、どこまで出るでしょうか。

現場からは以上です

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?