2022年12月号特集 第1部 サポート・ページ2…自前サーバのデータをクラウドと連携する

サポート・ページ2「自前サーバのデータをクラウドと連携する」

本サイトでは,Interface2022年12月号特集 第1部に関して,Amazon Web Services(以下,AWS)を活用したIoTデータ・サーバ構築手順の詳細を説明します。MQTTプロトコルを利用して,クラウドでデータを受け付け,それを順次蓄積していく構成を実現します.
サポート・ページ2では,オンプレミスのデータを,AWSと連携する場合の設定について説明します.
今回はWindows11のローカルPCから,AWSにデータを転送する構成を作ってみます.この操作をする事前準備として,WindowsのHyper-Vの設定を行ってください.まず,コントロールパネルから「Windows の機能の有効化または無効化」のダイアログを開き,「Hyper-V」の項目を有効にします.

 

Windowsを再起動後,Windowsメニューから「Hyper-V」を検索して「Hyper-V マネージャー」を起動できることを確認してください.

 

 

ステップ1:AWS DataSync Agent の構築・設定

オンプレミスのデータをクラウドと連携させるため,今回は主に以下のサービスを利用します.AWSのサイトでサービスの概要をご確認ください.

– Amazon S3(以下,S3)
https://aws.amazon.com/jp/s3/
– AWS DataSync(以下,DataSync)
https://aws.amazon.com/jp/datasync/

AWSコンソールにログインし,「DataSync」の設定画面を開きます.

 

 

DataSyncの「エージェント」メニューを選択し,「エージェントを作成する」をクリックします.その上で表示される画面で,「ハイパーバイザー」の項目で,「Windows Hyper-V」を選択し,「イメージをダウンロードする」リンクをクリックし,Hyper-V の仮想マシンイメージをダウンロードします.

「AWS-DataSync-Agent-HyperV.zip」というファイルがダウンロードされますが,そのファイルを解凍して得られる「aws-datasync-2.0.xxxxxxxxx-x86_64.xfs.gpt.vhdx」というファイルを利用して,AWS DataSync のエージェントを構築します.オンプレミスの環境で,このエージェントがクラウドと連携させるプロセスとなります.仮想マシンの要件は,以下を参照してください.

https://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/agent-requirements.html#hardware

Hyper-Vの「操作」メニューから,「新規」→「仮想マシン」を選択して,仮想マシンの新規作成ウィザードを開始してください.

 

仮想マシンの名前を,「cqpub-datasync-agent」としておきます.任意の名前を指定して構いません.

 

仮想マシンの世代は,「第 1 世代」を選択してください.

 

メモリの割り当てを,「4096MB」(4GB)としてください.本番環境の場合は,32GB以上が推奨されていますが,大量のデータでなければ,この設定でも動作します.

 

ネットワークは,「Default Switch」を選択してください.

 

仮想マシンが作成されるので,起動する前に仮想マシンを右クリックし,「設定」を開いてください.

 

この仮想マシンの「プロセッサ」の設定で,仮想プロセッサの数を「4」に設定してください.

 

これで DataSync Agent の仮想マシンの準備が整いました.この仮想マシンを起動すると,ログインコンソールが表示されます.
ログインID:admin,パスワード:password と入力すると,ログインでき,DataSync のメニューが表示されます.

この画面で表示されている,「eth0: 172.xxx.xxx.xxx」のIPアドレスに対して,ブラウザから「http://172.xxx.xxx.xxx」でアクセスできることを確認してください.

 

ここまでの設定が完了したら,再度,AWSのDataSyncの管理コンソールに戻ります.先ほど,Hyper-V の仮想マシンイメージをダウンロードした画面で,先ほどのエージェントのIPアドレスを指定し,「キーを取得する」をクリックしてください.

 

エージェントの作成に成功すると,ステータスが「オンライン」状態で登録されます(DataSync Agent の仮想マシンは起動したままにしておいてください).

ステップ2:ローカルPCで共有ディレクトリを準備

今回,DataSync Agentとファイル送信元のファイル・サーバは,SMBプロトコルを利用して通信します.ローカル・ネットワーク環境に別ファイル・サーバを立てるのは大変なため,ローカルPCで共有ディレクトリを用意し,そこにネットワーク・アクセスすることで,仮想ファイル・サーバを構築します.構成は以下のような内容になります.

まず,この構成で接続ができるよう,Windowsのローカルユーザを作成します.コントロールパネルの「ユーザー アカウント」から,「cqpubuser」という新しいユーザを作成してください.

 

次に,ローカルPC上に「syncexample」という共有ディレクトリを作成します(場所はどこでも構いません).そのプロパティを開き「共有」タブを開いてください.

 

「共有」をクリックし,このディレクトリを共有設定にしてください.

 

「アクセス許可」から,先ほど作成した「cqpubuser」を追加し,共有設定を行ってください.

 

また,ここでコマンドプロンプトを立ち上げ,「ipconfig」と入力してください.そこで表示されるネットワークアダプタの中に,「vEthernet (Default Switch)」という内容が表示されるので,そのIPアドレスをメモしておいてください.このIPアドレスが,DataSync Agent の仮想マシンとローカルPC間を通信するためのIPアドレスとなります.

 

さらに先ほどメモしたIPアドレスを利用して,「net use D: \\172.21.0.1」と入力してください(”D:” はWindowsのドライブ名ですが,既に使用されている場合は別の値を指定してください).これで成功すると,以下のように上記で設定した共有フォルダに対して,ネットワーク経由でアクセスできるようになります.

 

ステップ3:ファイル転送のためのAWS DataSyncタスクを設定

ファイル転送を実行するDataSyncタスクの設定を行います.「送信元」「送信先」の設定を行いますが,「送信元」がローカルPCの共有ディレクトリ,「送信先」がAWS上のS3バケットになります.

まず,送信先となるS3バケットを作成します.S3バケットは,グローバルでユニークな名前を付ける必要があるので,「cqpub-datasync-example-{yourname}」などと付けてください({yourname}はご自身の名前など).

 

次に,DataSyncの「タスク」メニューから,「タスクを作成する」をクリックし,DataSyncのタスク作成ウィザードを開始します.
送信元(ローカルPCの共有ディレクトリ)の設定を行います.

この設定内容は以下の通りです.

項目 設定値
ロケーションタイプ サーバーメッセージブロック(SMB)
エージェント 事前に作成したDataSyncエージェント
SMBサーバ 172.21.0.1(Hyper-VのvEthernetのIPアドレス)
共有名 ローカルPCの共有ディレクトリ名(syncexample)
ユーザ 共有ディレクトリへアクセスするユーザID
パスワード 共有ディレクトリへアクセスするユーザのパスワード

 

送信先(AWS上のS3バケット)の設定を行います.

この設定内容は以下の通りです.

項目 設定値
ロケーションタイプ Simple Storage Service(Amazon S3)
S3バケット データを保存するS3バケット
フォルダ データを保存するS3バケット配下のディレクトリ<br />(ここでは「syncexample」とする)

 

DataSyncタスクの設定を行います.

 

最後に「タスクを作成する」をクリックすれば,タスクが作成されます.

 

このタスクで「開始」を実行すると,ローカルPCのファイルをAWS上に転送できます.ここでは手動実行にしていますが,転送はスケジュールを指定して実行することも可能です(最小1時間間隔).共有ディレクトリに任意のファイルを配置して,タスクを実行してみてください.

 

 結果:AWS S3との連携に成功した

ファイルの転送に成功すると,送信先に指定したS3バケット内に,ローカルPCの共有ディレクトリ上にあったファイルが登録されます.