4
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?

はじめに

こんにちは。すぎもんです:smile:

今回は、クラウドで発生したイベントをトリガーに、HULFT10 Smart ProxyとHULFTクラウドストレージオプションを使って、クラウド上のファイルを転送してみようと思います。

☆前回記事(環境構築)も参考にしてください
https://qiita.com/sugimon/items/f20294a677d69f87cac5

HULFT10 について紹介している公式サイトもあわせてご覧ください。
■ HULFT10 製品紹介ページ
https://www.hulft.com/software/hulft-10

【公式】HULFT10 Smart Proxy ガイド
https://www.hulft.com/help/ja-jp/HULFT-V10/SPX-SUG/Content/Home_Top.htm

本資料は2024年9月開発中時点のリリース前モジュールでの環境構築ナレッジです。
設定内容等の細かい部分は変更になる可能性がある点、ご留意ください。

前提条件

  • 上図のEC2インスタンス(Linux)にNginxとHULFT10 Smart Proxyが稼働していること
  • 上図のEC2インスタンス(Windows)に配信用と集信用のHULFTクラウドストレージオプションがそれぞれ稼働していること

今回やること

Amazon S3へのファイルアップロードをトリガーにAWS LambdaがNginxとHULFT10 Smart Proxy経由で配信側HULFTにイベント通知し、配信側HULFTがS3からダウンロードしたファイルを集信側HULFTに転送します。

image.png

設定の流れ

1.S3バケット作成
① バケットの作成
② フォルダの作成

2.HULFT CSOの転送設定
① 配信側HULFTの設定
② 集信側HULFTの設定
③ 環境変数の設定

3.セキュリティーグループの設定
① HULFT10 Smart Proxyのセキュリティーグループ設定
② HULFTのセキュリティーグループ設定

4.Lambda関数作成
① 関数の作成
② VPC 内のリソースへのアクセス許可
③ トリガーの設定

5.クラウドトリガの動作確認
① S3に転送ファイルをアップロード
② ファイル転送の確認

1.S3バケット作成

① バケットの作成
Amazon S3で「バケットの作成」を押下します。
image.png

バケット名を入力します。
image.png

「バケットを作成」を押下します。
image.png

②フォルダの作成
ファイルを監視するフォルダを作成します。作成したバケットで「フォルダの作成」を押下します。
image.png

[フォルダ名]を入力します。
image.png

「フォルダの作成」を押下します。
image.png

2.HULFT CSOの転送設定

①配信側HULFTの設定
配信管理情報のファイル名にS3のファイル「s3://バケット名/フォルダ名/ファイル名」を設定します。
image.png

詳細ホスト情報に集信側HULFTのホスト情報を設定します。
image.png

詳細ホスト情報の[PROXYサーバ]にHULFT10 Smart Proxyのサーバ名とポートNo.を設定します。
image.png

転送グループ情報に集信側HULFTのホスト名を設定します。
image.png

②集信側HULFTの設定
集信管理情報のファイル名にローカルフォルダのファイルを設定します。
image.png

詳細ホスト情報に配信側HULFTのホスト情報を設定します。
image.png

③環境変数の設定
S3にアクセスするためにはHULFTが起動するホストで以下の環境変数の設定が必要です。
[access-key]と[secret-access-key]を設定します。
image.png

[default-region]を設定します。
image.png

3.セキュリティーグループの設定

①HULFT10 Smart Proxyのセキュリティーグループ設定
EC2インスタンス(Linux)のセキュリティグループを以下のように設定します。
image.png
AWS Lambdaからイベント通知するためのルールを設定します。ソースにHULFT10 Smart ProxyのVPCまたはサブネットのCIDRを指定します。
HULFTからの配信要求するためのルールを設定します。ポート範囲に詳細ホスト情報のPROXYポートNo.を指定します。
EC2 Instance Connect エンドポイントを使用して接続するためのルールを設定します。ソースにエンドポイントのセキュリティーグループを指定します。

②HULFTのセキュリティーグループ設定
EC2インスタンス(Windows)のセキュリティグループを以下のように設定します。
image.png
送信側HULFTから配信要求するためのルールを設定します。ポート範囲に集信側HULFTの要求受付ポートNo.を指定します。
送信側HULFTから配信要求するためのルールを設定します。ポート範囲に集信側HULFTの集信ポートNo.を指定します。
HULFT10 Smart Proxyからイベント通知するためのルールを設定します。ポート範囲に送信側HULFTの要求受付ポートNo.を指定します。

4.Lambda関数作成

①関数の作成
Lambda⇒関数で「関数の作成」を押下します。
image.png

「一から作成」を選択し、[関数名]などの基本的な情報を設定し、「関数の作成」を押下します。
image.png

HULFT10 Smart Proxyへイベント通知を行うコードを記載します。以下はPythonコードの例です。
image.png
変数urlのホスト名にはHULFT10 Smart ProxyのパブリックIPv4 DNSを指定します。
変数paramsとheadersにはそれぞれリクエストボディとリクエストヘッダーをJSON形式で指定します。
HULFT10 Smart ProxyのREST API仕様の詳細についてはREST API仕様を参照してください。 

②VPC 内のリソースへのアクセス許可
[設定]⇒[アクセス権限]の[ロール名]をクリックします。
image.png

[許可を追加]⇒[ポリシーをアタッチ]を選択します。
image.png

「AWSLambdaVPCAccessExecutionRole」を選択し、「許可を追加」を押下します。
image.png

[設定]⇒[VPC]の「編集」を押下します。
image.png

HULFT10 Smart Proxyが稼働するEC2インスタンスのVPCとサブネットとセキュリティグループを設定します。
image.png

「保存」を押下します。
image.png

③トリガーの設定
作成した関数の[関数の概要]で「+トリガーを追加」を押下します。
image.png

[トリガーの設定]で「S3」を選択します。
image.png

[バケット]を指定し、[イベントタイプ]に「すべてのオブジェクト作成イベント」を設定します。
image.png

[プレフィックス]と[サフィックス]を設定し、「追加」を押下します。
image.png

5.クラウドトリガの動作確認

①S3に転送ファイルをアップロード
赤枠内に転送ファイルをドラッグドロップし、 S3の監視対象フォルダにアップロードします。
image.png

転送ファイルにチェックを入れて、「アップロード」を押下します。
image.png

②ファイル転送の確認
集信フォルダにファイルが転送されていることを確認します。
image.png

配信状況一覧で完了コードが「000000(00000)」になっていることを確認します。
image.png

エラー時の確認ポイントについて

①HULFTの配信状況一覧にレコードが出力されない場合
HULFTまでイベント通知が届いていないことが考えられます。
AWS Lambdaのコードソースで「Test」を押下し、実行結果を確認します。
image.png
[error code]と[error reason]の内容を確認します。

  • 400 Bad Requestの場合はリクエストパラメータに不備がないか確認します。
  • 502 Bad Gatewayの場合はHULFT10 Smart Proxyのプロセスが起動しているか確認します。

その他、HULFT10 Smart ProxyからのレスポンスについてはREST API仕様のResponse Interfaceを確認します。

②HULFTの配信状況一覧でエラーとなった場合
配信側HULFTの配信状況一覧を確認します。
image.png
完了コードの内容を確認します。

  • 完了コードの下3桁が560で括弧内の詳細コードが1104の場合、環境変数で設定した[access-key]に誤りがないか確認します。

その他、完了コードの詳細についてはHULFTクラウドストレージオプションマニュアルを確認します。

最後に

皆さん、いかがでしたでしょうか。
今回は、Amazon Eventを使って、AWS S3のファイルをLambdaを使ってトリガ検知し、オンプレ転送してみました。これまでできなかった、クラウド側のイベントを起因とするファイル連携を是非試してみてください!

このブログでは、今後も様々なTopics記事や接続検証等、皆さんの役に立つような記事を投稿していきたいと思います!
これからも是非チェックいただき、宜しければフォローをお願いします。
最後まで読んでいただきありがとうございました!それでは、また!

4
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
4
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?