Triển khai RStudio trên môi trường AWS của bạn và truy cập vào kho dữ liệu của bạn bằng cách sử dụng quyền của AWS Lake Formation PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Triển khai RStudio trên môi trường AWS của bạn và truy cập hồ dữ liệu của bạn bằng cách sử dụng các quyền của AWS Lake Formation

R là một ngôn ngữ lập trình phân tích phổ biến được các nhà khoa học và phân tích dữ liệu sử dụng để thực hiện xử lý dữ liệu, tiến hành phân tích thống kê, tạo trực quan hóa dữ liệu và xây dựng mô hình học máy (ML). RStudio, môi trường phát triển tích hợp cho R, cung cấp các công cụ mã nguồn mở và phần mềm chuyên nghiệp sẵn sàng cho doanh nghiệp để các nhóm phát triển và chia sẻ công việc của họ trong toàn bộ tổ chức của họ Tuy nhiên, việc xây dựng, bảo mật, mở rộng và duy trì RStudio là một việc tẻ nhạt và cồng kềnh.

Việc triển khai môi trường RStudio trong AWS cung cấp tính đàn hồi và khả năng mở rộng mà bạn không có khi triển khai tại chỗ, loại bỏ nhu cầu quản lý cơ sở hạ tầng đó. Bạn có thể chọn máy tính và bộ nhớ mong muốn dựa trên các yêu cầu xử lý và cũng có thể tăng hoặc giảm quy mô để làm việc với khối lượng công việc phân tích và ML ở các kích thước khác nhau mà không cần đầu tư trước. Điều này cho phép bạn nhanh chóng thử nghiệm với các nguồn dữ liệu và mã mới, đồng thời triển khai các quy trình phân tích và mô hình ML mới cho phần còn lại của tổ chức. Bạn cũng có thể tích hợp liền mạch các tài nguyên Data Lake của mình để cung cấp chúng cho các nhà phát triển và Nhà khoa học dữ liệu, đồng thời bảo mật dữ liệu bằng cách sử dụng các điều khiển truy cập cấp hàng và cấp cột từ Sự hình thành hồ AWS.

Bài đăng này trình bày hai cách để dễ dàng triển khai và chạy RStudio trên AWS để truy cập dữ liệu được lưu trữ trong hồ dữ liệu:

  • Được quản lý hoàn toàn trên Amazon SageMaker
  • Tự lưu trữ trên Đám mây điện toán đàn hồi Amazon (Amazon EC2)
    • Bạn có thể chọn triển khai phiên bản mã nguồn mở của RStudio bằng cách sử dụng phương pháp tiếp cận được lưu trữ trên máy chủ EC2 mà chúng tôi cũng sẽ mô tả trong bài đăng này. Tùy chọn tự lưu trữ yêu cầu quản trị viên tạo phiên bản EC2 và cài đặt RStudio theo cách thủ công hoặc sử dụng Hình thành đám mây AWS Cũng có ít tính linh hoạt hơn cho việc triển khai các điều khiển truy cập của người dùng trong tùy chọn này vì tất cả người dùng đều có cùng cấp độ truy cập trong kiểu triển khai này.

RStudio trên Amazon SageMaker

Bạn có thể khởi chạy RStudio Workbench bằng một cú nhấp chuột đơn giản từ SageMaker. Với SageMaker, khách hàng không phải chịu chi phí hoạt động của việc xây dựng, cài đặt, bảo mật, mở rộng và duy trì RStudio, họ không phải trả tiền cho Máy chủ RStudio đang chạy liên tục (nếu họ đang sử dụng t3.medium) và họ chỉ phải trả tiền cho tính toán RSession khi họ sử dụng nó. Người dùng RStudio sẽ có thể linh hoạt trong việc mở rộng quy mô tính toán động bằng cách chuyển đổi các phiên bản một cách nhanh chóng. Chạy RStudio trên SageMaker yêu cầu quản trị viên thiết lập miền SageMaker và hồ sơ người dùng được liên kết. Bạn cũng cần có giấy phép RStudio thích hợp

Trong SageMaker, bạn có thể cấp quyền truy cập ở cấp quản trị viên RStudio và cấp người dùng RStudio, với các quyền khác nhau. Chỉ những hồ sơ người dùng được cấp một trong hai vai trò này mới có thể truy cập RStudio trong SageMaker. Để biết thêm thông tin về các tác vụ của quản trị viên để thiết lập RStudio trên SageMaker, hãy tham khảo Bắt đầu với RStudio trên Amazon SageMaker. Bài đăng đó cũng cho thấy quá trình chọn các phiên bản EC2 cho mỗi phiên và cách quản trị viên có thể hạn chế các tùy chọn phiên bản EC2 cho người dùng RStudio.

Hình 1: Sơ đồ kiến ​​trúc cho thấy sự tương tác của các Dịch vụ AWS khác nhau

Sử dụng quyền truy cập bảo mật cấp độ hàng và cấp độ cột của Lake Formation

Ngoài việc cho phép nhóm của bạn khởi chạy các phiên RStudio trên SageMaker, bạn cũng có thể bảo mật hồ dữ liệu bằng cách sử dụng các điều khiển truy cập cấp hàng và cấp cột từ Lake Formation. Để biết thêm thông tin, hãy tham khảo Các hồ dữ liệu hiệu quả bằng cách sử dụng AWS Lake Formation, Phần 4: Triển khai bảo mật cấp độ ô và cấp độ hàng.

Thông qua các biện pháp kiểm soát bảo mật của Lake Formation, bạn có thể đảm bảo rằng mỗi người có quyền truy cập phù hợp vào dữ liệu trong hồ dữ liệu. Hãy xem xét hai hồ sơ người dùng sau trong miền SageMaker, mỗi hồ sơ có một vai trò thực thi khác nhau:

Thông tin người dùng Vai trò thực thi
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

Ảnh chụp màn hình sau đây cho thấy rstudiouser-limitedaccess Chi tiết hồ sơ.

Hình 2: Chi tiết hồ sơ của vai trò truy cập giới hạn hơn

Hình 2: Chi tiết hồ sơ của vai trò truy cập giới hạn hơn

Ảnh chụp màn hình sau đây cho thấy rstudiouser-fullaccess Chi tiết hồ sơ.

Hình 3: Chi tiết hồ sơ của vai trò truy cập rstudiouser-fullaccess

Hình 3: Chi tiết hồ sơ của vai trò truy cập rstudiouser-fullaccess

Tập dữ liệu được sử dụng cho bài đăng này là Bộ dữ liệu công khai COVID-19. Ảnh chụp màn hình sau đây cho thấy một ví dụ về dữ liệu:

Hình 4: Tập dữ liệu công khai COVID-19

Hình 4: Tập dữ liệu công khai COVID-19

Sau khi bạn tạo hồ sơ người dùng và chỉ định nó cho vai trò thích hợp, bạn có thể truy cập vào Lake Formation để thu thập dữ liệu với Keo AWS, tạo siêu dữ liệu và bảng, đồng thời cấp quyền truy cập vào dữ liệu bảng. Cho AmazonSageMaker-ExecutionRole-FullAccess , bạn cấp quyền truy cập vào tất cả các cột trong bảng và cho AmazonSageMaker-ExecutionRole-LimitedAccess, bạn cấp quyền truy cập bằng bộ lọc dữ liệu USA_Filter. Chúng tôi sử dụng bộ lọc này để cung cấp quyền cho cột cấp độ hàng và cấp độ ô (xem phần Tài nguyên trong ảnh chụp màn hình sau).

Hình 5: Quyền của AWS Lake Formation cho các vai trò của AmazonSageMaker-ExecutionRole -Full / Limited Access

Hình 5: Quyền của AWS Lake Formation cho các vai trò của AmazonSageMaker-ExecutionRole -Full / Limited Access

Như được hiển thị trong ảnh chụp màn hình sau, vai trò thứ hai có quyền truy cập hạn chế. Người dùng được liên kết với vai trò này chỉ có thể truy cập vào continent, date, total_cases, total_deaths, new_cases, new_deathsiso_codecolumns.

Hình 6: Quyền ở cấp cột AWS Lake Formation cho vai trò Truy cập có giới hạn của AmazonSageMaker-ExecutionRole-Limited

Hình 6: Quyền ở cấp cột AWS Lake Formation cho vai trò Truy cập có giới hạn của AmazonSageMaker-ExecutionRole-Limited

Với các quyền vai trò được đính kèm với mỗi hồ sơ người dùng, chúng ta có thể thấy cách Lake Formation thực thi các quyền cấp hàng và cấp cột thích hợp. Bạn có thể mở RStudio Workbench từ Chạy chương trình menu thả xuống trong danh sách người dùng đã tạo và chọn RStudio.

Trong ảnh chụp màn hình sau, chúng tôi khởi chạy ứng dụng dưới dạng rstudiouser-limitedaccess user.

Hình 7: Khởi chạy phiên RStudio cho người dùng truy cập hạn chế hơn từ Amazon SageMaker Console

Hình 7: Khởi chạy phiên RStudio cho người dùng truy cập hạn chế hơn từ Amazon SageMaker Console

Bạn có thể xem trang chủ RStudio Workbench và danh sách các phiên, dự án và nội dung đã xuất bản.

Hình 8: Phiên R Studio Workbench cho người dùng truy cập hạn chế hơn

Hình 8: Phiên R Studio Workbench cho người dùng truy cập hạn chế hơn

Chọn tên phiên để bắt đầu phiên trong SageMaker. Cài đặt Paws (xem hướng dẫn trước đó trong bài đăng này) để bạn có thể truy cập các dịch vụ AWS thích hợp. Bây giờ bạn có thể chạy một truy vấn để kéo tất cả các trường từ tập dữ liệu qua amazon Athena, sử dụng lệnh “SELECT * FROM "databasename.tablename"và lưu trữ kết quả truy vấn trong một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) xô.

Hình 9: Thực thi truy vấn Athena trong phiên R Studio

Hình 9: Thực thi truy vấn Athena trong phiên R Studio

Ảnh chụp màn hình sau đây cho thấy các tệp đầu ra trong nhóm S3.

Hình 10: Kết quả thực thi truy vấn Athena trong Amazon S3 Bucket

Hình 10: Kết quả thực thi truy vấn Athena trong Amazon S3 Bucket

Ảnh chụp màn hình sau đây hiển thị dữ liệu trong các tệp đầu ra này bằng cách sử dụng Chọn Amazon S3.

Hình 11: Xem lại dữ liệu đầu ra bằng Amazon S3 Select

Hình 11: Xem lại dữ liệu đầu ra bằng Amazon S3 Select

Chỉ dữ liệu Hoa Kỳ và các cột lục địa, ngày tháng, total_cases, total_deaths, new_cases, new_deathsiso_code được hiển thị trong kết quả cho rstudiouser-limitedaccess người sử dụng.

Hãy lặp lại các bước tương tự cho rstudiouser-fullaccess người sử dụng.

Hình 12: Khởi chạy phiên RStudio cho người dùng truy cập đầy đủ hơn từ Amazon SageMaker Console

Hình 12: Khởi chạy phiên RStudio cho người dùng truy cập đầy đủ hơn từ Amazon SageMaker Console

Bạn có thể xem trang chủ RStudio Workbench và danh sách các phiên, dự án và nội dung đã xuất bản.

Hình 13: Phiên làm việc R Studio Workbench cho người dùng truy cập nhiều hơn-fullaccess

Hình 13: Phiên làm việc R Studio Workbench cho người dùng truy cập nhiều hơn-fullaccess

Hãy chạy cùng một truy vấn “SELECT * FROM "databasename.tablename" sử dụng Athena.

Hình 14: Thực thi truy vấn Athena trong phiên R Studio

Hình 14: Thực thi truy vấn Athena trong phiên R Studio

Ảnh chụp màn hình sau đây cho thấy các tệp đầu ra trong nhóm S3.

Hình 15: Kết quả thực thi truy vấn Athena trong Amazon S3 Bucket

Hình 15: Kết quả thực thi truy vấn Athena trong Amazon S3 Bucket

Ảnh chụp màn hình sau đây hiển thị dữ liệu trong các tệp đầu ra này bằng cách sử dụng Chọn Amazon S3.

Hình 16: Xem lại dữ liệu đầu ra bằng Amazon S3 Select

Hình 16: Xem lại dữ liệu đầu ra bằng Amazon S3 Select

Như được hiển thị trong ví dụ này, rstudiouser-fullaccess người dùng có quyền truy cập vào tất cả các cột và hàng trong tập dữ liệu.

Tự lưu trữ trên Amazon EC2

Nếu bạn muốn bắt đầu thử nghiệm với phiên bản nguồn mở của RStudio trên AWS, bạn có thể cài đặt Rstudio trên một phiên bản EC2. Mẫu CloudFormation được cung cấp trong bài đăng này cung cấp phiên bản EC2 và cài đặt RStudio bằng cách sử dụng tập lệnh dữ liệu người dùng. Bạn có thể chạy mẫu nhiều lần để cung cấp nhiều phiên bản RStudio nếu cần và bạn có thể sử dụng nó ở bất kỳ Vùng AWS nào. Sau khi bạn triển khai mẫu CloudFormation, nó cung cấp cho bạn một URL để truy cập RStudio từ trình duyệt web. Amazon EC2 cho phép bạn tăng hoặc giảm quy mô để xử lý các thay đổi về kích thước dữ liệu và khả năng tính toán cần thiết để chạy phân tích của bạn.

Tạo một cặp khóa-giá trị để truy cập an toàn

AWS sử dụng mật mã khóa công khai để bảo mật thông tin đăng nhập cho phiên bản EC2 của bạn. Bạn chỉ định tên của cặp khóa trong KeyPair khi bạn khởi chạy mẫu CloudFormation. Sau đó, bạn có thể sử dụng cùng một khóa để đăng nhập vào phiên bản EC2 được cung cấp sau này nếu cần.

Trước khi bạn chạy mẫu CloudFormation, hãy đảm bảo rằng bạn có cặp khóa Amazon EC2 trong tài khoản AWS mà bạn định sử dụng. Nếu không, hãy tham khảo Tạo cặp khóa bằng Amazon EC2 để được hướng dẫn tạo một cái.

Khởi chạy mẫu CloudFormationĐăng nhập vào bảng điều khiển CloudFormation trong us-east-1 Khu vực và chọn Khởi chạy ngăn xếp.

Khởi chạy nút ngăn xếp

Bạn phải nhập một số tham số vào mẫu CloudFormation:

  • InitialUser và InitialPassword - Tên người dùng và mật khẩu mà bạn sử dụng để đăng nhập vào phiên RStudio. Các giá trị mặc định là rstudioRstudio@123, Tương ứng.
  • Loại phiên bản - Loại phiên bản EC2 để triển khai máy chủ RStudio. Mẫu hiện chấp nhận tất cả các phiên bản trong các họ cá thể t2, m4, c4, r4, g2, p2 và g3 và có thể kết hợp các họ cá thể khác một cách dễ dàng. Giá trị mặc định là t2.micro.
  • Cặp chìa khóa - Cặp khóa bạn sử dụng để đăng nhập vào phiên bản EC2.
  • VpcId và SubnetId - Đám mây riêng ảo Amazon (Amazon VPC) và mạng con để khởi chạy phiên bản.

Sau khi bạn nhập các thông số này, hãy triển khai mẫu CloudFormation. Khi quá trình hoàn tất, các tài nguyên sau sẽ có sẵn:

  • Một phiên bản EC2 với RStudio được cài đặt trên đó.
  • Vai trò IAM với các quyền cần thiết để kết nối với các dịch vụ AWS khác.
  • Một nhóm bảo mật với các quy tắc để mở cổng 8787 cho Máy chủ RStudio.

Đăng nhập RStudio

Bây giờ bạn đã sẵn sàng để sử dụng RStudio! Đi đến Kết quả đầu ra cho ngăn xếp CloudFormation và sao chép giá trị URL RStudio (nó ở định dạng http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Nhập URL đó vào trình duyệt web. Thao tác này sẽ mở phiên RStudio của bạn, bạn có thể đăng nhập bằng cùng tên người dùng và mật khẩu mà bạn đã cung cấp trong khi chạy mẫu CloudFormation.

Truy cập các dịch vụ AWS từ RStudio

Sau khi bạn truy cập phiên RStudio, bạn nên cài đặt Gói R cho AWS (Paws). Điều này cho phép bạn kết nối với nhiều dịch vụ AWS, bao gồm các dịch vụ và tài nguyên trong hồ dữ liệu của bạn. Để cài đặt Paws, hãy nhập và chạy mã R sau:

install.packages("paws")

Để sử dụng dịch vụ AWS, hãy tạo một ứng dụng khách và truy cập các hoạt động của dịch vụ từ ứng dụng khách đó. Khi truy cập các API AWS, bạn phải cung cấp thông tin đăng nhập và Khu vực của mình. Paws tìm kiếm thông tin đăng nhập và Khu vực bằng chuỗi xác thực AWS:

  • Khóa truy cập, khóa bí mật, mã thông báo phiên, hồ sơ hoặc Khu vực được cung cấp rõ ràng
  • R biến môi trường
  • Các biến môi trường hệ điều hành
  • AWS đã chia sẻ thông tin đăng nhập và tệp cấu hình trong .aws/credentials.aws/config
  • Vai trò IAM vùng chứa
  • Vai trò IAM phiên bản

Vì bạn đang chạy trên phiên bản EC2 có vai trò IAM đính kèm, Paws tự động sử dụng thông tin đăng nhập vai trò IAM của bạn để xác thực các yêu cầu API AWS.

# To interact with an Amazon S3 service, first create an S3 client then list the objects within your bucket by invoking: rstudio-XXXXXXXXXX
s3 <- paws::s3(config = list(region = 'us-east-1'))s3$list_objects(Bucket = "rstudio-XXXXXXXXXX")
# Let’s see how we can interactively query data from your data lake using Amazon Athena.
athena <- paws::athena(config = list(region = 'us-east-1'))
athena$start_query_execution(QueryString = "SELECT * FROM "databasename.tablename" limit 10;",QueryExecutionContext = list(Database = "databasename", Catalog = "catalogname"),ResultConfiguration = list(OutputLocation = "S3 Bucket",EncryptionConfiguration = list(EncryptionOption = "SSE_S3")), WorkGroup = "workgroup name")
$QueryExecutionId[1] 
"17ccec8a-d196-4b4c-b31c-314fab8939f3"

Đối với môi trường sản xuất, chúng tôi khuyên bạn nên sử dụng giải pháp Rstudio có thể mở rộng được nêu trong blog này.

Kết luận

Bạn đã học cách triển khai môi trường RStudio của mình trong AWS. Chúng tôi đã trình bày những lợi thế của việc sử dụng RStudio trên Amazon SageMaker và cách bạn có thể bắt đầu. Bạn cũng đã học cách nhanh chóng bắt đầu thử nghiệm với phiên bản mã nguồn mở của RStudio bằng cách sử dụng cài đặt tự lưu trữ bằng Amazon EC2. Chúng tôi cũng đã trình bày cách tích hợp RStudio vào kiến ​​trúc hồ dữ liệu của bạn và triển khai kiểm soát truy cập chi tiết trên bảng hồ dữ liệu bằng cách sử dụng tính năng bảo mật cấp độ hàng và cấp độ ô của Lake Formation.

Trong bài đăng tiếp theo của chúng tôi, chúng tôi sẽ trình bày cách chứa các tập lệnh R và chạy chúng bằng cách sử dụng AWS Lambda.


Giới thiệu về tác giả

Triển khai RStudio trên môi trường AWS của bạn và truy cập vào kho dữ liệu của bạn bằng cách sử dụng quyền của AWS Lake Formation PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Venkata Kampana là Kiến trúc sư Giải pháp Cấp cao trong nhóm Dịch vụ Nhân sinh và Sức khỏe AWS và có trụ sở tại Sacramento, CA. Với vai trò đó, anh ấy giúp khách hàng khu vực công đạt được mục tiêu sứ mệnh của họ bằng các giải pháp được kiến ​​trúc tốt trên AWS.

Triển khai RStudio trên môi trường AWS của bạn và truy cập vào kho dữ liệu của bạn bằng cách sử dụng quyền của AWS Lake Formation PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Tiến sĩ Dawn Heisey-Grove là trưởng nhóm phân tích sức khỏe cộng đồng cho nhóm chính quyền địa phương và tiểu bang của Amazon Web Services. Trong vai trò này, cô ấy chịu trách nhiệm giúp các cơ quan y tế công cộng của tiểu bang và địa phương suy nghĩ một cách sáng tạo về cách đạt được những thách thức về phân tích và các mục tiêu dài hạn của họ. Cô ấy đã dành cả sự nghiệp của mình để tìm ra những cách mới để sử dụng dữ liệu hiện có hoặc dữ liệu mới để hỗ trợ nghiên cứu và giám sát sức khỏe cộng đồng.

Dấu thời gian:

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