Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@reohul

HULFTとGoogle Cloud Storage(GCS)を連携させてみた。

はじめに

セゾン情報システムズ Advent Calendar 2020
20日目を担当させていただきます。よろしくお願いいたします!

本記事では、HULFTGoogle Cloud Storage(以下GCS)を連携させ、他のサーバとGCS間でファイルの送受をする方法を紹介いたします。
連携には先日、「HULFT8 Ver.8.5.0 クラウドストレージオプション」がリリースされ、GCSとのアップロード/ダウンロードができるようになったのでこちらを使用します。
※追記
 V8.5.1を使用した記事も紹介しています

HULFTとGCSの基本的な知識は既に持っているという方向けの記事となりますのでご了承ください。

準備

HULFT クラウドストレージオプションのインストール

HULFTをクラウドストレージオプション含有のプロダクトキーでインストール(通常のHULFTインストール)後、
クラウドストレージオプションのsetupをたたき、HULFTのパスを指定します。
0ins.png
これでインストール完了です。

Google Cloud Storage上でバケットを用意する

GCSへのアップロード、GCSからのダウンロード、どちらをやるにしても
GCS上にバケットが存在している必要があるので、バケットを作成します。

<バケット「reohul-test」を作成>
1bkt.png

Google Cloud Storageにアクセスするための認証情報を作成する

Google Cloud Platformのコンソールの[APIとサービス]-[認証情報]から、サービスアカウントキーの認証情報を
json形式で作成します。

2json0.png
2json1.png
作成したjsonファイルはHULFT導入サーバの任意のパスに配置しましょう。
今回はHULFTインストールディレクトリ直下に置きましたが、どこでも問題ありません。
2json2.png

HULFTの環境変数を設定する

通常のHULFT起動時には"HULPATH"と"HULEXEP"を設定しますが、クラウドストレージOPを
使用する場合、クラウドストレージにアクセスするためのキーが必要になります。
今回はGCSですので、先ほど配置したjsonファイルを環境変数"GOOGLE_APPLICATION_CREDENTIALS"に指定します。

<設定例>

HULPATH=/home/hulft/hulft/850G/etc
HULEXEP=/home/hulft/hulft/850G/bin
PATH=\$HULEXEP:$PATH
GOOGLE_APPLICATION_CREDENTIALS=/home/hulft/hulft/850G/hogehoge.json
HTTPS_PROXY=http://[プロキシサーバ]

実際に連携をやってみる(アップロード編)

HULFTを起動し、集信管理情報を設定する。

HULFTを起動し、集信管理情報を設定します。
通常のHULFTでは集信ファイル名にはローカルのパスを指定しますが、クラウドストレージへの集信の場合、
ファイル名は「gs://バケット名/フォルダ名/ファイル」の形式で指定します。
3skanri.png
クラウドストレージ用の集信管理情報には下記制限があるので注意しましょう。

  • 登録モード(TRANSMODE)― 「新規作成(N)」または「置き換え(R)」を指定してください。
  • 異常時の処置(ABNORMAL)― 「復元(R)」を指定してください。
  • 集信形態(RCVTYPE)― 「単一集信(S)」を指定してください。
  • 世代管理(GENCTL)― 「しない(N)」を指定してください。

作成した管理情報で実際に転送してみる

作成した集信管理情報に対応する配信側HULFTからファイルを転送してみます。
転送したらまずは集信履歴を確認してみましょう。
4srireki.png
完了コードは「0000-0000」ですので、正常に終了したようです。
GCS側にファイルが届いているかも確認してみましょう。
5gcfile.png

集信管理情報で指定した「バケット/フォルダ/ファイル」のパスに無事ファイルができました。
バケット作成時に「test」フォルダはありませんでしたが、ない場合は勝手に作ってくれます。

ちなみに、GCSへはオンメモリ中継なので、集信側のHULFTにテンポラリファイル等は
作成されないので、途中で転送が失敗などしてもHULFTサーバにファイルが残ることは
ありません。

それでは今度はGCSからファイルを送る場合をやってみましょう。

実際に連携をやってみる(ダウンロード編)

配信管理情報を設定する

ダウンロードの場合は、GCSからHULFTにファイルをダウンロードしてきて、それを
HULFTで配信するという形ですので、配信管理情報を設定します。
アップロードのときと同様、クラウドストレージから配信する場合、
ファイル名は「gs://バケット名/フォルダ名/ファイル」の形式で指定します。
6hkanri.png
クラウドストレージ用の配信管理情報には下記制限があるので注意しましょう。

  • 配信ファイルの扱い(CLEAR) ― 「K(保存)」を指定してください。

今回は、ちょうど先ほどアップロードの検証でGCSにファイルを作ったので、
それを今度はダウンロードしてみます。

実際に転送してみる

作成した配信管理情報でファイルを転送してみます。
転送したらまずは集信履歴を確認してみましょう。
7srireki.png
完了コードは「0000-0000」で、正常に終了しました。

ダウンロードの場合も同様にオンメモリ中継なので、配信側HULFTにテンポラリファイル等は
作成されず、HULFTサーバにファイルが残ったりはしません。

以上、「HULFT8 Ver.8.5.0 クラウドストレージオプション」を使用した連携について
設定イメージなどの参考にしていただければと思います。

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
reohul
普段はHULFTのサポートをしています。 ※掲載内容は個人の見解であり、所属する企業を代表するものではありません。 ※各製品のサポート窓口等にお問い合わせいただいても、お答えすることができませんので、あらかじめご了承ください。
saison_information_systems
モード1(守りのIT)・モード2(攻めのIT)を兼ね備えたバイモーダル・インテグレーターとしてデータ連携プラットフォームのHULFTシリーズ, リンケージサービス, 流通ITサービス, フィナンシャルITサービスを提供します。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?