CSA Data Uploaderでエンドポイントを経由してAmazon S3へアップロードする

2023.05.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

クラスメソッドが展開しているデータ統合基盤サービス『CSアナリティクス』(以降"CSA")のプロダクト群の1つ、『Data Uploader』では、データをアップロードするAmazon S3にエンドポイントを経由して接続する仕組みがあります。

今回はこの機能について紹介致します。

『Data Uploader』そのものについてや、S3への接続やアップロードについては以下の記事を参考にしてください。

Amazon S3へのエンドポイント経由での接続について

Amazon S3へはデフォルトではエンドポイントを指定せず直接接続することが多いかと思います。ただしData Uploaderを実行する環境によっては直接S3へ接続することができないため、特定のエンドポイントを経由して接続したい場合もあるかと思います。

今回はAWSのEC2インスタンス上でData Uploaderを起動し、エンドポイントとしてインターフェース型VPCエンドポイントを経由してS3へアップロードする場合を例として設定方法について書いていきたいと思います。図にすると以下のようになります。

以下、この設定をData Uploaderで行う方法についてとなります。なお上記の図のEC2インスタンスやVPCエンドポイントなどは作成済みのものとします。

Amazon S3の接続設定

経由するエンドポイントの指定はAmazon S3の接続設定時に行います。起動したData Uploaderの画面を開き、ヘッダーの[設定]-[Amazon S3]を選択して[Amazon S3設定]画面を開きます。

[追加]ボタンを押下し、[S3接続の追加]ダイアログを開きます。[S3接続情報名]には任意の名称を入力します。[認証方式]は[アクセスキー]、[プロファイル]のどちらかを選べるのですが、まずは[プロファイル]を選択しました。[プロファイル]を選択した場合は、Data Uploaderを実行しているマシンに設定済みのAWSプロファイルを[AWSプロファイル名]に入力します。

[エンドポイント]が今回のポイントとなります。[URL指定]を選択し、VPCエンドポイントのURLを入力します。URLの形式は「https://bucket.VPCエンドポイントID.s3.ap-northeast-1.vpce.amazonaws.com」となりました。ここは実際に使用するエンドポイントに合わせてください。全てを入力したダイアログは以下のようになります。

先ほどは[認証方式]に[プロファイル]を選択しましたが、[アクセスキー]を選択した場合もエンドポイントを指定することはできます。[アクセスキー]を選択した場合も[エンドポイント]で[URL指定]を選択し、VPCエンドポイントのURLを入力します。[アクセスキー]を選択した場合は以下のようになります。

入力したら[検証]ボタンを押下し、結果が[OK]となったら[保存]ボタンを押下して設定を保存します。

ジョブの作成と実行

ここまでで作成したエンドポイントを指定したAmazon S3接続設定を使用し、ファイルをアップロードするジョブを作成してみます。ただしジョブの作成は今までも何度か紹介しているため、詳細な手順は省略します。ジョブの作成方法の詳細を知りたい場合は以下の記事を参考にしてください。

CSA Data UploaderのUI改善を行いました(データアップロードジョブ&ファイルアップロードジョブ) CSA Data Uploaderで『ジョブ実行ジョブ』を使って1つ前のジョブ出力内容を入力ファイルとして扱う

今回作成したジョブは[ファイルアップロード]ジョブで、ローカルのファイルをS3にアップロードするものです。S3のアップロード時、先に作成したエンドポイントを指定したAmazon S3接続設定を使用します。ジョブのフローを[ジョブ詳細]画面で見ると以下のようになります。

アップロードするローカルのファイルを設定している、上記フローの[入力:ローカル接続]処理の詳細は以下のようになります。

Amazon S3へアップロードする設定をしている[出力:S3アップロード]処理の詳細は以下のようになります。[Amazon S3接続名]で先ほど作成したAmazon S3接続設定を選択しています。このように一度エンドポイントを指定した接続設定を作成すると、各ジョブではその設定を選択する形で使用することができます。

最後にジョブを実行してみます。[ジョブ一覧]のジョブの右側の[操作]欄のアイコンを押下し、[[ジョブ名]ジョブを今すぐ実行]を押下します。

ジョブの実行後、指定したAmazon S3のバケットにファイルがアップロードされていることが確認できるかと思います。

まとめ

エンドポイントを経由してAmazon S3に接続する方法についてでした。CSA Data Uploaderは1ヶ月間のトライアル利用が可能となっています。興味をお持ち頂いた方は是非無料版ダウンロードページからインストーラを入手頂き、お試し頂けますと幸いです。