Amazon Web Services ブログ

AWS DataSync を使用して VPC を離れることなく、オンプレミスから AWS にファイルを転送する



AWS DataSync は、Amazon Elastic File System (EFS)Amazon S3 など、オンプレミスストレージと AWS 間のデータ転送を簡素化、自動化、高速化するために re:Invent 2018 でリリースしたサービスです。最近、すべての S3 ストレージクラスへの直接転送をサポートするようにサービスを拡張しました。多くのお客様は、DataSync を使用してオンプレミスストレージを AWS に移行し、データセンター全体をシャットダウンしたり、コールドデータをより費用対効果の高いストレージに移動したりしています。DataSync は情報セキュリティにおいて高度な基準を順守しています。送信元と送信先の間で転送されるすべてのデータは TLS で暗号化され、DataSync によってデータが永続化されることはなく、AWS ストレージの場所へのアクセスが完全に管理されます。DataSync は、IAM (S3 の場合) やセキュリティグループ (EFS の場合) などの標準 AWS ツールでも管理されます。これらのセキュリティ対策に加えて、一部のお客様は、コピーされたデータのセキュリティをさらに高めるために、パブリックインターネットを経由せずに、Direct Connect または VPN を介してオンプレミスストレージから AWS にデータを移動する必要があります。この投稿では、このようなネットワーク設定を可能にするサービス、そのサービスが提供するセキュリティ上の利点、および転送を設定するためのベストプラクティスについて簡単に説明します。

VPC エンドポイントで DataSync を使用する利点

DataSync では、オンプレミスのソースストレージの場所 (NFS または SMB 共有)、および AWS ストレージサービス (Amazon S3 または Amazon EFS) の送信先を設定できます。専用のネットワークプロトコルとスケールアウトアーキテクチャを使用して、AWS へのデータ転送を高速化します。サービスを操作してファイルを転送するには、それぞれの AWS リージョン (datasync.us-east-1.amazonaws.com など) でパブリックサービスエンドポイントを利用するか、VPC 内からのみアクセス可能なプライベート IP アドレスを利用して Direct Connect または VPN 経由でファイルを転送できます。

プライベート IP のみを使用する場合、VPC がインターネット経由で到達できないようにし、ネットワークへのパケットの出入りを防ぐことができます。つまり、オンプレミスからのすべてのインターネットアクセスを排除できますが、プライベート IP アドレスを使用した AWS とのデータ転送には引き続き DataSync を使用できます。

仕組み

DataSync はエージェントを使用してオンプレミスストレージからデータを転送します

DataSync は、エージェントを使用してオンプレミスストレージからデータを転送します。エージェントは、NFS などのプロトコルを介して移動する距離を最小限に抑えるために、ソースストレージと同じ LAN のオンプレミスにデプロイする必要がある仮想マシンとしてデプロイされます。デプロイ後に、エージェントは DataSync サービスの拡張機能として動作し、AWS によってシームレスに管理されます。DataSync を VPC エンドポイントで使用すると、エージェントはプライベート IP を使用して DataSync サービスエンドポイントと通信できます。この設定を構成するには、DataSync サービスに接続するプライベート VPC エンドポイントを VPC に配置します。このエンドポイントは、エージェントと DataSync サービス間の通信に使用されます。これには、データ転送の開始など、サービスへのコマンドが含まれます。さらに、転送タスクごとに、4 つの Elastic Network Interface (ENI) が VPC に自動的に配置されます。DataSync エージェントは、オンプレミスの共有から AWS にデータを転送するために、これらの ENI を介してトラフィックを送信します。

転送を設定する

以下では、プライベート IP を使用するように DataSync を設定するための段階的なガイドを提供します。これには、ソースストレージから読み取るエージェントの 1 回限りのセットアップ、およびエージェントが通信する VPC エンドポイントの 1 回限りのセットアップが含まれます。このセットアップが完了すると、オンプレミスのストレージと AWS のストレージを接続して、必要な数の転送タスクを作成できます。次の図は、セットアップをより詳細に示し、さまざまなステップで言及されている AWS リソースを指定しています。

プライベート IP を使用するように DataSync を設定します。AWS リソースについてはさまざまなステップで説明しています。

1. DataSync プライベート IP を設定する VPC とサブネットを選択します。Direct Connect または VPN 経由のルーティングルールを介してオンプレミス環境に拡張する VPC でなければなりません。DataSync エージェントと DataSync サービス間のすべての通信は、この VPC に残ります。

2. NFS または SMB を介してソースストレージの場所にアクセスできるオンプレミスの DataSync エージェントをデプロイします。エージェントデプロイの OVA は、DataSync コンソールからダウンロードできます。エージェントはパブリック IP を必要としません。

  • 単一のエージェントは、プライベートエンドポイントまたはパブリックエンドポイントを介した 1 つのタイプでの転送にしか使用できないため、ご注意ください。既存のエージェントがパブリックインターネットを介してデータを転送している場合、プライベート DataSync エンドポイントにデータを転送するには新しいエージェントをデプロイする必要があります。

3. DataSync が使用するプライベート IP への正しいアクセスを保証するセキュリティグループを作成します。コントロールトラフィック用の単一 VPC エンドポイントと、データ転送に使用される 4 つの ENI。セキュリティグループは、これらのプライベート IP へのアクセスを管理し、エージェントがそれらにルーティングできることを確認します。エージェントはこれらの IP への接続を確立する必要があるため、エージェントのプライベート IP (スクリーンショットでは 172.31.60.250) が DataSync が使用する IP に接続できるようにするインバウンドルールを設定します。エージェントは、ポート 1024〜1064、443、およびポート 22 と通信する必要があります

  • 注意: アウトバウンドルールは必要ありません。セキュリティグループを設定するとき、ステップ 1 で選択した VPC を選択することを忘れないでください。

3. プライベート IP への正しいアクセスを保証するセキュリティグループを作成します。

4.DataSync サービスの VPC エンドポイントを作成します。Amazon VPC コンソールで、左側のナビゲーションペインから [エンドポイント] を選択し、[エンドポイントを作成] をクリックします。サービスカテゴリで、[AWS サービス] を選択します。サービス名には、リージョンの DataSync を選択します (例: com.amazonaws.us-east-1.datasync)。次に、最初のステップと 3 番目のステップでそれぞれ選択した VPC とセキュリティグループを選択します。[プライベート DNS 名を有効にする] のチェックをオフにしてください。

DataSync サービスの VPC エンドポイントを作成する

5.作成した VPC エンドポイントが利用可能になったら、オンプレミス環境のネットワーク設定でエージェントのアクティベーションが許可されていることを確認してください。アクティベーションは、エージェントを AWS アカウントに安全に関連付ける 1 回限りの操作です。エージェントをアクティブにするには、ポート 80 を介してエージェントに到達できるコンピュータを使用します。アクティベーション後、このアクセス権を取り消すことができます。エージェントは、ステップ 4 で作成した VPC エンドポイントのプライベート IP に到達できます。この IP を見つけるには、Amazon VPC コンソールに移動し、左側のナビゲーションペインから [エンドポイント] を選択します。DataSync エンドポイントを選択し、サブネットを見ると、選択したサブネットに対応するプライベート IP を見つけることができます。

  • 注意: ポート 443、1024〜1064、およびポート 22 (任意、サポートチャネル用) を介したエージェントから VPC エンドポイントへのアウトバウンドトラフィックを許可してください。

選択したサブネットに対応する Amazon VPC コンソールで IP を見つける

6.これで、エージェントをアクティブにする準備ができました。ポート 80 を介してエージェントにルーティングできるコンピュータがあり、DataSync コンソールにアクセスできる場合は、コンソールに移動して [エージェントを作成] をクリックします。サービスエンドポイントのフォームセクションで、AWS PrivateLink を使用して VPC エンドポイントを選択します。

  • ステップ 4 で作成した VPC エンドポイント、ステップ 1 で選択したサブネット、およびステップ 3 で作成したセキュリティグループを選択します。エージェントの IP を入力します。同じコンピュータを使用してエージェントと DataSync コンソールにアクセスできない場合は、エージェントのポート 80 に到達できるコンピュータからコマンドラインを使用してエージェントをアクティブ化できます。

DataSync コンソールでエージェントのアクティベーションを開始

7. [キーを取得] を選択して、任意のエージェント名とタグを入力し、[エージェントを作成] を選択します。これで、新しいエージェントが DataSync コンソールの [エージェント] タブに表示されます。緑色の VPC エンドポイントバナーは、このエージェントを介して実行されるすべてのタスクが、パブリックインターネットを経由せずにプライベートエンドポイントを使用することを示します。

DataSync コンソールの [エージェント] タブ

8.データ転送の送信元送信先を設定して、タスクを作成します。

9.プライベート IP を介した転送を容易にするために、タスクがユーザーに代わって、選択した VPC とサブネットに 4 つの Elastic Network Interface (ENI) を作成します。エージェントがそれらに到達できることを確認してください。これらの IP を見つけるには、Amazon EC2 コンソールに移動し、左側の [ネットワークインターフェイス] タブを選択します。検索フィルターにタスク ID を入力して、タスクの 4 つの ENI を表示します。ポート 443 を介したエージェントからこれらの ENI へのアウトバウンドトラフィックを許可してください。

Amazon EC2 コンソールの [ネットワークインターフェイス] タブ

これで完了です。これで、タスクを開始して、DataSync コンソールで進行状況を確認し、必要に応じて定期的に再実行して増分更新を取得できます。

DataSync コンソールで進行状況を確認する

DataSync を使用する際のヒントとベストプラクティスについては、以前の投稿をご覧ください。ストレージの移行数百 TB のデータを Amazon S3 へ移行一般的なファイルとフォルダフィルターの使用さまざまな S3 ストレージクラスへのデータ転送について説明しています。

AWS DataSync は常に改善しており、フィードバックやアイデアをお待ちしています。DataSync 開発者フォーラム、AWS サポートから、または以下にコメントすることで、当チームにご連絡ください。