HULFTのS3アップロード機能を試してみた (環境構築編)

HULFT

しばたです。

今回セゾン情報システムズ様とご縁がありファイル連携・データ連携ソフトであるHULFTで現在開発中のS3アップロード機能を試す機会がありましたので紹介します。

本記事の「環境構築編」とHULFTの設定からS3アップロードまでを試す「実践編」の2回に分けてお届けする予定です。

クラウド直結型HULFT(仮称)

クラウド直結型HULFT(仮称)はセゾン情報システムズ様で現在開発中のもので、これまでオンプレミス間でのデータ交換を前提としたHULFTにAmazon S3などのクラウドストレージへ直接データを送受信するための機能を追加したものになります。

製品コンセプト

製品コンセプトとして、

  • HULFTが運用されているオンプレミス環境とクラウド上のデータレイク(オブジェクトストレージ)を安全に正しく繋げることでデータ連携の幅を広げる
  • クラウドを利用する際の敷居を下げる

が掲げられており、このクラウド直結型HULFT(仮称)を使用することで、例えばMainframeやAS400といったレガシー環境にあるデータを、今までのHULFTの使用感そのままにクラウド上のデータレイクへ置くことができクラウドサービスから様々な用途で活用できる様になります。

(図はセゾン情報システムズ様提供資料より)

機能概要

現時点ではデータの配信(送信)においてクラウドストレージを配信先にできる機能のみ提供されています。

(図はセゾン情報システムズ様提供資料より)

単純にデータをS3に送るだけならAWS CLIなどのSDKを使ってもできますが、クラウド直結型HULFT(仮称)では、

  • HULFTの機能に統合されているためHUFLTユーザーにとって学習コストが低い
  • HULFTの持つ後続ジョブ連携、異常時ジョブ連携機能といったバッチ連携機能
  • HULFTの持つ同報配信機能によりAWSだけでないマルチクラウド対応のデータコピーが可能
    (オンプレ→クラウド および クラウド→クラウド でのデータコピーに対応)

といった点がメリットとして挙げられています。

検証環境

本記事を試す検証環境ですが、オンプレ環境として私の普段使いのPC(64bit版 Windows 10 1803)を使い、そこからS3にサンプルのテキストファイルをアップロードするものとします。

S3アップロード機能を試してみる

ここからが本題です。
まずはデータをアップロードするためS3の設定を行い、続けてHULFTのインストールと設定を行う流れで紹介します。

1. AWS側の設定

S3アップロード機能を試すにあたり、あらかじめS3のバケットを作成しておく必要があります。
加えてHULFTがS3を利用するためのIAMユーザーおよびポリシーの設定が必要です。

1-1. S3バケットの作成

S3バケットに特別な設定は必要ありません。
適当な名前で作成してください。今回はtakuya-shibata-hulftという名前にしました。
一応マネジメントコンソールのキャプチャ画像をつけておきますが、名前以外は基本デフォルトのままです。

1-2. IAMユーザーおよびポリシーの設定

S3アップロード機能を利用するにあたりアクセスキーIDとシークレットアクセスキーが必要になります。
このためHULFT用のIAMユーザーを作り、S3にアクセスするためのポリシーを作成します。

最初にIAMポリシーを作成します。
S3アップロード機能を使うには

  • PutObject
  • PutEncryptionConfiguration

を許可する必要があります。
今回はHULFTS3PutPolicyという名前のポリシーを作成し、全バケット、全オブジェクトをアクションの許可対象としました。

JSONだと以下。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::*/*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:PutEncryptionConfiguration",
            "Resource": "arn:aws:s3:::*"
        }
    ]
}

続けてIAMユーザーを作ります。
今回はhulft-s3-userという名前のユーザーで作ります。

必要なのはアクセスキーIDとシークレットアクセスキーですのでアクセスの種類を「プログラムによるアクセス」にします。

続けてアクセス許可で先ほど作成したHULFTS3PutPolicyポリシーをアタッチします。

その他のオプションはデフォルトで構いません。

ユーザーを作成したらアクセスキーIDとシークレットアクセスキーが取得できますので、これらの内容を控えておいてください。

以上でAWS側の設定は完了です。

2. HULFT for Windowsのインストールと設定

ここからHULFTのインストールと設定に入ります。

2-1. HULFT for Windowsのインストール

HULFTのインストールはインストール媒体のインストーラー(setup.exe)を実行しセットアップウィザードに従うだけです。
これまでHULFTに触れたことがある方なら特に問題なくインストールできるでしょう。

今回は標準インストールでインストールしました。
環境によっては事前にVC Runtimeのインストールが必要になりますが今回は問題なくインストールできました。

  • インストールウィザードの最初の画面
  • シリアル番号、プロダクトキーを登録
  • 標準インストールを選択
  • インストール内容の確認
  • インストールが開始されるのでしばらく待つ
  • インストール完了
  • また、現時点ではS3アップロード機能を利用するためのモジュールを別途手作業でインストールする必要があったのですが、製品版としてリリースする際はインストーラーに統合する予定とのことでしたので本記事ではその手順は省略します。

    2-2. 環境変数の設定

    S3アップロード機能を利用するためには通常のインストールとは別に以下の環境変数を設定する必要があります。

    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY
    • AWS_DEFAULT_REGION

    これらの環境変数の内容はAWS CLIで使用するものと同様ですが、HULFTのWindowsサービスが認識するために必ずシステム環境変数にする必要があります。

    PowerShellだと以下のコマンドで設定できます。

    # 要管理者権限 
    [Environment]::SetEnvironmentVariable('AWS_ACCESS_KEY_ID', '<アクセスキーID>', 'Machine')
    [Environment]::SetEnvironmentVariable('AWS_SECRET_ACCESS_KEY', '<シークレットアクセスキー>', 'Machine')
    [Environment]::SetEnvironmentVariable('AWS_DEFAULT_REGION', '<リージョン名>', 'Machine')
    
    # 設定の反映には再起動が必要
    Restart-Computer
    

    設定が反映された後はこんな感じです。

    これでHULFTのインストールは完了です。

    今回はここまでです。
    次回はHULFTの設定とS3へのアップロードを行います。

    注意事項

    この記事で記載している内容は現在開発中の機能に関するものであり、今後その内容が変更される可能性があります。