views4GCPのストレージサービスについてまとめてみた。Exp:190284普段はGCP専門のエンジニアをやっています。最近は個人的な活動としてGOとswiftでアプリ作ってます。G+TweetShareHatena注意この記事は2014年9月4日に更新されたもので、内容が古い可能性がありますのでご注意ください。実行結果の確認まとめはじめにクラウドという言葉が当たり前になってきている現在、ファイルサーバは自前で持つ時代から、サービスとして利用する時代へと変わってきていると思います。Sewrvice(以下S3)等のストレージサービスに乗り換えた企業も少なくはないのではないでしょうか。今後は価格やパフォーマンスの競争によって、クラウドからクラウドへの移行も増えてくると思われます。いうわけで、今回のapps-gcpでは「ストレージの移行」について取り上げます。S3からGCSへのストレージ間データ移行です。GoogleはS3からGCSへのファイル移行のために標準的な仕組みを提供しています。本記事では、gsutilを利用して簡単にS3からGCSへファイル移行をおこなうための手順について説明します。移行手順それでは、実際にS3からGCSへファイルを移行してみましょう。本章では、S3上にファイルをアップロードし、それらのファイルをGCS上に移行するまでの手順について説明します。Consoleにログインします。ログインしたら、ヘッダメニューの[Services]から[S3]を選択します。※AWSアカウントを持っていることを前提に説明します。Bucket]を押下し、S3バケットの作成をおこないます。S3バケットの作成(3)[Upload]ボタンを押下し、245MBの動画ファイルを30個(計7.3GB)をアップロードします。今回はこれらのファイル群をGCS上に移行してみます。S3バケットへのファイルのアップロードAWSのCredentailsの取得S3からGCSへファイル移行をおこなうためには、移行元のAWSのCredentialsが必要となります。以下の手順からCredentialsを取得します。Credentials]を選択します。Key]ボタンを押下します。Key)が生成されるので、ダウンロードボタンを押下してキー情報を保存します。次にgsutilの設定ファイルにS3のCredentials情報を設定します。設定手順は以下の通りです。※本記事では、gsutilがセットアップされていることを前提とします。SDKをインストールすることで利用可能です。インストールする場合は、以下のリンクを参考にSDKのインストールをおこなってください。設定ファイルを生成するためには以下のコマンドを実行します。OAuth用のURLが生成されるので移行先のGCPプロジェクトのOwnerアカウントで認証をおこなってください。認証に成功すると、設定ファイルが生成されます。config(2)設定ファイルの編集ファイル編集コマンドを実行し、「aws_access_key_id」と「aws_secret_access_key」が記載された行のコメントアウトをはずし、さきほどAWSコンソールで取得したCredentials情報を入力します。入力が完了したら設定ファイルを保存します。key>gsutilコマンドの実行それでは、実際に移行コマンドを実行してみます。S3にアップロードしたファイル群をGCS上に移行してみましょう。S3の指定バケット上にある全てのファイルをGCS上に移行する場合は以下のコマンドを実行します。S3バケットのURIは「s3://バケット名」のフォーマットで指定します。※実行時間を計測するため、timeコマンドを利用します。gs://yoshidumi-apps-gcp※オプションの説明は以下の通りです。ファイルをマルチプロセスによって並列実行で移行することができます。ファイルが大量にある場合に指定すると効果的なオプションとなります。サブディレクトリも含めた全てのファイルを移行することができます。指定しない場合は、バケット直下のファイルのみ移行されます。本記事ではS3のバケット直下にファイルをアップロードしているので、本オプションが無しでも問題なく実行できますが、サブディレクトリ上のファイルも含め全ファイルを移行したい場合は本オプションが必須となります。実行結果の確認コマンド実行後の結果を確認してみましょう。(1)計測時間の確認245MB×30ファイル(計7.3GB)の移行時間は以下の通りの結果が出ました。Consoleにログインし、ストレージを確認してみます。ファイルがGCS上にコピーされたことが確認できます。Consoleまとめ以上がgsutilを利用したS3からGCSへのファイル移行手順となります。gsutilによって、非常に簡易にストレージ間のデータ移行ができることがわかったのではないでしょうか。利用した方法があります。サービスアカウントを利用した移行も行うことができます。利用した高度なデータ移行を取り上げようと思います。