RStudio را در محیط AWS خود پیاده سازی کنید و با استفاده از مجوزهای AWS Lake Formation از پلاتوبلاکچین داده های اطلاعاتی به دریاچه داده خود دسترسی پیدا کنید. جستجوی عمودی Ai.

RStudio را در محیط AWS خود پیاده کنید و با استفاده از مجوزهای AWS Lake Formation به دریاچه داده خود دسترسی پیدا کنید.

R یک زبان برنامه نویسی تحلیلی محبوب است که توسط دانشمندان و تحلیلگران داده برای انجام پردازش داده ها، انجام تجزیه و تحلیل های آماری، ایجاد تجسم داده ها، و ساخت مدل های یادگیری ماشین (ML) استفاده می شود. RStudio، محیط توسعه یکپارچه برای R، ابزارهای منبع باز و نرم‌افزار حرفه‌ای آماده سازمانی را برای تیم‌ها فراهم می‌کند تا کار خود را در سازمان خود توسعه دهند و به اشتراک بگذارند.

پیاده‌سازی محیط RStudio در AWS انعطاف‌پذیری و مقیاس‌پذیری را فراهم می‌کند که هنگام استقرار on-prem ندارید، و نیاز به مدیریت آن زیرساخت را از بین می‌برد. می‌توانید محاسبات و حافظه مورد نظر را بر اساس نیازهای پردازش انتخاب کنید و همچنین می‌توانید برای کار با حجم‌های کاری تحلیلی و ML با اندازه‌های مختلف بدون سرمایه‌گذاری اولیه، مقیاس را افزایش یا کاهش دهید. این به شما امکان می‌دهد به سرعت منابع داده و کدهای جدید را آزمایش کنید و فرآیندهای تحلیلی جدید و مدل‌های ML را در اختیار بقیه سازمان قرار دهید. همچنین می‌توانید به‌طور یکپارچه منابع Data Lake خود را ادغام کنید تا آنها را در اختیار توسعه‌دهندگان و دانشمندان داده قرار دهید و با استفاده از کنترل‌های دسترسی در سطح ردیف و ستون، داده‌ها را ایمن کنید. سازند دریاچه AWS.

این پست دو روش برای استقرار و اجرای آسان RStudio در AWS برای دسترسی به داده‌های ذخیره شده در داده‌ها ارائه می‌کند:

  • به طور کامل مدیریت شده است آمازون SageMaker
  • خود میزبانی در ابر محاسبه الاستیک آمازون (Amazon EC2)
    • می‌توانید نسخه منبع باز RStudio را با استفاده از رویکرد میزبانی شده EC2 که در این پست توضیح خواهیم داد، انتخاب کنید. گزینه self-hosted به مدیر نیاز دارد که یک نمونه EC2 ایجاد کند و RStudio را به صورت دستی یا با استفاده از AWS CloudFormation همچنین انعطاف کمتری برای پیاده سازی کنترل های دسترسی کاربر در این گزینه وجود دارد زیرا همه کاربران در این نوع پیاده سازی سطح دسترسی یکسانی دارند.

RStudio در Amazon SageMaker

می توانید RStudio Workbench را با یک کلیک ساده از SageMaker راه اندازی کنید. مشتریان SageMaker مجبور نیستند هزینه عملیاتی ساخت، نصب، ایمن سازی، مقیاس بندی و نگهداری RStudio را متحمل شوند، آنها مجبور نیستند برای سرور RStudio به طور مداوم در حال اجرا (اگر از t3.medium استفاده می کنند) هزینه ای بپردازند و فقط پرداخت می کنند. برای محاسبه RSession زمانی که از آن استفاده می کنند. کاربران RStudio از انعطاف‌پذیری برای مقیاس‌بندی پویا با تغییر نمونه‌ها در حین پرواز برخوردار خواهند بود. اجرای RStudio در SageMaker به یک مدیر نیاز دارد که دامنه SageMaker و پروفایل های کاربر مرتبط را ایجاد کند. شما همچنین به یک مجوز RStudio مناسب نیاز دارید

در SageMaker، می‌توانید در سطح سرپرست RStudio و کاربر RStudio، با مجوزهای متفاوت، دسترسی بدهید. فقط نمایه های کاربری که یکی از این دو نقش را به آنها اختصاص داده است می توانند به RStudio در SageMaker دسترسی داشته باشند. برای کسب اطلاعات بیشتر در مورد وظایف سرپرست برای راه اندازی RStudio در SageMaker، مراجعه کنید با RStudio در Amazon SageMaker شروع کنید. آن پست همچنین روند انتخاب نمونه های EC2 را برای هر جلسه نشان می دهد، و اینکه چگونه مدیر می تواند گزینه های نمونه EC2 را برای کاربران RStudio محدود کند.

شکل 1: نمودار معماری که تعامل سرویس های مختلف AWS را نشان می دهد

از دسترسی امنیتی Lake Formation در سطح ردیف و سطح ستون استفاده کنید

علاوه بر اینکه به تیم خود اجازه می‌دهید جلسات RStudio را در SageMaker راه‌اندازی کند، می‌توانید با استفاده از کنترل‌های دسترسی در سطح ردیف و سطح ستون از Lake Formation، دریاچه داده را نیز ایمن کنید. برای اطلاعات بیشتر مراجعه کنید دریاچه های داده موثر با استفاده از AWS Lake Formation، قسمت 4: پیاده سازی امنیت در سطح سلول و سطح ردیف.

از طریق کنترل‌های امنیتی Lake Formation، می‌توانید مطمئن شوید که هر فرد به داده‌های موجود در دریاچه داده دسترسی مناسبی دارد. دو پروفایل کاربری زیر را در دامنه SageMaker در نظر بگیرید که هر کدام نقش اجرایی متفاوتی دارند:

مشخصات کاربر نقش اجرایی
rstudiouser-fullaccess AmazonSageMaker-ExecutionRole-FullAccess
rstudiouser-limitedaccess AmazonSageMaker-ExecutionRole-LimitedAccess

تصویر زیر نشان می دهد rstudiouser-limitedaccess جزئیات پروفایل

شکل 2: جزئیات نمایه نقش rstudiouser-limitedaccess

شکل 2: جزئیات نمایه نقش rstudiouser-limitedaccess

تصویر زیر نشان می دهد rstudiouser-fullaccess جزئیات پروفایل

شکل 3: جزئیات نمایه نقش rstudiouser-fullaccess

شکل 3: جزئیات نمایه نقش rstudiouser-fullaccess

مجموعه داده استفاده شده برای این پست a مجموعه داده عمومی COVID-19. تصویر زیر نمونه ای از داده ها را نشان می دهد:

شکل 4: مجموعه داده عمومی COVID-19

شکل 4: مجموعه داده عمومی COVID-19

پس از ایجاد نمایه کاربری و اختصاص آن به نقش مناسب، می توانید به Lake Formation دسترسی داشته باشید تا داده ها را با چسب AWS، متادیتا و جدول را ایجاد کنید و به داده های جدول دسترسی بدهید. برای AmazonSageMaker-ExecutionRole-FullAccess نقش، شما اجازه دسترسی به تمام ستون های جدول و برای AmazonSageMaker-ExecutionRole-LimitedAccess، با استفاده از فیلتر داده دسترسی را اعطا می کنید USA_Filter. ما از این فیلتر برای ارائه مجوزهای ستون در سطح ردیف و سطح سلول استفاده می کنیم (به قسمت مراجعه کنید منابع ستون در تصویر زیر).

شکل 5: مجوزهای تشکیل دریاچه AWS برای AmazonSageMaker-ExecutionRole - نقش های دسترسی کامل/محدود

شکل 5: مجوزهای تشکیل دریاچه AWS برای AmazonSageMaker-ExecutionRole - نقش های دسترسی کامل/محدود

همانطور که در تصویر زیر نشان داده شده است، نقش دوم دسترسی محدودی دارد. کاربران مرتبط با این نقش فقط می توانند به آن دسترسی داشته باشند continent, date, total_cases, total_deaths, new_cases, new_deathsو iso_codecolumns.

شکل 6: مجوزهای سطح ستون AWS Lake Formation برای نقش AmazonSageMaker-ExecutionRole-Limited Access

شکل 6: مجوزهای سطح ستون AWS Lake Formation برای نقش AmazonSageMaker-ExecutionRole-Limited Access

با مجوزهای نقش متصل به هر نمایه کاربر، می‌توانیم ببینیم که Lake Formation چگونه مجوزهای مناسب در سطح ردیف و سطح ستون را اعمال می‌کند. می توانید RStudio Workbench را از قسمت باز کنید برنامه را راه اندازی کنید منوی کشویی در لیست کاربران ایجاد شده و انتخاب کنید RStudio.

در اسکرین شات زیر، ما برنامه را به عنوان راه اندازی می کنیم rstudiouser-limitedaccess user.

شکل 7: راه اندازی جلسه RStudio برای کاربر rstudiouser-limitedaccess از کنسول آمازون SageMaker

شکل 7: راه اندازی جلسه RStudio برای کاربر rstudiouser-limitedaccess از کنسول آمازون SageMaker

می توانید صفحه اصلی RStudio Workbench و لیستی از جلسات، پروژه ها و محتوای منتشر شده را مشاهده کنید.

شکل 8: جلسه میز کار R Studio برای کاربر rstudiouser-limitedaccess

شکل 8: جلسه میز کار R Studio برای کاربر rstudiouser-limitedaccess

نام جلسه را برای شروع جلسه در SageMaker انتخاب کنید. Paws را نصب کنید (به راهنمایی قبلی در این پست مراجعه کنید) تا بتوانید به خدمات AWS مناسب دسترسی داشته باشید. اکنون می توانید یک پرس و جو برای کشیدن تمام فیلدها از مجموعه داده از طریق اجرا کنید آمازون آتنا، با استفاده از دستور “SELECT * FROM "databasename.tablename"، و خروجی پرس و جو را در یک ذخیره کنید سرویس ذخیره سازی ساده آمازون سطل (Amazon S3).

شکل 9: اجرای Athena Query در جلسه R Studio

شکل 9: اجرای Athena Query در جلسه R Studio

تصویر زیر فایل های خروجی را در سطل S3 نشان می دهد.

شکل 10: نتایج اجرای پرس و جوی Athena در سطل S3 آمازون

شکل 10: نتایج اجرای پرس و جوی Athena در سطل S3 آمازون

تصویر زیر داده های موجود در این فایل های خروجی را با استفاده از آن نشان می دهد آمازون S3 انتخاب کنید.

شکل 11: بررسی داده های خروجی با استفاده از Amazon S3 Select

شکل 11: بررسی داده های خروجی با استفاده از Amazon S3 Select

فقط داده ها و ستون های ایالات متحده آمریکا، قاره، تاریخ، total_cases, total_deaths, new_cases, new_deathsو iso_code در نتیجه برای نشان داده شده است rstudiouser-limitedaccess کاربر می باشد.

بیایید همان مراحل را برای rstudiouser-fullaccess کاربر می باشد.

شکل 12: راه اندازی جلسه RStudio برای کاربر rstudiouser-fullaccess از Amazon SageMaker Console

شکل 12: راه اندازی جلسه RStudio برای کاربر rstudiouser-fullaccess از Amazon SageMaker Console

می توانید صفحه اصلی RStudio Workbench و لیستی از جلسات، پروژه ها و محتوای منتشر شده را مشاهده کنید.

شکل 13: جلسه میز کار R Studio برای کاربر rstudiouser-fullaccess

شکل 13: جلسه میز کار R Studio برای کاربر rstudiouser-fullaccess

بیایید همان پرس و جو را اجرا کنیم “SELECT * FROM "databasename.tablename" با استفاده از آتنا

شکل 14: اجرای Athena Query در جلسه R Studio

شکل 14: اجرای Athena Query در جلسه R Studio

تصویر زیر فایل های خروجی را در سطل S3 نشان می دهد.

شکل 15: نتایج اجرای پرس و جوی Athena در سطل S3 آمازون

شکل 15: نتایج اجرای پرس و جوی Athena در سطل S3 آمازون

تصویر زیر داده های موجود در این فایل های خروجی را با استفاده از آن نشان می دهد آمازون S3 انتخاب کنید.

شکل 16: بررسی داده های خروجی با استفاده از Amazon S3 Select

شکل 16: بررسی داده های خروجی با استفاده از Amazon S3 Select

همانطور که در این مثال نشان داده شده است rstudiouser-fullaccess کاربر به تمام ستون ها و ردیف های مجموعه داده دسترسی دارد.

میزبانی خود در Amazon EC2

اگر می خواهید آزمایش با نسخه منبع باز RStudio را در AWS شروع کنید، می توانید Rstudio را روی یک نمونه EC2 نصب کنید. این الگوی CloudFormation ارائه شده در این پست، نمونه EC2 را ارائه می کند و RStudio را با استفاده از اسکریپت داده های کاربر نصب می کند. می‌توانید چندین بار الگو را اجرا کنید تا در صورت نیاز چندین نمونه RStudio را ارائه کنید، و می‌توانید از آن در هر منطقه AWS استفاده کنید. پس از استقرار الگوی CloudFormation، یک URL برای دسترسی به RStudio از یک مرورگر وب در اختیار شما قرار می دهد. آمازون EC2 شما را قادر می سازد تا برای مدیریت تغییرات در اندازه داده ها و ظرفیت محاسباتی لازم برای اجرای تجزیه و تحلیل خود، مقیاس را افزایش یا کاهش دهید.

یک جفت کلید-مقدار برای دسترسی ایمن ایجاد کنید

AWS از رمزنگاری کلید عمومی برای ایمن سازی اطلاعات ورود به سیستم EC2 شما استفاده می کند. شما نام جفت کلید را در KeyPair پارامتر هنگام راه اندازی الگوی CloudFormation. سپس در صورت نیاز می توانید از همان کلید برای ورود به نمونه EC2 ارائه شده استفاده کنید.

قبل از اجرای الگوی CloudFormation، مطمئن شوید که جفت کلید آمازون EC2 در حساب AWS که قصد استفاده از آن را دارید دارید. اگر نه رجوع شود یک جفت کلید با استفاده از Amazon EC2 ایجاد کنید برای دستورالعمل ایجاد یک.

الگوی CloudFormation را راه اندازی کنید به کنسول CloudFormation وارد شوید us-east-1 منطقه و راه اندازی پشته را انتخاب کنید.

راه اندازی دکمه پشته

شما باید چندین پارامتر را در قالب CloudFormation وارد کنید:

  • InitialUser و InitialPassword – نام کاربری و رمز عبوری که برای ورود به جلسه RStudio استفاده می کنید. مقادیر پیش فرض هستند rstudio و Rstudio@123بود.
  • InstanceType – نوع نمونه EC2 که روی آن سرور RStudio مستقر می شود. این الگو در حال حاضر همه نمونه‌های خانواده‌های نمونه t2، m4، c4، r4، g2، p2 و g3 را می‌پذیرد و می‌تواند خانواده‌های نمونه دیگر را به راحتی ترکیب کند. مقدار پیش فرض t2.micro است.
  • جفت کلید – جفت کلیدی که برای ورود به نمونه EC2 استفاده می کنید.
  • VpcId و SubnetId - ابر خصوصی مجازی آمازون (Amazon VPC) و زیر شبکه ای که در آن نمونه راه اندازی شود.

پس از وارد کردن این پارامترها، قالب CloudFormation را مستقر کنید. وقتی کامل شد، منابع زیر در دسترس هستند:

  • یک نمونه EC2 با RStudio نصب شده روی آن.
  • نقش IAM با مجوزهای لازم برای اتصال به سایر خدمات AWS.
  • یک گروه امنیتی با قوانینی برای باز کردن پورت 8787 برای سرور RStudio.

وارد RStudio شوید

اکنون شما آماده استفاده از RStudio هستید! برو به خروجی تب برای پشته CloudFormation و مقدار URL RStudio را کپی کنید (در قالب است http://ec2-XX-XX-XXX-XX.compute-1.amazonaws.com:8787/). آن URL را در یک مرورگر وب وارد کنید. این جلسه RStudio شما را باز می کند، که می توانید با استفاده از همان نام کاربری و رمز عبوری که هنگام اجرای الگوی CloudFormation ارائه کرده اید، وارد آن شوید.

دسترسی به خدمات AWS از RStudio

پس از دسترسی به جلسه RStudio، باید بسته R را برای AWS (Paws) نصب کنید. این به شما امکان می دهد به بسیاری از خدمات AWS از جمله خدمات و منابع موجود در دریاچه داده خود متصل شوید. برای نصب Paws کد R زیر را وارد کرده و اجرا کنید:

install.packages("paws")

برای استفاده از یک سرویس AWS، یک کلاینت ایجاد کنید و از آن سرویس گیرنده به عملیات سرویس دسترسی پیدا کنید. هنگام دسترسی به API های AWS، باید اعتبار و منطقه خود را ارائه دهید. Paws اعتبار و منطقه را با استفاده از زنجیره احراز هویت AWS جستجو می کند:

  • کلید دسترسی، کلید مخفی، نشانه جلسه، نمایه یا منطقه به صراحت ارائه شده است
  • متغیرهای محیطی R
  • متغیرهای محیطی سیستم عامل
  • AWS اعتبارنامه ها و فایل های پیکربندی را به اشتراک گذاشت .aws/credentials و .aws/config
  • نقش IAM ظرف
  • به عنوان مثال نقش IAM

از آنجایی که شما در یک نمونه EC2 با نقش IAM پیوست شده اجرا می کنید، Paws به طور خودکار از اعتبارنامه نقش IAM شما برای احراز هویت درخواست های 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"

برای محیط تولید، توصیه می کنیم از راه حل مقیاس پذیر Rstudio استفاده کنید این وبلاگ.

نتیجه

شما یاد گرفتید که چگونه محیط RStudio خود را در AWS مستقر کنید. ما مزایای استفاده از RStudio در Amazon SageMaker و نحوه شروع کار را نشان دادیم. همچنین یاد گرفتید که چگونه به سرعت آزمایش نسخه منبع باز RStudio را با استفاده از نصب خود میزبانی شده با استفاده از Amazon EC2 آغاز کنید. ما همچنین نشان دادیم که چگونه RStudio را در معماری دریاچه داده خود ادغام کنید و کنترل دسترسی دقیق را روی جدول دریاچه داده با استفاده از ویژگی امنیتی Lake Formation در سطح ردیف و سطح سلول پیاده سازی کنید.

در پست بعدی، نحوه کانتینریزه کردن اسکریپت های R و اجرای آنها را با استفاده از آن نشان خواهیم داد AWS لامبدا.


درباره نویسندگان

RStudio را در محیط AWS خود پیاده سازی کنید و با استفاده از مجوزهای AWS Lake Formation از پلاتوبلاکچین داده های اطلاعاتی به دریاچه داده خود دسترسی پیدا کنید. جستجوی عمودی Ai.ونکاتا کامپانا یک معمار ارشد راه حل در تیم خدمات بهداشتی و انسانی AWS است و در ساکرامنتو، کالیفرنیا مستقر است. در این نقش، او به مشتریان بخش عمومی کمک می کند تا با راه حل های معمارانه ای در AWS به اهداف ماموریت خود برسند.

RStudio را در محیط AWS خود پیاده سازی کنید و با استفاده از مجوزهای AWS Lake Formation از پلاتوبلاکچین داده های اطلاعاتی به دریاچه داده خود دسترسی پیدا کنید. جستجوی عمودی Ai.دکتر داون هیسی گرو رهبر تجزیه و تحلیل سلامت عمومی برای تیم ایالتی و محلی خدمات وب آمازون است. در این نقش، او مسئول کمک به سازمان‌های بهداشت عمومی ایالتی و محلی است که خلاقانه در مورد چگونگی دستیابی به چالش‌های تحلیلی و اهداف بلندمدت خود فکر کنند. او کار خود را صرف یافتن راه‌های جدید برای استفاده از داده‌های موجود یا جدید برای حمایت از نظارت و تحقیقات بهداشت عمومی کرده است.

تمبر زمان:

بیشتر از آموزش ماشین AWS