LoginSignup
6
2

More than 5 years have passed since last update.

LocalからIBM Cloud IaaS(SoftLayer)への巨大ファイル送信

Last updated at Posted at 2018-03-29

はじめに

IBM Cloud IaaS(以後SoftLayer)に限らず、クラウド環境への巨大ファイル送信は面倒ですよね。
Public Network経由で送信可能な踏み台サーバーを作るのも予算的に厳しいし、VPN経由でPrivate Newtorkで転送すると速度が出ない上にVPN Clientが落ちてファイル転送が異常終了してしまうことも。
そんな時の対応策として、IBM Cloud Object Storage(以後ICOS)を介したファイル送信方法をご紹介します。
Local-ICOS間はPublic Networkで接続できるし、ICOS-SoftLayerも内部接続(だと思われるため)高速にファイルのやり取りができます。

概要

大まかに以下の手順で進めて行きます。
1.ICOSの作成
2.ICOSへのファイル送信
3.SoftLayer環境からICOS上のファイル入手

手順

1.ICOSの作成
IBM Cloudのカタログから、オブジェクト・ストレージを選択します。
image.png

任意のサービス名とプランを選択します。
image.png

サービス資格情報→新規資格情報を選択します。
アクセス役割をManagerにした上で、インラインの構成パラメーターの追加に{"HMAC":true}と入力して追加を選択します。
image.png

資格情報の表示を選択して、access_key_idとsecret_access_keyを確認します。
image.png

2.ICOSへのファイル送信
と、この後はS3 APIを介してICOSにファイルを転送する方法を書く予定だったのですが。。。
なんとICOSのファイル送受信にAsperaが使えるようになったのですね。
検証してみたところ、こちらの方法のほうがはるかに速くファイルを送れるうえに、S3 APIのPUTの5GB制限が無いため、Asperaでのファイル送信をお勧めします。

8GB程度のファイルを送信中の様子。
image.png

以下の記事がとても分かりやすいので、そちらを参考にファイルを転送してください。
IBM Cloud Object Storage(ICOS)へのファイルアップロードをAsperaで高速化!

3.SoftLayer環境からICOS上のファイル入手
ICOS→SoftLayerのファイルのやり取りまでAsperaでできるとこの記事の意味が無くなってしまうのですが、ICOSからのAsperaでのDownloadは有料のようで、S3 CLI経由でICOSのファイルを入手する方法をご紹介します。

まずSoftLayer環境にAWS CLIを導入します。
AWS CLI のインストールと設定

続けて、~/.aws/credentialsを以下の中身で作成します。
XXX...には資格情報の表示で確認したaccess_key_idを、aws_secret_access_keyにはsecret_access_keyを入力してください。

[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYY

続けて、バケットが見れることを確認します。以下のコマンドで確認できます。
aws --endpoint-url=https://<endpoint_url> s3 ls

<endpoint_url>はEndpointから確認できます。
今回はSoftLayer環境から外部接続が無い想定で、プライベートの方を使います。
image.png

雑なバケット名ですが、、、表示されますね。

# aws --endpoint-url=https://s3.us-south.objectstorage.service.networklayer.com s3 ls
2018-03-28 22:29:09 testdsadasdsa

続けてバケットの中身を確認します。以下のコマンドで確認できます。
aws --endpoint-url=https://<endpoint_url> s3 ls s3://<backet_name>/

# aws --endpoint-url=https://s3.us-south.objectstorage.service.networklayer.com s3 ls s3://testdsadasdsa/
2018-03-28 22:38:57 8770697111 xxxxxxx.zip

最後にファイルをICOSから入手します。以下のコマンドで実行できます。結構速度が出てますね。
aws --endpoint-url=https://<endpoint_url> s3 cp s3://<backet_name>/

# aws --endpoint-url=https://s3.us-south.objectstorage.service.networklayer.com s3 cp s3://testdsadasdsa/xxxxxxx.zip /work
Completed 1.4 GiB/8.2 GiB (54.4 MiB/s) with 1 file(s) remaining
6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2