1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HULFTクラウドストレージオプションでGoogle Cloud Storageにファイル転送してみた

Last updated at Posted at 2019-12-13

#はじめに
こんにちは。よろず相談担当 すぎもん:yum:です。

前回、HULFTのクラウドストレージオプションを使用してAzure Blob Storageへのファイル転送をやってみたのですが・・
↓前回記事
AzureのBLOBストレージにファイル転送してみた
AzureのBLOBストレージへのファイル転送で、HULFTの動的指定を使ってみた。

そういえばこのクラウドストレージオプションって、マルチクラウド(AWS S3, Azure Blob Storage, Google Cloud Storage)に対応しているんじゃない・・・。じゃあ~Azure以外もやってみよう。。ということがきっかけ?で、他のクラウドストレージへのファイル転送も簡単にできるのか実際に試してみました。

#今回やること
今回は、Google Cloud Platformをターゲットとして、HULFTから実際にCloud Storageにファイル転送をしてみます!
また、前回Azureでやってみて気になった転送失敗時の出力がどうなるのかやってみます!

#システム構成
image.png

#環境準備(Google Cloud Platform側の設定)

Cloud Storageにファイル転送するには、Google Cloud Platform側での設定が必要です。
<必要になる設定>
・サービスアカウントの作成
・バケットの作成
・バケット権限の付与

それぞれについて、設定をしていきましょう。
####①サービスアカウントの作成
1. Google Cloud Platformコンソールから[サインイン]します。
2. [IAMと管理]から、[サービスアカウント]を選択します。
3. [サービスアカウントを作成]からサービスアカウントを作成します。
image.png

私は、キーのタイプをJSONにして出力させました。作成したJSONファイルは、後に環境変数で使用します。

####②バケットの作成
1. ナビゲーションメニューから[Storage] - [ブラウザ]を選択します。
2. [バケットを作成]から、バケット名を入力します。
image.png

ダイアログ通りに進めていくことで、簡単に作成ができます。今回は、「sugimongss-bucket」というバケット名にしました。

####③バケット権限の付与
1. 対象のバケットを選択し、[バケットの権限を編集]を選択します。
2. [メンバーを追加]フィールドからバケットにアクセスが必要なID[サービスアカウント名]を入力します。
3. [役割を選択]から、付与する権限を選択し[追加]します。
image.png

私は、作成したバケット(sugimongss-bucket)から該当の権限があるものを付与して実施しましたが、
IAM管理から必要な権限(下記)があればそれを付与してもらうことも可能です。
必要になる権限は、以下の通りとなりますので参考にしてください。
image.png

ここまでで、Google Cloud Platform側の設定は完了です。

#環境準備(HULFTのインストール)

ここからはHULFTのインストールをしますが、インストール方法については、前回のAzure Blob記事と同様になります。
そのため、下記記事を参考にインストールしてください。
AzureのBLOBストレージにファイル転送してみた

#環境準備(クラウドストレージオプションのインストール)

続いて、HULFTにクラウドストレージオプションをインストールします。
インストーラ(setup.exe)を実行し、セットアップウィザードに従ってインストールします。
※オプションを付けたいHULFTがデフォルトの値と違う場合は、対象のパスを指定して実行してください。
image.png

「Installation completed successfully.」というメッセージが出れば、インストールOKです。
image.png

■システム環境変数の編集
Cloud Storageへのアップロード機能を利用するには、システム環境変数の設定が必要です。
※環境変数は、[スタート]-[設定]で検索してシステム環境変数設定画面を開いてます。
image.png
以下のシステム環境変数を事前に設定します。
  ・GOOGLE_APPLICATION_CREDENTIALS<Googleアプリケーション認証情報>
  ※Googleアプリケーション認証情報は、出力したJSONファイルのパスを指定します。(フルパス)
 (例). C:\key\test.json
image.png
image.png

■OSの再起動
システム環境変数を新規で作成したので、OSを再起動します。

#HULFTの設定(ファイル転送するために)

事前準備
  ・通信時に名前解決できるように、OSのHOSTSファイルに今回使用するホスト名を追記。
  (例) IPアドレス  HULFT-LOOP

  ・配信するファイルを準備。(今回は、C:\hulft\snd\gcstest.txt)
image.png

■配信側HULFT(HULFT-LOOP)の設定
image.png

HULFT管理画面の[システム管理]-[詳細ホスト情報]から設定します。
image.png

image.png
HULFT管理画面の[システム管理]-[転送グループ情報]から設定します。
image.png

image.png
HULFT管理画面の[システム管理]-[配信管理情報]から設定します。
image.png

以上で、配信側の設定は完了です!

■集信側HULFT(HULFT-LOOP)の設定
引き続き、集信側HULFTの設定をします。
※集信側HULFTと言っても今回、HULFT1台のループバック転送で試していますのでホスト名:HULFT-LOOPに対して情報登録を実施します。
[詳細ホスト情報]は、配信側の設定で設定済みのため[集信管理情報]を設定します。

image.png
HULFT管理画面の[システム管理] - [集信管理情報]から設定します
image.png

集信ファイル名を「gs://オブジェクト名」の形式にしているのが注意点です!
また、現仕様では、異常時の処置は「復元」、集信形態は「単一集信」、世代管理は「しない」のみ選択可能です。
登録モードは、「新規作成」「置き換え」のみ選択可能です。

これで準備が整いました。
他のクラウドにデータ転送する場合も集信管理情報のファイルパス記載を[gs://]変更するだけでしたね。。HULFT側では特に意識せずとも設定ができますね。

#Cloud Storageにファイル転送してみる
では、実際にファイル転送してみます!
HULFT管理画面の[システム管理]-[配信管理情報]から、登録したファイルID(GCS01)を右クリックして、[配信要求]を選択します。
image.png
配信要求ダイアログが表示されるので、[配信要求]ボタンを押下します。
image.png

設定に問題がなければ、配信要求が正常に終了した旨のダイアログが表示され、終了します。
image.png

配信側の履歴を確認してみましょう。
「完了コード」が「000000(00000)」になっていればHULFTの配信は正常終了です
image.png

集信側の履歴を確認
「完了コード」は「000000(00000)」になっていればHULFTの集信は正常終了です。
image.png

集信側も問題なさそうですね。

Cloud Storage内のファイルを確認
gcstest.txtがアップロードされていることが確認できました。
image.png

#転送エラー時の挙動は・・・

転送エラーを起こした場合、履歴はどのように出力されるのでしょう・・・。
試すに辺り、「HULFT側の設定に問題がある場合」と「Cloud Storage側の設定に問題がある場合」の2つを試してみました。

###①集信管理情報のパラメータを不正にしてみる(HULFT側の設定に問題がある場合)
集信管理情報の**異常時の処理を[削除]**にして配信してみましょう。

集信側の履歴にエラーがでましたね。。
image.png

####☆ちょっと解説・・・☆
105561(00002)とコードが出力されました。
・完了コード[105561]は、下3桁をみて561となります。
 561は、「HULFT側で使用できない機能が指定されている」ことを表すようですね。
・詳細コード[(00002)]は、「クラウドストレージへのファイル転送時に、集信管理情報の「異常時の処置」に
「削除」および「保存」を指定することはできません。」という意味となります。
 無効なパラメータを指定していることが分かりますね。。

###②存在しないバケットを指定してみる。(Cloud Storage側の設定に問題がある場合)
集信管理情報のファイルパスで、存在しないバケットを指定してみましょう。(※試しに、hogehoge-bucketにしてみました。。)

こちらも集信側の履歴にエラーがでましたね。。
image.png

####☆ちょっと解説・・・☆
・完了コード[149560]は、下3桁をみて560となります。
 560は、「クラウドストレージ側のエラー」を表すようですね。
・詳細コード[(03102)]は、GoogleのCloud Storage側のエラーコードになります。(※3000番台)
 クラウドストレージ側に問題ある場合は、そのようにエラーコードで区別するようになっているようですね。
image.png

このように、出力されるコードを見ることで、エラー原因の特定に役立ちそうですね!!
エラーコードはWebマニュアルにまとまっているようなので参考にしてみてください。

#最後に
今回は、HULFTのクラウドストレージオプションを使って、GoogleのCloud Storageへ転送をしてみましたが、
いかがでしたでしょうか。転送エラー時も履歴情報から、原因の特定が容易に特定ができそうですね。

このブログでは、今後も技術の「よろず相談窓口」で相談を受けた内容や、誕生したワザをご紹介していけたらな、
と思っています。

これからも是非チェックいただき、宜しければフォローをお願いします。

それでは、また!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?