Terapkan RStudio di lingkungan AWS Anda dan akses data lake Anda menggunakan izin AWS Lake Formation PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Terapkan RStudio di lingkungan AWS Anda dan akses data lake Anda menggunakan izin AWS Lake Formation

R adalah bahasa pemrograman analitik populer yang digunakan oleh ilmuwan dan analis data untuk melakukan pemrosesan data, melakukan analisis statistik, membuat visualisasi data, dan membangun model pembelajaran mesin (ML). RStudio, lingkungan pengembangan terintegrasi untuk R, menyediakan alat sumber terbuka dan perangkat lunak profesional siap-perusahaan bagi tim untuk mengembangkan dan membagikan pekerjaan mereka di seluruh organisasi mereka. Namun, membangun, mengamankan, menskalakan, dan memelihara RStudio sendiri, membosankan dan tidak praktis.

Menerapkan lingkungan RStudio di AWS memberikan elastisitas dan skalabilitas yang tidak Anda miliki saat menerapkan di tempat, menghilangkan kebutuhan untuk mengelola infrastruktur tersebut. Anda dapat memilih komputasi dan memori yang diinginkan berdasarkan persyaratan pemrosesan dan juga dapat meningkatkan atau menurunkan skala untuk bekerja dengan beban kerja analitik dan ML dengan ukuran berbeda tanpa investasi di muka. Ini memungkinkan Anda bereksperimen dengan cepat dengan sumber data dan kode baru, serta meluncurkan proses analitik baru dan model ML ke seluruh organisasi. Anda juga dapat mengintegrasikan sumber daya Data Lake dengan mulus agar tersedia bagi pengembang dan Ilmuwan Data serta mengamankan data dengan menggunakan kontrol akses tingkat baris dan tingkat kolom dari Formasi Danau AWS.

Posting ini menyajikan dua cara untuk menyebarkan dan menjalankan RStudio di AWS dengan mudah untuk mengakses data yang disimpan di data lake:

  • Dikelola sepenuhnya pada Amazon SageMaker
  • Dihosting sendiri di Cloud komputasi elastis Amazon (Amazon EC2)
    • Anda dapat memilih untuk menerapkan versi sumber terbuka RStudio menggunakan pendekatan host EC2 yang juga akan kami jelaskan dalam posting ini. Opsi yang dihosting sendiri mengharuskan administrator untuk membuat instans EC2 dan menginstal RStudio secara manual atau menggunakan a Formasi AWS Cloud Ada juga lebih sedikit fleksibilitas untuk menerapkan kontrol akses pengguna dalam opsi ini karena semua pengguna memiliki tingkat akses yang sama dalam jenis implementasi ini.

RStudio di Amazon SageMaker

Anda dapat meluncurkan RStudio Workbench dengan satu klik sederhana dari SageMaker. Dengan SageMaker, pelanggan tidak perlu menanggung biaya operasional membangun, memasang, mengamankan, menskalakan, dan memelihara RStudio, mereka tidak perlu membayar untuk Server RStudio yang terus berjalan (jika mereka menggunakan t3.medium) dan mereka hanya membayar untuk RSession menghitung saat mereka menggunakannya. Pengguna RStudio akan memiliki fleksibilitas untuk menskalakan komputasi secara dinamis dengan mengganti instans dengan cepat. Menjalankan RStudio di SageMaker memerlukan administrator untuk membuat domain SageMaker dan profil pengguna terkait. Anda juga memerlukan lisensi RStudio yang sesuai

Di dalam SageMaker, Anda dapat memberikan akses di tingkat administrator RStudio dan pengguna RStudio, dengan izin yang berbeda. Hanya profil pengguna yang diberikan salah satu dari dua peran ini yang dapat mengakses RStudio di SageMaker. Untuk informasi selengkapnya tentang tugas administrator untuk menyiapkan RStudio di SageMaker, lihat Mulai dengan RStudio di Amazon SageMaker. Posting itu juga menunjukkan proses pemilihan instans EC2 untuk setiap sesi, dan bagaimana administrator dapat membatasi opsi instans EC2 untuk pengguna RStudio.

Gambar1: Diagram Arsitektur yang menunjukkan interaksi berbagai Layanan AWS

Gunakan akses keamanan tingkat baris dan tingkat kolom Formasi Danau

Selain mengizinkan tim Anda untuk meluncurkan sesi RStudio di SageMaker, Anda juga dapat mengamankan data lake dengan menggunakan kontrol akses tingkat baris dan tingkat kolom dari Lake Formation. Untuk informasi lebih lanjut, lihat Data lake yang efektif menggunakan AWS Lake Formation, Bagian 4: Menerapkan keamanan tingkat sel dan tingkat baris.

Melalui kontrol keamanan Lake Formation, Anda dapat memastikan bahwa setiap orang memiliki akses yang benar ke data di data lake. Pertimbangkan dua profil pengguna berikut di domain SageMaker, masing-masing dengan peran eksekusi yang berbeda:

Profil pengguna Peran Eksekusi
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

Tangkapan layar berikut menunjukkan rstudiouser-limitedaccess Profil lengkap.

Gambar 2: Detail profil peran rstudiouser-limitedaccess

Gambar 2: Detail profil peran rstudiouser-limitedaccess

Tangkapan layar berikut menunjukkan rstudiouser-fullaccess Profil lengkap.

Gambar 3: Detail profil peran rstudiouser-akses penuh

Gambar 3: Detail profil peran rstudiouser-akses penuh

Dataset yang digunakan untuk posting ini adalah Kumpulan data publik COVID-19. Tangkapan layar berikut menunjukkan contoh data:

Fig4: Dataset publik COVID-19

Fig4: Dataset publik COVID-19

Setelah Anda membuat profil pengguna dan menetapkannya ke peran yang sesuai, Anda dapat mengakses Formasi Danau untuk merayapi data dengan Lem AWS, buat metadata dan tabel, dan berikan akses ke data tabel. Untuk AmazonSageMaker-ExecutionRole-FullAccess peran, Anda memberikan akses ke semua kolom dalam tabel, dan untuk AmazonSageMaker-ExecutionRole-LimitedAccess, Anda memberikan akses menggunakan filter data USA_Filter. Kami menggunakan filter ini untuk memberikan izin kolom tingkat baris dan tingkat sel (lihat Sumber kolom di tangkapan layar berikut).

Fig5: Izin Formasi AWS Lake untuk AmazonSageMaker-ExecutionRole -Peran Akses Penuh/Terbatas

Fig5: Izin Formasi AWS Lake untuk AmazonSageMaker-ExecutionRole -Peran Akses Penuh/Terbatas

Seperti yang ditunjukkan pada tangkapan layar berikut, peran kedua memiliki akses terbatas. Pengguna yang terkait dengan peran ini hanya dapat mengakses continent, date, total_cases, total_deaths, new_cases, new_deaths, dan iso_codecolumns.

Gbr6: Izin tingkat kolom AWS Lake Formation untuk peran Akses Terbatas AmazonSageMaker-ExecutionRole

Gbr6: Izin tingkat kolom AWS Lake Formation untuk peran Akses Terbatas AmazonSageMaker-ExecutionRole

Dengan izin peran yang dilampirkan ke setiap profil pengguna, kita dapat melihat bagaimana Lake Formation memberlakukan izin tingkat baris dan tingkat kolom yang sesuai. Anda dapat membuka Meja Kerja RStudio dari Luncurkan aplikasi menu tarik-turun di daftar pengguna yang dibuat, dan pilih RStudio.

Pada tangkapan layar berikut, kami meluncurkan aplikasi sebagai rstudiouser-limitedaccess user.

Gbr7: Meluncurkan sesi RStudio untuk pengguna akses terbatas rstudiouser dari Konsol Amazon SageMaker

Gbr7: Meluncurkan sesi RStudio untuk pengguna akses terbatas rstudiouser dari Konsol Amazon SageMaker

Anda dapat melihat halaman beranda RStudio Workbench dan daftar sesi, proyek, dan konten yang dipublikasikan.

Fig8: Sesi R Studio Workbench untuk pengguna akses terbatas rstudiouser

Fig8: Sesi R Studio Workbench untuk pengguna akses terbatas rstudiouser

Pilih nama sesi untuk memulai sesi di SageMaker. Instal Paws (lihat panduan sebelumnya dalam posting ini) sehingga Anda dapat mengakses layanan AWS yang sesuai. Sekarang Anda dapat menjalankan kueri untuk menarik semua bidang dari kumpulan data melalui Amazon Athena, menggunakan perintah โ€œSELECT * FROM "databasename.tablename", dan simpan output kueri dalam Layanan Penyimpanan Sederhana Amazon (Amazon S3).

Fig9: Eksekusi Athena Query di sesi R Studio

Fig9: Eksekusi Athena Query di sesi R Studio

Tangkapan layar berikut menunjukkan file keluaran di ember S3.

Fig10: Hasil eksekusi Athena Query di Amazon S3 Bucket

Fig10: Hasil eksekusi Athena Query di Amazon S3 Bucket

Tangkapan layar berikut menunjukkan data dalam file keluaran ini menggunakan Pilih Amazon S3.

Gbr11: Meninjau data output menggunakan Amazon S3 Select

Gbr11: Meninjau data output menggunakan Amazon S3 Select

Hanya data AS dan kolom benua, tanggal, total_cases, total_deaths, new_cases, new_deaths, dan iso_code ditampilkan dalam hasil untuk rstudiouser-limitedaccess pengguna.

Mari kita ulangi langkah yang sama untuk rstudiouser-fullaccess pengguna.

Fig12: Meluncurkan sesi RStudio untuk pengguna akses penuh rstudiouser dari Konsol Amazon SageMaker

Fig12: Meluncurkan sesi RStudio untuk pengguna akses penuh rstudiouser dari Konsol Amazon SageMaker

Anda dapat melihat halaman beranda RStudio Workbench dan daftar sesi, proyek, dan konten yang dipublikasikan.

Fig13: Sesi R Studio Workbench untuk pengguna rstudiouser-akses penuh

Fig13: Sesi R Studio Workbench untuk pengguna rstudiouser-akses penuh

Mari kita jalankan kueri yang sama โ€œSELECT * FROM "databasename.tablename" menggunakan Athena.

Fig14: Eksekusi Athena Query di sesi R Studio

Fig14: Eksekusi Athena Query di sesi R Studio

Tangkapan layar berikut menunjukkan file keluaran di ember S3.

Fig15: Hasil eksekusi Athena Query di Amazon S3 Bucket

Fig15: Hasil eksekusi Athena Query di Amazon S3 Bucket

Tangkapan layar berikut menunjukkan data dalam file keluaran ini menggunakan Pilih Amazon S3.

Gbr16: Meninjau data output menggunakan Amazon S3 Select

Gbr16: Meninjau data output menggunakan Amazon S3 Select

Seperti yang ditunjukkan dalam contoh ini, rstudiouser-fullaccess pengguna memiliki akses ke semua kolom dan baris dalam kumpulan data.

Dihosting Sendiri di Amazon EC2

Jika Anda ingin mulai bereksperimen dengan versi sumber terbuka RStudio di AWS, Anda dapat menginstal Rstudio pada instans EC2. Template CloudFormation yang disediakan dalam posting ini menyediakan instans EC2 dan menginstal RStudio menggunakan skrip data pengguna. Anda dapat menjalankan template beberapa kali untuk menyediakan beberapa instans RStudio sesuai kebutuhan, dan Anda dapat menggunakannya di Wilayah AWS mana pun. Setelah Anda menerapkan template CloudFormation, ia memberi Anda URL untuk mengakses RStudio dari browser web. Amazon EC2 memungkinkan Anda meningkatkan atau menurunkan skala untuk menangani perubahan ukuran data dan kapasitas komputasi yang diperlukan untuk menjalankan analitik Anda.

Buat pasangan nilai kunci untuk akses aman

AWS menggunakan kriptografi kunci publik untuk mengamankan informasi login untuk instans EC2 Anda. Anda menentukan nama pasangan kunci di KeyPair parameter saat Anda meluncurkan template CloudFormation. Kemudian Anda dapat menggunakan kunci yang sama untuk masuk ke instans EC2 yang disediakan nanti jika diperlukan.

Sebelum Anda menjalankan template CloudFormation, pastikan Anda memiliki pasangan kunci Amazon EC2 di akun AWS yang Anda rencanakan untuk digunakan. Jika tidak, maka rujuk ke Buat pasangan kunci menggunakan Amazon EC2 untuk instruksi untuk membuatnya.

Luncurkan template CloudFormationMasuk ke konsol CloudFormation di us-east-1 Region dan pilih Launch Stack.

Luncurkan tombol tumpukan

Anda harus memasukkan beberapa parameter ke dalam template CloudFormation:

  • Pengguna Awal dan Kata Sandi Awal โ€“ Nama pengguna dan kata sandi yang Anda gunakan untuk masuk ke sesi RStudio. Nilai defaultnya adalah rstudio dan Rstudio@123, Masing-masing.
  • Jenis Instance โ€“ Jenis instans EC2 untuk menyebarkan server RStudio. Template saat ini menerima semua instans dalam keluarga instans t2, m4, c4, r4, g2, p2, dan g3, dan dapat menggabungkan keluarga instans lain dengan mudah. Nilai defaultnya adalah t2.micro.
  • Pasangan Kunci โ€“ Pasangan kunci yang Anda gunakan untuk masuk ke instans EC2.
  • VpcId dan SubnetId - The Amazon Virtual Private Cloud (VPC Amazon) dan subnet untuk meluncurkan instance.

Setelah Anda memasukkan parameter ini, terapkan template CloudFormation. Setelah selesai, sumber daya berikut tersedia:

  • Instans EC2 dengan RStudio terinstal di dalamnya.
  • Peran IAM dengan izin yang diperlukan untuk terhubung ke layanan AWS lainnya.
  • Grup keamanan dengan aturan untuk membuka port 8787 untuk RStudio Server.

Masuk ke RStudio

Sekarang Anda siap menggunakan RStudio! Pergi ke Output tab untuk tumpukan CloudFormation dan salin nilai URL RStudio (dalam format http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). Masukkan URL itu di browser web. Ini akan membuka sesi RStudio Anda, yang dapat Anda masuki menggunakan nama pengguna dan kata sandi yang sama yang Anda berikan saat menjalankan template CloudFormation.

Akses layanan AWS dari RStudio

Setelah Anda mengakses sesi RStudio, Anda harus menginstal Paket R untuk AWS (Paws). Ini memungkinkan Anda terhubung ke banyak layanan AWS, termasuk layanan dan sumber daya di data lake Anda. Untuk menginstal Paws, masukkan dan jalankan kode R berikut:

install.packages("paws")

Untuk menggunakan layanan AWS, buat klien dan akses operasi layanan dari klien tersebut. Saat mengakses AWS API, Anda harus memberikan kredensial dan Wilayah Anda. Paws mencari kredensial dan Wilayah menggunakan rantai otentikasi AWS:

  • Kunci akses, kunci rahasia, token sesi, profil, atau Wilayah yang disediakan secara eksplisit
  • variabel lingkungan R
  • Variabel lingkungan sistem operasi
  • AWS berbagi kredensial dan file konfigurasi di .aws/credentials dan .aws/config
  • Peran IAM penampung
  • Peran IAM instan

Karena Anda menjalankan instans EC2 dengan peran IAM terlampir, Paws secara otomatis menggunakan kredensial peran IAM Anda untuk mengautentikasi permintaan AWS API.

# 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"

Untuk lingkungan produksi, kami merekomendasikan penggunaan solusi Rstudio yang dapat diskalakan yang diuraikan dalam blog ini.

Kesimpulan

Anda telah mempelajari cara menerapkan lingkungan RStudio Anda di AWS. Kami mendemonstrasikan keuntungan menggunakan RStudio di Amazon SageMaker dan bagaimana Anda bisa memulai. Anda juga mempelajari cara cepat mulai bereksperimen dengan versi sumber terbuka RStudio menggunakan penginstalan yang dihosting sendiri menggunakan Amazon EC2. Kami juga mendemonstrasikan cara mengintegrasikan RStudio ke dalam arsitektur data lake Anda dan menerapkan kontrol akses mendetail pada tabel data lake menggunakan fitur keamanan tingkat baris dan tingkat sel dari Lake Formation.

Dalam posting kami berikutnya, kami akan mendemonstrasikan cara mengemas skrip R dan menjalankannya menggunakan AWS Lambda.


Tentang penulis

Terapkan RStudio di lingkungan AWS Anda dan akses data lake Anda menggunakan izin AWS Lake Formation PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Venkata Kampana adalah Arsitek Solusi Senior di tim AWS Health and Human Services dan berbasis di Sacramento, CA. Dalam peran itu, dia membantu pelanggan sektor publik mencapai tujuan misi mereka dengan solusi yang dirancang dengan baik di AWS.

Terapkan RStudio di lingkungan AWS Anda dan akses data lake Anda menggunakan izin AWS Lake Formation PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Dr Dawn Heisey-Grove adalah pemimpin analisis kesehatan masyarakat untuk tim pemerintah negara bagian dan lokal Amazon Web Services. Dalam peran ini, dia bertanggung jawab untuk membantu lembaga kesehatan masyarakat negara bagian dan lokal berpikir kreatif tentang cara mencapai tantangan analitik dan tujuan jangka panjang mereka. Dia menghabiskan karirnya menemukan cara baru untuk menggunakan data yang ada atau baru untuk mendukung pengawasan dan penelitian kesehatan masyarakat.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS