本ドキュメントは、IPSec VPN トンネルと ExpressConnect を介して AWS S3 バケットのデータを Alibaba Cloud OSS バケットに移行する方法を説明します。
Backgroud情報
お客様が AWS S3 から Alibaba Cloud OSS、特に国を跨いでデータを移行する場合、通常、2 つのネットワークアーキテクチャを選択できます。
- インターネットに基づくデータ転送
- プライベートネットワークに基づいてデータを転送します。
次の図は、全体的なネットワークアーキテクチャを示しています。
このネットワークアーキテクチャの利点は、S3 バケット内のデータが、最初に S3 バケットと同じリージョン内の Alibaba Cloud Network VPC に移動され、次にデータが Alibaba Cloud ExpressConnnect リージョン間 ExpressConnnect により、宛先リージョンの OSS バケットに再送信されることです。 このネットワークアーキテクチャは、国を跨いだデータ移行の転送速度を加速させます。
準備
次の表に、移行プロセスに関与するネットワークエンティティに関する情報を示します。
プロバイダー | ネットワークエンティティ | 値 |
AWS | VPC in Tokyo | 172.16.0.0/16 |
S3 bucket Endpoint | s3.ap-northeast-1.amazonaws.com | |
S3 bucket name | eric-s3-tokyo | |
OssImport IP address in the EC2 instance | Internal IP address: 172.16.1.183 Public IP address: 3.112.29.59 | |
Customer Gateway with Strongswan | Public IP address: 3.112.29.59 | |
Alibaba Cloud | VPN Gateway | Public IP address: 47.74.46.62 |
VPC in Tokyo Japan | 172.24.0.0/16 | |
Subnet in VPC@Tokyo Japan | 172.24.0.0/20 | |
VPC in Shanghai China | 172.19.0.0/16 | |
Subnet in VPC@Shanghai China | 172.19.48.0/20 | |
OSS bucket Endpoint | http://oss-cn-shanghai-internal.aliyuncs.com | |
OSS bucket name | eric-oss-datastore-shanghai |
ステップ1: Strongswanのインストールと設定
Strongswan をインストールするには、AWS で次の操作を実行します。
- VPC と関連リソースの準備
- 次の設定でVPCを作成します。
- 次の設定でサブネットを作成します。
- 次の設定でインターネットゲートウェイを作成します。説明 SSH クライアントなどのインターネット経由で EC2 にアクセスする場合は、このゲートウェイが必要です。このインターネットゲートウェイを、今作成した VPC に接続します。
- セキュリティグループを作成し、トラフィックを許可します。
- Strongswan と OssImport の EC2 インスタンスを作成します。
- VPC、サブネット、セキュリティグループでEC2インスタンスを起動します。説明 SSH クライアントで EC2 インスタンスにアクセスしたい場合は、*.pem ファイルをローカルコンピュータに保存する必要があります。
- SSH クライアントで EC2 にアクセスしてみます。
SSH経由で EC2 インスタンスにログインするには、次のコマンドを実行します。
ssh -i 3k3j *** M.pem ec2-user@ec2-3-112-29-59.ap-northeast-1.compute.amazonaws.com
SSH クライアント経由で EC2 インスタンスにアクセスできない場合は、ルートエントリを追加する必要がある可能性があります。
- VPC、サブネット、セキュリティグループでEC2インスタンスを起動します。
- strongSwan をインストールします。
次のコードを実行してStrongswanをインストールし、Strongswanのバージョンを検証します。
$ wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/s/strongswan-5.7.1-1.el7.x86_64.rpm $sudo yumインストールgcc $sudo yumズボンをインストール $sudo rpm -ivh strongswan-5.7.1-1.el7.x86_64.rpm $strongswanバージョン Linux strongSwan U5.7.1/K3.10.0-957.el7.x86_64 スイス、ラッパースヴィル応用科学大学 著作権情報については、「strongswan -- copyright」を参照してください。
- Strongswan を設定します。
次のコードを実行して Strongswan を設定します。
$ sudo vi /etc/strongswan/ipsec.conf 次の設定をファイルに貼り付けます。conn % default authby=psk type=トンネル keyexchange=ikev2 auto=start ike=aes-sha1-modp1024 ikelifetime=86400秒 esp=aes-sha1-modp1024 lifetime=86400s conn abc_shanghai_oss left=172.16.1.183-// EC2のローカルIPアドレス (Strongswanインストール済み) leftsubnet=172.16.1.0/24 .net // AWS東京VPC CIDR。 leftid=3.112.29.59 //// Public IP address as ID. right=47.74.46.62 .pdf // Alibaba Cloud VPN GatewayのパブリックIPアドレス rightid=47.74.46.62 .net // IDとしてのパブリックIPアドレス。 rightsubnet=100.118.102.0/24 //// Note(1)
説明 Alibaba Cloud Shanghai VPC の一部の ECS インスタンスで OSS バケットのイントラネットエンドポイントを ping すると、この CIDR ブロックに属する IP アドレスを取得できます。 したがって、この CIDR ブロックは正しいサブネットとして使用されます。 - Strongswan を起動します。
- 次のコマンドを実行します。
$ sudo su - root # echo 1 > /proc/sys/net/ipv4/ip_forward
説明 次に、net.ipv4.ip_forward=1
を /etc/sysctl.confに追加する必要があります。 - 次のコマンドを実行してStrongswanを起動します。
# systemctl enable strongswan # systemctl start strongswan # systemctl status strongswan
- 次のコマンドを実行します。
ステップ2: VPNゲートウェイとIPSec接続の作成
VPN ゲートウェイと IPSec 接続を作成するには、次の手順に従います。
- VPN ゲートウェイとカスタマーゲートウェイを作成します。
- VPNゲートウェイを作成します。
- カスタマーゲートウェイを作成します。説明 この場合、Strongswan@AWS EC2 をカスタマーゲートウェイとして使用します。
- IPsec 接続を作成します。
- 基本的な設定をします。
- 詳細設定を行います。
- IPSec 接続のステータスを確認します。
- Alibaba CloudコンソールでIPSec接続ステータスを確認します。
- 次のコマンドを実行して、StrongswanのIPSec接続ステータスを確認します。
# systemctl status strongswan
ステップ3: VPCピアリング接続の作成
- Alibaba Cloud Express ConnectコンソールでVPCピアリング接続を作成するには、「同じAlibaba Cloudアカウントで2つのVPCを接続する」の手順に従います。
- AWS VPC と Alibaba Cloud VPC の両方のルート設定に次のルーティングエントリを追加します。
- 東京ジャパンのAWS VPC
- Alibaba Cloud VPC in Tokyo Japan 上の図のサブネットに関する説明は、次の通りです:
100.118.102.0/24: VPC endpoint of OSS bucket in the China Shanghai region
119 172.16.1.0/24: AWS VPC in Tokyo Japan
172.19.48.0/20: Alibaba Cloud VPC in Shanghai China
- 中国上海のAlibaba Cloud VPC上の図のサブネットに関する説明は、次の通りです:
119 172.16.1.0/24: AWS VPC in Tokyo Japan
172.24.0.0/20: Alibaba Cloud VPC in Tokyo Japan
- 東京のAWS VPCと上海のAlibaba Cloud OSSバケット間の接続をテストします。
上の図のテスト結果は、AWS EC2インスタンスとAlibaba Cloud OSSバケット間の接続が接続されていることを示しています。 OssImport をデプロイし、AWS S3 バケットから Alibaba Cloud OSS バケットにオブジェクトを移行できます。
ステップ4: AWS S3バケットのVPCエンドポイントを作成する
このプラクティスでは、VPCのEC2インスタンスにデプロイされたOssImportを使用して、AWS S3バケットからOSSバケットにデータを移動します。 AWS S3 バケット用の VPC エンドポイントを作成し、ルートテーブルに関連付けることで、OssImport が AWS S3 バケットのインターネット IP アドレスにアクセスする代わりに VPC 内の AWS S3 バケットにアクセスできるようにすることをお勧めします。
- AWS S3バケットのVPCエンドポイントを作成します。
- VPCルーティングテーブルを確認します。
- AWS S3 VPCエンドポイントとEC2インスタンス間の接続を確認します。
ステップ5: OssImportを使用してAWS S3バケットからOSSバケットにデータを移行する
「ossimportを使用したデータの移行」の手順に従って、OssImportのデプロイと設定を行います。
- local_job.cfgファイルを次のように設定します。
srcType=s3 srcAccessKey=AK *********** A srcSecretKey=+ RW *********** iM3 srcDomai n=s3.ap-northeast-1.amazonaws.com srcBucket=eric-s3-tokyo srcPrefix=source_folder / destAccessKey=L ************ ic destSecretKey=nEtM *********** iDx destDomain=http://oss-cn-shanghai-internal.aliyuncs.com destBucket=eric-oss-datastore-shanghai destPrefix=destination_folder /
- import.shを実行し、移行ステータスを確認します。
[root @ ip-172-16-1-183 ~]# cd /home/ec2-user/ossimport [root @ ip-172-16-1-183 ossimport]# 。/import.sh 前のジョブをきれいにする、はいまたはいいえ: はい インポートサービスの完了を停止します。 ジョブの削除dir:./master/jobs/local_test / クリーンジョブ: local_test完了。 ジョブを送信:/home/ec2-user/ossimport/conf/local_job.cfg ジョブを送信: local_test success! Start import service completed. …… ------------- 仕事の統計 ----------------- ---------------- ジョブstat ------------------ JobName:local_test JobState: ランニング PendingTasks:0 DispatchedTasks:1 RunningTasks:1 成功タスク: 0 FailedTasks:0 ScanFinished:true RunningTasksの進捗状況: 8528637A126676A4FD0D2F981ED5E0EF_1544176618182:0/191048 1/42 ---------------------------------------- ------------- 仕事の統計 ----------------- ---------------- ジョブstat ------------------ JobName:local_test JobState: ランニング PendingTasks:0 DispatchedTasks:1 RunningTasks:1 成功タスク: 0 FailedTasks:0 ScanFinished:true RunningTasksの進捗状況: 8528637A126676A4FD0D2F981ED5E0EF_1544176618182:191048/191048 42/42 [root @ ip-172-16-1-183 ossimport]#
説明 ログの詳細は、ossimport/logs フォルダーにあります。 - AWS S3バケット内のファイルとOSSバケット内のファイルを比較します。
上記の場合から、ossimportを使用して、IPSec VPNトンネルおよびExpressConnectionクロスカントリー経由でS3データをAlibaba Cloud OSSバケットに確実に移行します。