October 21, 2021
Google Cloud Storage Icon

Hướng dẫn Copy file từ S3 sang GCS (Google Cloud Storage)

Google Cloud Storage Icon

Mở đầu

Hiện tại, nhiều doanh nghiệp đang bắt đầu chuyển server lưu trữ file của mình sang các Storage Service như Google Cloud Storage (GCS) hay Amazon Simple Storage Service (S3)… Từ đó, trong quá trình cạnh tranh lẫn nhau giữa các dịch vụ Cloud, sẽ phát sinh tình trạng doanh nghiệp muốn chuyển dữ liệu từ dịch vụ Cloud này sang một dịch vụ Cloud khác có chi phí tốt hơn và hiệu quả cao hơn.

Bài viết này sẽ giới thiệu đến các bạn phương pháp di chuyển dữ liệu từ S3 sang GCS bằng cách sử dụng gsutil. Đây là cách di chuyển dữ liệu được chính Google cung cấp cho người dùng.

Các bước thực hiện

Chúng tôi sẽ hướng dẫn các bạn từ bước upload dữ liệu lên S3, rồi thực hiện di chuyển dữ liệu sang GCS.

[alert-announce]Upload file lên S3[/alert-announce]

  1. Log-in AWS Management Console. Chọn [S3] trong mục [Services] từ Header Menu.

                     H 1. Bảng dịch vụ AWS

  1. Chọn [Create Bucket], Tạo Bucket trên S3

                     H 2. Tạo Bucket trên S3

  1. Chọn [Upload].

Bài hướng dẫn này sẽ demo với 30 file dữ liệu (245 MB/1file), tổng file dữ liệu là 7.3GB.

                    H 3. Upload lên Bucket-S3

[alert-note]Lấy chứng thực (Credentails) của AWS[/alert-note]

Để chuyển file từ S3 sang GCS, bạn cần phải có chứng thực (Credentials) từ AWS. Phương pháp lấy chứng thực như sau:

  1. Click Acount name trên Header Menu, chọn [Security Credentials].

                        H 4. Credentials

  1. Sau khi di chuyển đến trang Credentails, click [Access Key] và chọn [Create New Access Key]. Credentials(Access Key ID và Secret Access Key) sẽ được tạo. Sau đó bạn Download về rồi lưu lại.

                         H 5. Lấy Credentials

[alert-success]Thiết lập gsutil[/alert-success]

Tiếp theo, bạn cần cài đặt thông tin Credentials của S3 trên file cài đặt gsutil. Các bước thực hiện như sau:

※ Các bạn hãy install bộ Google Cloud SDK để sử dụng gsutil. Link install bên dưới:

https://cloud.google.com/sdk/

  1. Tạo file cấu hình (.boto)

Chạy command bên dưới để tạo file cấu hình. Sau đó sẽ xuất hiện link chứng thực Owner Account của GCP Project. Sau khi chứng thực thành công, file cấu hình được tạo thành.  

$ gsutil config
  1. Chỉnh sửa file cấu hình

Thực hiện lệnh chỉnh sửa file trên command. Nhập access key và key ID mà bạn đã download về từ AWS.

$ vi .boto

—————————————————————–

#aws_access_key_id = <your aws access key ID>

#aws_secret_access_key = <your aws secret access key>

[alert-warning]Thực hiện command gsutil[/alert-warning]

Đến đây, chúng ta sẽ bắt đầu chuyển file từ S3 sang GCS.

Để di chuyển tất cả các file trong một bucket của S3 sang GCS, bạn thực hiện command bên dưới. URL của S3 Bucket có dạng 「s3://Bucket name」

※Sử dụng time command để kiểm tra thời gian thực hiện.

time gsutil -m rsync -r s3://yoshidumi-apps-gcp gs://yoshidumi-apps-gcp

[alert-note]Kiểm tra kết quả[/alert-note]

  1. Kiểm tra thời gian copy file

Dưới đây là kết quả copy 245MB×30 file (Total: 7.3GB)

$ time gsutil -m rsync -r s3://yoshidumi-apps-gcp gs://yoshidumi-apps-gcp

……

real11m21.104s

user17m36.634s

sys13m58.144s

  1.  Kiểm tra trên GCS

Log-in vào Google Developers Console. File sẽ được copy như dưới:

          H 6. Google Developers Console

Lời kết

Bài viết đã hướng dẫn các bạn các di chuyển file từ S3 sang GCS bằng gsutil một cách dễ dàng. Ngoài cách sử dụng gsutil, các bạn có thể sử dụng phương pháp khác như dùng Cloud Storage API. Chúng tôi sẽ hướng dẫn các bạn phương pháp di chuyển file cực nhanh bằng cách sử dụng Cloud Storage API trong một bài viết khác.

Hãy theo dõi 35.200.186.237 để cập nhật những nội dung mới nhất của Google Cloud Platform.

Pham Van Tuyen

Anh Tuyen Pham là Tổng giám đốc của Cloud Ace Việt Nam và là GDG Cloud HCM Chapter Lead. Anh là diễn giả quen thuộc tại các sự kiện do Google tổ chức tại Việt Nam như Kubernetes Vietnam, Google Cloud Next Extended. Anh đã có các chứng chỉ của Google Cloud như Google Cloud Architect và Data Engineer.

View all posts by Pham Van Tuyen →