Miền Amazon SageMaker ở chế độ chỉ VPC để hỗ trợ SageMaker Studio với tính năng tự động tắt Cấu hình vòng đời và SageMaker Canvas với Terraform | Dịch vụ web của Amazon

Miền Amazon SageMaker ở chế độ chỉ VPC để hỗ trợ SageMaker Studio với tính năng tự động tắt Cấu hình vòng đời và SageMaker Canvas với Terraform | Dịch vụ web của Amazon

Miền Amazon SageMaker hỗ trợ các môi trường máy học (ML) SageMaker, bao gồm SageMaker Studio và SageMaker Canvas. Studio SageMaker là một môi trường phát triển tích hợp đầy đủ (IDE) cung cấp một giao diện trực quan dựa trên web duy nhất, nơi bạn có thể truy cập các công cụ được xây dựng có mục đích để thực hiện tất cả các bước phát triển ML, từ chuẩn bị dữ liệu đến xây dựng, đào tạo và triển khai các mô hình ML của mình, cải thiện khoa học dữ liệu năng suất của nhóm lên tới 10 lần. Canvas SageMaker mở rộng quyền truy cập vào học máy bằng cách cung cấp cho các nhà phân tích kinh doanh một giao diện trực quan cho phép họ tự tạo ra các dự đoán ML chính xác—mà không yêu cầu bất kỳ trải nghiệm ML nào hoặc phải viết một dòng mã nào.

Địa hình HashiCorp là công cụ cơ sở hạ tầng dưới dạng mã (IaC) cho phép bạn tổ chức cơ sở hạ tầng của mình trong các mô-đun mã có thể tái sử dụng. Khách hàng AWS dựa vào IaC để thiết kế, phát triển và quản lý cơ sở hạ tầng đám mây của họ, chẳng hạn như Miền SageMaker. IaC đảm bảo rằng cơ sở hạ tầng và dịch vụ của khách hàng nhất quán, có thể mở rộng và tái tạo trong khi tuân theo các phương pháp hay nhất trong lĩnh vực hoạt động phát triển (DevOps). Bằng cách sử dụng Terraform, bạn có thể phát triển và quản lý Miền SageMaker cũng như cơ sở hạ tầng hỗ trợ của nó một cách nhất quán và có thể lặp lại.

Trong bài đăng này, chúng tôi trình bày cách triển khai Terraform để triển khai Miền SageMaker và Đám mây riêng ảo Amazon (Amazon VPC) mà nó liên kết. Giải pháp sẽ sử dụng Terraform để tạo:

  • Một VPC có mạng con, nhóm bảo mật cũng như điểm cuối VPC để hỗ trợ chế độ chỉ VPC cho Miền SageMaker.
  • Miền SageMaker ở chế độ chỉ VPC có hồ sơ người dùng.
  • Khóa Dịch vụ quản lý khóa AWS (AWS KMS) để mã hóa ổ đĩa Hệ thống tệp đàn hồi Amazon (Amazon EFS) của SageMaker Studio.
  • Cấu hình vòng đời được đính kèm với Miền SageMaker để tự động tắt các phiên bản sổ ghi chép Studio không hoạt động.
  • Vai trò thực thi Miền SageMaker và các chính sách IAM để kích hoạt các chức năng của SageMaker Studio và Canvas.

Giải pháp được mô tả trong bài đăng này có sẵn tại đây Repo GitHub.

Tổng quan về giải pháp

Hình ảnh sau đây hiển thị Miền SageMaker ở chế độ chỉ VPC.

sagemaker_domain_vpc_only

Bằng cách khởi chạy Miền SageMaker trong VPC, bạn có thể kiểm soát luồng dữ liệu từ môi trường SageMaker Studio và Canvas của mình. Điều này cho phép bạn hạn chế quyền truy cập Internet, giám sát và kiểm tra lưu lượng truy cập bằng cách sử dụng khả năng bảo mật và kết nối mạng tiêu chuẩn của AWS, đồng thời kết nối với các tài nguyên AWS khác thông qua điểm cuối VPC.

Yêu cầu VPC để sử dụng chế độ chỉ VPC

Tạo Miền SageMaker ở chế độ chỉ VPC yêu cầu VPC có các cấu hình sau:

  1. Ít nhất hai mạng con riêng, mỗi mạng nằm trong Vùng sẵn sàng khác nhau, để đảm bảo tính sẵn sàng cao.
  2. Đảm bảo mạng con của bạn có đủ số lượng địa chỉ IP cần thiết. Chúng tôi khuyến nghị từ hai đến bốn địa chỉ IP cho mỗi người dùng. Tổng dung lượng địa chỉ IP cho miền Studio là tổng số địa chỉ IP có sẵn cho mỗi mạng con được cung cấp khi miền được tạo.
  3. Thiết lập một hoặc nhiều nhóm bảo mật với các quy tắc gửi đến và gửi đi cùng nhau cho phép lưu lượng truy cập sau:
    • Lưu lượng NFS qua TCP trên cổng 2049 giữa miền và ổ đĩa Amazon EFS.
    • Lưu lượng TCP trong nhóm bảo mật. Điều này là bắt buộc để kết nối giữa ứng dụng JupyterServer và ứng dụng KernelGateway. Bạn phải cho phép truy cập vào ít nhất các cổng trong phạm vi 8192–65535.
  4. Tạo điểm cuối cổng cho Amazon Simple Storage Service (Amazon S3). SageMaker Studio cần truy cập Amazon S3 từ VPC của bạn bằng cách sử dụng điểm cuối Gateway VPC. Sau khi tạo điểm cuối cổng, bạn cần thêm điểm cuối đó làm mục tiêu trong bảng lộ trình cho lưu lượng truy cập được gửi từ VPC đến Amazon S3.
  5. Tạo điểm cuối VPC giao diện (AWS PrivateLink) để cho phép Studio truy cập các dịch vụ sau với tên dịch vụ tương ứng. Bạn cũng phải liên kết nhóm bảo mật cho VPC của mình với các điểm cuối này để cho phép tất cả lưu lượng truy cập gửi đến từ cổng 443:
    • API SageMaker: com.amazonaws.region.sagemaker.api. Điều này là cần thiết để giao tiếp với API SageMaker.
    • Thời gian chạy SageMaker: com.amazonaws.region.sagemaker.runtime. Điều này là cần thiết để chạy sổ ghi chép Studio cũng như để đào tạo và lưu trữ các mô hình.
    • Cửa hàng tính năng SageMaker: com.amazonaws.region.sagemaker.featurestore-runtime. Điều này là bắt buộc để sử dụng Cửa hàng tính năng SageMaker.
    • Dự án SageMaker: com.amazonaws.region.servicecatalog. Điều này là bắt buộc để sử dụng Dự án SageMaker.

Điểm cuối VPC bổ sung để sử dụng SageMaker Canvas

Ngoài các điểm cuối VPC đã đề cập trước đó, để sử dụng SageMaker Canvas, bạn cũng cần tạo các điểm cuối VPC giao diện sau:

  • Dự báo Amazon và Truy vấn Dự báo Amazon: com.amazonaws.region.forecastcom.amazonaws.region.forecastquery. Đây là những điều bắt buộc để sử dụng Dự báo của Amazon.
  • Nhận thức của Amazon: com.amazonaws.region.rekognition. Điều này là bắt buộc để sử dụng Amazon Rekognition.
  • Văn bản Amazon: com.amazonaws.region.textract. Điều này là bắt buộc để sử dụng Amazon Textract.
  • Amazon Hiểu: com.amazonaws.region.comprehend. Điều này là bắt buộc để sử dụng Amazon Comprehend.
  • Dịch vụ mã thông báo bảo mật AWS (AWS STS): com.amazonaws.region.sts. Điều này là bắt buộc vì SageMaker Canvas sử dụng AWS STS để kết nối với các nguồn dữ liệu.
  • Amazon Athena và keo AWS: com.amazonaws.region.athenacom.amazonaws.region.glue. Điều này là cần thiết để kết nối với Danh mục dữ liệu AWS Glue thông qua Amazon Athena.
  • Dịch chuyển đỏ của Amazon: com.amazonaws.region.redshift-data. Điều này là cần thiết để kết nối với nguồn dữ liệu Amazon Redshift.

Để xem tất cả điểm cuối VPC cho từng dịch vụ bạn có thể sử dụng với SageMaker Canvas, vui lòng truy cập Định cấu hình Amazon SageMaker Canvas trong VPC mà không cần truy cập internet.

Mã hóa AWS KMS cho ổ đĩa EFS của SageMaker Studio

Lần đầu tiên người dùng trong nhóm của bạn tham gia SageMaker Studio, SageMaker sẽ tạo một ổ đĩa EFS cho nhóm. Một thư mục chính được tạo trong ổ đĩa cho mỗi người dùng tham gia Studio với tư cách là thành viên trong nhóm của bạn. Các tập tin sổ ghi chép và tập tin dữ liệu được lưu trữ trong các thư mục này.

Bạn có thể mã hóa ổ đĩa EFS của SageMaker Studio bằng khóa KMS để dữ liệu trong thư mục gốc của bạn được mã hóa ở phần còn lại. Giải pháp Terraform này tạo khóa KMS và sử dụng khóa đó để mã hóa ổ đĩa EFS của SageMaker Studio.

Cấu hình vòng đời miền SageMaker để tự động tắt sổ ghi chép Studio không hoạt động

sagemaker_auto_shutdown

Cấu hình vòng đời là các tập lệnh shell được kích hoạt bởi các sự kiện trong vòng đời của Amazon SageMaker Studio, chẳng hạn như khởi động một sổ ghi chép Studio mới. Bạn có thể sử dụng Cấu hình vòng đời để tự động tùy chỉnh cho môi trường Studio của mình.

Giải pháp Terraform này tạo Cấu hình vòng đời SageMaker để phát hiện và dừng các tài nguyên nhàn rỗi phát sinh chi phí trong Studio bằng cách sử dụng tiện ích mở rộng Jupyter tự động tắt. Dưới mui xe, các tài nguyên sau được tạo hoặc định cấu hình để đạt được kết quả mong muốn:

  1. Tạo nhóm S3 và tải lên phiên bản mới nhất của tiện ích mở rộng tự động tắt máy sagemaker_studio_autoshutdown-0.1.5.tar.gz. Sau đó, tập lệnh tự động tắt sẽ chạy s3 cp lệnh tải xuống tệp tiện ích mở rộng từ nhóm S3 khi khởi động Máy chủ Jupyter. Vui lòng tham khảo các kho GitHub sau để biết thêm thông tin về tiện ích mở rộng tự động tắt máykịch bản tự động tắt máy.
  2. tạo một aws_sagemaker_studio_lifecycle_config nguồn "auto_shutdown”. Tài nguyên này sẽ mã hóa autoshutdown-script.sh với cơ sở 64 và tạo Cấu hình vòng đời cho Miền SageMaker.
  3. Đối với cài đặt người dùng mặc định của Miền SageMaker, hãy chỉ định cấu hình vòng đời và đặt nó làm mặc định.

Quyền IAM của vai trò thực thi SageMaker

Là một dịch vụ được quản lý, SageMaker thay mặt bạn thực hiện các hoạt động trên phần cứng AWS do SageMaker quản lý. SageMaker chỉ có thể thực hiện các thao tác mà người dùng cho phép.

Người dùng SageMaker có thể cấp các quyền này với vai trò IAM (được gọi là vai trò thực thi). Khi bạn tạo miền SageMaker Studio, SageMaker cho phép bạn tạo vai trò thực thi theo mặc định. Bạn có thể hạn chế quyền truy cập vào hồ sơ người dùng bằng cách thay đổi vai trò hồ sơ người dùng SageMaker. Giải pháp Terraform này gắn các chính sách IAM sau vào vai trò thực thi SageMaker:

  • SageMaker quản lý AmazonSageMakerFullAccess chính sách. Chính sách này cấp cho vai trò thực thi toàn quyền truy cập để sử dụng SageMaker Studio.
  • Chính sách IAM được khách hàng quản lý để truy cập vào khóa KMS dùng để mã hóa ổ đĩa EFS của SageMaker Studio.
  • SageMaker quản lý AmazonSageMakerCanvasFullAccessAmazonSageMakerCanvasAIServicesAccess chính sách. Các chính sách này cấp cho vai trò thực thi toàn quyền truy cập để sử dụng SageMaker Canvas.
  • Để bật phân tích chuỗi thời gian trong SageMaker Canvas, bạn cũng cần thêm chính sách tin cậy IAM cho Amazon Dự báo.

Hướng dẫn giải pháp

Trong bài đăng trên blog này, chúng tôi trình bày cách triển khai giải pháp Terraform. Trước khi triển khai, vui lòng đảm bảo đáp ứng các điều kiện tiên quyết sau:

Điều kiện tiên quyết

  • Tài khoản AWS
  • Người dùng IAM có quyền truy cập quản trị

Các bước triển khai

Để mang đến cho người dùng theo hướng dẫn này trải nghiệm triển khai thống nhất, chúng tôi minh họa quy trình triển khai bằng AWS CloudShell. Bằng cách sử dụng CloudShell, một shell dựa trên trình duyệt, bạn có thể nhanh chóng chạy các tập lệnh bằng Giao diện dòng lệnh AWS (AWS CLI), thử nghiệm các API dịch vụ bằng AWS CLI và sử dụng các công cụ khác để tăng năng suất của bạn.

Để triển khai giải pháp Terraform, hãy hoàn thành các bước sau:

Cài đặt khởi chạy CloudShell

  • Đăng nhập vào Bảng điều khiển quản lý AWS và chọn dịch vụ CloudShell.
  • Trong thanh điều hướng, trong bộ chọn Khu vực, hãy chọn Đông Mỹ (N. Virginia).

Trình duyệt của bạn sẽ mở thiết bị đầu cuối CloudShell.

Cài đặt địa hình

Các bước tiếp theo sẽ được thực hiện trong thiết bị đầu cuối CloudShell.

kiểm tra hướng dẫn Hashicorp này để biết hướng dẫn cập nhật về cách cài đặt Terraform cho Amazon Linux:

  • đặt yum-config-manager để quản lý kho lưu trữ của bạn.
sudo yum install -y yum-utils

  • Sử dụng yum-config-manager để thêm kho lưu trữ HashiCorp Linux chính thức.
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo

  • Cài đặt Terraform từ kho lưu trữ mới.
sudo yum -y install terraform

  • Xác minh rằng quá trình cài đặt đã hoạt động bằng cách liệt kê các lệnh phụ có sẵn của Terraform.
terraform -help

Sản lượng mong đợi:

Usage: terraform [-version] [-help] <command> [args] The available commands for execution are listed below. The most common, useful commands are shown first, followed by less common or more advanced commands. If you’re just getting started with Terraform, stick with the common commands. For the other commands, please read the help and docs before usage. …

Sao chép mã repo

Thực hiện các bước sau trong thiết bị đầu cuối CloudShell.

  • Sao chép repo và điều hướng đến thư mục sagemaker-domain-vpconly-canvas-with-terraform:
git clone https://github.com/aws-samples/sagemaker-domain-vpconly-canvas-with-terraform.git cd sagemaker-domain-vpconly-canvas-with-terraform

  • Tải xuống tiện ích mở rộng tự động tắt và đặt nó vào assets/auto_shutdown_template thư mục:
wget https://github.com/aws-samples/sagemaker-studio-auto-shutdown-extension/raw/main/sagemaker_studio_autoshutdown-0.1.5.tar.gz -P assets/auto_shutdown_template

Triển khai giải pháp Terraform

Trong thiết bị đầu cuối CloudShell, hãy chạy các lệnh Terraform sau:

terraform init

Bạn sẽ thấy một thông báo thành công như:

Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work...

Bây giờ bạn có thể chạy:

terraform plan

Sau khi hài lòng với các tài nguyên mà kế hoạch phác thảo sẽ được tạo, bạn có thể chạy:

terraform apply

Đi vào "Vâng“ khi được nhắc xác nhận việc triển khai.

Nếu triển khai thành công, bạn sẽ thấy kết quả như sau:

Apply complete! Resources: X added, 0 changed, 0 destroyed.

Truy cập SageMaker Studio và Canvas

Hiện chúng tôi có miền Studio được liên kết với VPC của chúng tôi và hồ sơ người dùng trong miền này.

sagemaker_domain

Để sử dụng bảng điều khiển SageMaker Studio, trên Bảng điều khiển Studio, hãy tìm tên người dùng của bạn (phải là defaultuser) và lựa chọn Mở Studio.

Chúng tôi thực hiện nó! Bây giờ bạn có thể sử dụng trình duyệt của mình để kết nối với môi trường SageMaker Studio. Sau vài phút, Studio hoàn tất việc tạo môi trường của bạn và bạn sẽ được chào đón bằng màn hình trình khởi chạy.

studio_landing_page

Để sử dụng bảng điều khiển SageMaker Canvas, trên Bảng điều khiển Canvas, hãy tìm tên người dùng của bạn (phải là defaultuser) và chọn Mở Canvas.

Bây giờ bạn có thể sử dụng trình duyệt của mình để kết nối với môi trường SageMaker Canvas. Sau vài phút, Canvas hoàn tất việc tạo môi trường của bạn và bạn sẽ được chào đón bằng màn hình trình khởi chạy.

canvas_landing_page

Hãy thoải mái khám phá toàn bộ chức năng mà SageMaker Studio và Canvas cung cấp! Vui lòng tham khảo phần Kết luận để biết thêm các hội thảo và hướng dẫn mà bạn có thể sử dụng để tìm hiểu thêm về SageMaker.

Làm sạch

Chạy lệnh sau để dọn sạch tài nguyên của bạn:

terraform destroy

Mẹo: Nếu bạn đặt chính sách lưu giữ của Amazon EFS là “Retain” (mặc định), bạn sẽ gặp vấn đề trong quá trình “terraform destroy” bởi vì Terraform đang cố gắng xóa các mạng con và VPC khi khối lượng EFS cũng như các nhóm bảo mật liên quan của nó (được tạo bởi SageMaker) vẫn tồn tại. Để khắc phục điều này, trước tiên hãy xóa ổ đĩa EFS theo cách thủ công, sau đó xóa các mạng con và VPC theo cách thủ công trong bảng điều khiển AWS.

Kết luận

Giải pháp trong bài đăng này cung cấp cho bạn khả năng tạo Miền SageMaker để hỗ trợ các môi trường ML, bao gồm SageMaker Studio và SageMaker Canvas với Terraform. SageMaker Studio cung cấp một IDE được quản lý hoàn toàn giúp loại bỏ gánh nặng trong quy trình ML. Với SageMaker Canvas, người dùng doanh nghiệp của chúng tôi có thể dễ dàng khám phá và xây dựng mô hình ML để đưa ra dự đoán chính xác mà không cần viết bất kỳ mã nào. Với khả năng khởi chạy Studio và Canvas bên trong VPC cũng như việc sử dụng khóa KMS để mã hóa ổ đĩa EFS, khách hàng có thể sử dụng môi trường SageMaker ML với tính bảo mật nâng cao. Cấu hình vòng đời tự động tắt giúp khách hàng tiết kiệm chi phí trên các phiên bản máy tính xách tay Studio không hoạt động.

Hãy thử nghiệm giải pháp này và cho chúng tôi biết suy nghĩ của bạn. Để biết thêm thông tin về cách sử dụng SageMaker Studio và Sagemaker Canvas, hãy xem phần sau:


Lưu ý

chen_yang_awsTrần Dương là Kỹ sư máy học tại Amazon Web Services. Cô là thành viên của nhóm Dịch vụ chuyên nghiệp AWS và đang tập trung vào việc xây dựng môi trường máy học an toàn cho khách hàng. Trong thời gian rảnh rỗi, cô thích chạy bộ và đi bộ đường dài ở vùng Tây Bắc Thái Bình Dương.

Dấu thời gian:

Thêm từ Học máy AWS