今日は私達 Amazon SageMaker で RStudio を発表、R で作業するデータ サイエンティスト向けのクラウド初の機械学習 (ML) 統合開発環境 (IDE) です。オープンソース言語 R そしてその豊かなエコシステムには、 18,000パッケージ は、統計学者、クオンツ アナリスト、データ サイエンティスト、ML エンジニアにとって最優先の選択肢となっています。 SageMaker の RStudio を使用すると、データ サイエンティストは、コンピューティング インフラストラクチャを気にすることなく、チームの一元化された環境で統計分析の実行、ML モデルの構築、データ サイエンス コンテンツの作成を簡単に行うことができます。
R 開発者向けの RStudio スイートの一部としての RStudio Workbench に加えて、RStudio Connect および RStudio Package Manager があります。 RStudio コネクト データ サイエンティストの複雑な作業から ML とデータ サイエンスの洞察を簡単に表面化し、意思決定者の手に委ねることができます。 RStudio Connect は、データ サイエンティストが分析情報、ダッシュボード、Web アプリケーションを公開できるように設計されています。 RStudio Connect を使用すると、コンテンツのホスティングと管理がシンプルになり、幅広い利用に合わせて拡張可能になります。
RStudioパッケージマネージャー ML チームや組織全体で R パッケージを整理し、一元化するのに役立ちます。データ サイエンティストが ML モデルを開発する際には、RStudio での ML ユースケースにさまざまな機能を備えたさまざまなパッケージが必要になります。企業ユーザーがこれらのパッケージのソースとバージョン、および多数のパブリック リポジトリを手動で管理すると、エラーが発生しやすく、時間もかかります。 RStudio パッケージ マネージャーは、組織のパッケージ リポジトリを一元管理することでこれらの問題を軽減し、データ サイエンティストがパッケージを迅速かつ安全にインストールし、プロジェクトの再現性と再現性を確保できるようにします。医療や金融などの規制された業界では、セキュリティと再現性が最も重要な側面です。
この投稿では、まず、AWS で適切に設計されたソリューションを使用して RStudio Connect と RStudio Package Manager を設計およびデプロイする方法を説明します。次に、SageMaker 上の RStudio から RStudio Connect と RStudio Package Manager を使用する方法を説明します。私たちは、 UCI 乳がんデータセット SageMaker 上の RStudio で R 言語でいくつかのタイプの ML コンテンツを構築します。この投稿でデモする ML コンテンツには、R Markdown と R Shiny アプリケーションが含まれています
ソリューションの概要
ソリューション アーキテクチャは、RStudio Connect および RStudio Package Manager Docker コンテナのプロフェッショナル バージョンに基づいています。 RStudio Connect と RStudio Package Manager は 2 つにわたって構成されます アベイラビリティーゾーン 高可用性を実現します。 RStudio Connect コンテナと RStudio Package Manager コンテナは両方とも、コンテナ内の受信リクエスト数、メモリ、CPU 使用率に応じて受信トラフィックを処理するための自動スケーリングをサポートしています。
コンテナイメージは保存され、そこから取得されます。 Amazon エラスティック コンテナ レジストリ (Amazon ECR) 脆弱性スキャンが有効になっています。イメージを展開する前に、脆弱性の問題に対処する必要があります。
ソリューション ワークフローの手順は次のとおりです。
- R ユーザーは、RStudio Connect および RStudio Package Manager にアクセスします。 アマゾンルート53。 Route 53 は、受信リクエスト用の DNS サービスです。
- Route 53 は受信リクエストを解決し、それらを次の宛先に転送します。 AWS WAF セキュリティチェック用。
- 有効なリクエストは、 アプリケーションロードバランサー (ALB)、これらを Amazon エラスティック コンテナ サービス (Amazon ECS) クラスター。 ALB は、HTTPS 証明書の受信リクエストをチェックします。HTTPS 証明書は、ALB によって発行および検証されます。 AWS証明書マネージャー.
- Amazon ECS は、クラスター内のコンテナーを制御します。 アマゾン エラスティック コンピューティング クラウド (Amazon EC2) インスタンス (EC2 起動タイプ) オートスケーリンググループ また、必要に応じてコンテナーの数をスケールアップおよびスケールダウンする役割を担います。 Amazon ECS キャパシティプロバイダー.
- 受信リクエストは、利用可能な RStudio Connect コンテナのいずれかにある RStudio Connect サーバーによって処理されます。ユーザーが認証され、アプリケーションが Web ブラウザー上でレンダリングされます。 RStudio パッケージ マネージャーのリクエストは、パッケージ マネージャー コンテナーにルーティングされます。
- Amazon Auroraサーバーレス PostgreSQL データベースは、RStudio Connect と RStudio Package Manager の両方に複数のコンテナを利用して高可用性を提供するために使用されます。 Aurora はサーバーレスクラスターデータベースを自動的にバックアップします。 Aurora 上のデータは保存時に次の方法で暗号化されます。 AWSキー管理サービス (AWS KMS)。
- AmazonElasticファイルシステム (Amazon EFS) は、RStudio Connect および RStudio Package Manager に必要な永続ファイル システムを提供します。 Amazon EFS 上のデータは、AWS KMS を使用して保存時に暗号化されます。 Amazon EFS は、データを複数のアベイラビリティーゾーンに保存する NFS ファイルシステムです。 AWSリージョン データの耐久性と高可用性を実現します。 RStudio Connect および RStudio Package Manager コンテナの Amazon EFS マウントで作成されたファイルは、Amazon EFS によって自動的にバックアップされます。
- ユーザー セッションがパブリック インターネットと通信する場合、アウトバウンド リクエストは NATゲートウェイ プライベートコンテナサブネットから。
- NAT ゲートウェイは、アウトバウンド要求を送信して処理されます。 インターネットゲートウェイ。インターネットへのルートは次の方法でも設定できます。 AWS トランジット ゲートウェイ。
を使用しております AWSクラウド開発キット (AWS CDK) Python がインフラストラクチャ コードを開発し、コードを AWS コードコミット リポジトリなので、 AWS コードパイプライン 自動ビルドのために AWS CDK スタックを統合できます。
デプロイメントコードは以下を利用します Route 53 パブリックホストゾーン パブリックにアクセス可能な URL で RStudio Connect および RStudio Package Manager をサービスします。使用できます Route 53 プライベートホストゾーン 内部 ALB を備えた RStudio Connect および RStudio Package Manager コンテナの場合、VPC のみの接続モードで SageMaker 上の RStudio からアクセスするユーザーにプライベート エンドポイントを提供します。これは、AWS アカウントに既存のパブリック ドメインが必要ないことを意味します。ただし、パブリック Docker イメージを取得する必要があります (RStudio コネクト, RStudioパッケージマネージャー) それらをプライベート Amazon ECR リポジトリに保存し、デプロイメント コードがインフラストラクチャ構築用のそれらのイメージを指すようにします。
AWS サービス間のすべての通信を AWS 内に留める必要がある場合は、次のように使用できます。 AWS プライベートリンク AWS サービスの VPC エンドポイントを構成します。 AWS PrivateLink は、サービス間トラフィックが AWS サービス エンドポイントのインターネットに公開されないようにします。
を参照することもできます RStudio RStudio チーム ソリューション この投稿で説明したソリューションの代替として、AWS の Amazon EC2 に RStudio テクノロジー スタックをデプロイする方法を学びます。
前提条件
ソース コードから AWS CDK スタックをデプロイするには、付属のセクションで説明されている前提条件を確認して実行する必要があります。 GitHubリポジトリ 続行するために必要なリソースがあることを確認します。
ソリューションを起動する
- クローン GitHubリポジトリ、チェックアウト RSC-RSPM ブランチをクリックし、aws-fargate-with-rstudio-open-source フォルダーに移動します。
- CodeCommitリポジトリを作成する 次のコマンドを使用して、RStudio Connect/RStudio Package Manager をインストールするためのソース コードを保持します。
- 必要なパラメータを渡します cdk.json のステップ 3 に続いて、 インストール手順 のセクション README ファイルにソフトウェアを指定する必要があります。
- インストール パッケージ要件 AWS CDK アプリケーションの場合:
- コードを CodeCommit リポジトリにコミットする前に、AWS CDK スタックを合成します。これにより、必要なすべてのコンテキスト値が確実に
cdk.context.json
ファイルに保存され、ダミー値がマップされるのを回避します。 - 作成した CodeCommit リポジトリに変更をコミットします。 「」のステップ 5 に従います。 インストール手順 Git コマンドのヘルプが必要な場合は、readme を参照してください。
- CodePipeline を使用して AWS CDK スタックをデプロイし、RStudio Connect/RStudio Package Manager をインストールします。このステップには約 30 分かかります。
- に移動します CodePipeline コンソール (リンクをクリックすると、
us-west-2
地域)。パイプラインを監視し、サービスが正常に構築されていることを確認します。
パイプライン名は RSC-RSPM-App-Pipeline-<instance>
。この時点から、作成した CodeCommit リポジトリへのコミットでパイプラインがトリガーされます。走る必要はありません cdk deploy
(ステップ7)はもう行いません。
- パイプラインのインストールが完了すると、次の URL を使用して RStudio Connect および RStudio Package Manager にアクセスできます。
r53_base_domain
,instance
渡したパラメータです cdk.json:https://connect.<instance>.<r53_base_domain>
https://package.<instance>.<r53_base_domain>
- あなたが使用することができます Amazon ECS 幹部 RStudio Connect コンテナと RStudio Package Manager コンテナの両方にログインします。フォローしてください README 手順を参照してください。
RStudio パッケージ マネージャーでパッケージを管理する
RStudio パッケージ マネージャーは、組織全体で R パッケージの一貫性と標準化を実現するのに役立ちます。 RStudio パッケージ マネージャーでは、IT 管理者は承認されたパッケージをリポジトリに含めることができます。複数のグループを作成して、異なるパッケージまたはパッケージ バージョンにアクセスできます。 RStudio パッケージ マネージャーは、パッケージのすべての更新とバージョン管理も処理します。管理者は、パッケージの自動更新を有効にしたり、パッケージを手動でのみ更新できるように RStudio パッケージ マネージャーを構成したりすることもできます。これにより、RStudio パッケージ マネージャーと CRAN サービスの間の分離が強化されます。
RStudio パッケージ マネージャーを構成する
RStudio CRAN からパッケージをプルするリポジトリを作成するには、 次のコマンド。これらのコマンドを実行するには、Amazon ECS Exec を使用して RStudio Package Manager に SSH 接続する必要があります。
このコマンドはリポジトリを作成し、それを名前付きの組み込みソースにサブスクライブします。 cran
。これが完了すると、 dev-cran
次のスクリーンショットに示すように、リポジトリは RStudio パッケージ マネージャーの Web インターフェイスで利用できます。この Web インターフェイスには、管理者だけでなく、その URL を知っているユーザーもアクセスできます。
CRAN パッケージの提供に加えて、リポジトリを作成して、ローカル パッケージ、Git パッケージ、CRAN パッケージを含むローカル パッケージ、承認された CRAN およびローカル パッケージのサブセット、GitHub の最新パッケージを配布することができます。リポジトリの作成方法の詳細については、「 CRAN パッケージの提供。さらに、RStudio パッケージ マネージャーは以下をサポートします。 バイオコンダクター。 Bioconductor は、ライフ サイエンスで一般的に使用される R パッケージのエコシステムです。 RStudio Package Manager のローカル パッケージだけでなく、Bioconductor パッケージを CRAN と組み合わせることができます。
RStudio パッケージ マネージャーのパッケージ バージョン
RStudio パッケージ マネージャーの Web インターフェイスで、 タブでは、カレンダー ビューで日付別にリポジトリを選択できます。次のスクリーンショットに示すように、最新バージョンのパッケージを使用するか、パッケージを特定のスナップショットに固定するかを選択することもできます。
ソフトウェア設定ページで、下図のように タブでは、リポジトリのパッケージに必要なシステム前提条件と、それらをインストールするためのコマンドも確認できます。
RStudio Connect および RStudio Package Manager を使用するように SageMaker ドメインで RStudio を構成する
RStudio を使用して SageMaker ドメインを作成する場合、SageMaker ドメイン内のすべてのユーザーに対してデフォルトの RStudio Connect サーバーと RStudio Package Manager リポジトリを設定するオプションがあります。 SageMaker ドメインの作成プロセス中、詳細については、 RStudio で SageMaker ドメインを作成する のセクション Amazon SageMaker での RStudio の使用開始では、すべてのユーザー プロファイルに対してデフォルトの RStudio Connect および RStudio Package Manager URL を設定できます。 ステップ 3: RStudio の設定。 のために RStudio コネクト、RStudio Connect サーバーの URL を入力します。のために RStudioパッケージマネージャー、CRAN または Bioconductor リポジトリに入ります。
デフォルトの URL は次の場所に設定され、保存されます。 /etc/rstudio/rsession.conf
SageMaker 上の RStudio のすべてのユーザーが対象です。 R コンソールでデフォルトのリポジトリを確認するには、次のようにします。 options('repos')
。 RStudio パッケージ マネージャーを指すリポジトリが表示されるはずです。デフォルトの RStudio Connect URL については、R コンテンツをワンクリックで公開すると、自動的に入力されます。
R セッションで RStudio パッケージ マネージャーからリポジトリを更新する
SageMaker 上で動作する RStudio がすでにあり、別のリポジトリを使用したい場合は、次の手順で RStudio パッケージ マネージャーのリポジトリを使用するように SageMaker 上の RStudio で R セッションを設定できます。
- R セッションでは、 ツール メニュー、選択 グローバルオプション.
- 選択する パッケージ それから、 変更する.
- カスタム フィールドに、選択したリポジトリの URL を入力します ( RStudio パッケージ マネージャー Web インターフェイスのタブ)、選択します OK.
- 選択する OK もう一度行って完了です。
これで、RStudio にインストールするパッケージは、RStudio パッケージ マネージャー サーバーから選択したリポジトリから取得されます。次のようにして確認できます options('repos')
または、パッケージをインストールして、どこからプルされているかを確認します。詳細については、を参照してください。 成功したかどうかの確認.
R セッションで RStudio Connect アカウントを更新する
SageMaker 上で動作する RStudio がすでにあり、デフォルトとは異なる RStudio Connect サーバーを使用したい場合は、次の手順を実行します。
- ソフトウェア設定ページで、下図のように ツール メニュー、選択 グローバルオプション.
- 選択する 出版.
- 選択する お問合せ.
- 選択する RStudio コネクト.
- たとえば、サーバーのパブリック URL を入力します。
https://xxxx.rstudioconnect.com
、選択して Next.
初めての場合は、アカウントでログインするように求める新しいページが表示されます。
- 選択する お問合せ をクリックして次に進みます。
- 選択する アカウントを接続する RStudio のダイアログ内。
RStudio Connect ユーザー プロファイルとサーバー URL がリストに表示されるはずです。
詳細については、を参照してください。 RStudio アカウントを接続する, 接続: RStudio IDE.
これで、RStudio Connect サーバーが Amazon SageMaker 上の RStudio に正常に接続されました。素晴らしいコンテンツを構築して公開する準備ができています。
Amazon SageMaker 上の RStudio で ML コンテンツを構築する
Amazon SageMaker の RStudio 内で分析を簡単に作成し、ボタンを押すだけで RStudio Connect に公開して、共同作業者が分析を利用できるようにすることができます。この投稿では、 UCI 乳がんデータセット から mlbench
パブリケーションの一般的な使用例のいくつかを説明します: R Markdown と Shiny アプリ。
Rマークダウン
R Markdown は、マークダウン ファイルの一部として R で分析を実行し、RStudio Connect で共有するための優れたツールです。で rsconnect_rmarkdown/breast_cancer_eda.Rmd
では、2 つの簡単な分析を実行し、マークダウンのテキストとともにデータセット上でプロットします。
を選択するとファイルをプレビューできます ニット を選択して RStudio Connect に公開します。 パブリッシュ.
R Markdown のほかに、Shiny を使用してインタラクティブなアプリケーションやダッシュボードを構築することもよくあります。 Amazon SageMaker 上の RStudio から RStudio Connect に Shiny アプリを公開する方法を見てみましょう。
光沢のあるアプリケーション
シャイニー は、対話型 Web アプリケーションをプログラムで簡単に作成できるようにする R パッケージです。データ サイエンティストの間では、分析やモデルを Shiny アプリケーションを通じて関係者と共有することが一般的です。で rsconnect_shiny/breast-cancer-app/
で ML モデルを開発します。 breast_cancer_modeling.r
ユーザーがデータと ML モデルを操作できるようにする Web アプリケーションを作成します。
公開するには、開きます app.R
選択して パブリッシュ。 両方を選択 app.R
および breast_cancer_modeling.r
公開します。
アプリケーションでは、プロット内で視覚化する 2 つの特徴を変更し、プロット内のデータ ポイントを選択して実際のデータを確認し、癌の良性か悪性かを予測することができます。確率のしきい値をスライドさせることで、モデルを操作し、異なる分類カウントを取得できます。次のスクリーンショットで、実際に動作しているダッシュボードを確認できます。
まとめ
この投稿では、AWS CDK を使用して、AWS Fargate と Amazon ECS に基づくアーキテクチャで AWS に RStudio Connect サーバーと RStudio Package Manager サーバーをデプロイする方法を説明しました。クラウドで実行されている RStudio Connect と RStudio Package Manager を使用して、Amazon SageMaker 上の RStudio からそれらを使用する方法を説明しました。次に、乳がん予測のユースケースに基づいて、R Markdown や Shiny アプリケーションなどの R ベースのマテリアルを RStudio Connect インスタンスにデプロイする方法をデモンストレーションしました。
クラウドに RStudio Connect インスタンスを配置すると、ML チームとデータ サイエンス チームがより効果的に連携できるようになるだけでなく、利害関係者やビジネス ユニット間で ML の洞察を共有するのもはるかに簡単になります。これにより、組織内での ML の使用が促進され、ビジネスの成果が向上します。 RStudio Package Manager を使用すると、信頼できるソースから R パッケージを迅速かつ安全に管理、提供、インストールして、プロジェクトの再現性を確保できます。
データ サイエンティストの観点から、SageMaker 上の RStudio について詳しくは、投稿をご覧ください。 データサイエンティスト向けのAmazonSageMakerでフルマネージドRStudioを発表。 SageMaker で RStudio をセットアップして管理する方法については、投稿で詳しく学ぶことができます。 Amazon SageMaker で RStudio を使ってみる。クラウドにおける最初の ML 用 IDE である Amazon SageMaker Studio の詳細については、以下を参照してください。 Amazon SageMakerスタジオ.
著者について
マイケル・シェイ シニア AI/ML スペシャリスト ソリューション アーキテクトです。彼は、Amazon Machine Learning の製品と彼の ML ドメインの知識を組み合わせて、顧客と協力して ML の旅を進めています。シアトルに移住した彼は、ハイキング コース、SLU での風景カヤック、シルホール湾の夕日など、この地域が提供する素晴らしい母なる自然を探索するのが大好きです。
チャヤンパンダ クラウド インフラストラクチャ アーキテクトです。彼は、クラウド移行、クラウドインフラストラクチャ (セキュリティ、ネットワーク、DevOps)、グリーンフィールドプラットフォーム実装、ビッグデータ/AI/ML、サーバーレスおよびデータベースソリューションのための堅牢なソリューション設計に関して、AWS の顧客にアドバイザリーサービスとソートリーダーシップを提供しています。顧客に執着していないときは、家族との短いランニング、音楽、本、旅行を楽しんでいます。
ファルーク・サビール シニア AI/ML スペシャリスト ソリューション アーキテクトです。彼は、データ サイエンス、機械学習、人工知能を使用して顧客がビジネス上の問題を解決できるよう支援しています。
- '
- 000
- 100
- 7
- 9
- アクセス
- Action
- アドバイザリー
- すべて
- Amazon
- Amazon EC2
- アマゾン機械学習
- アマゾンセージメーカー
- 間で
- 分析
- アプリ
- 申し込み
- アプリ
- 建築
- 周りに
- 人工知能
- オーロラ
- 自動化
- 賃貸条件の詳細・契約費用のお見積り等について
- AWS
- ベイ
- ブラック
- 出血エッジ
- 乳癌
- ブラウザ
- ビルド
- 建物
- ビジネス
- カレンダー
- 癌
- 容量
- 例
- 証明書
- 変化する
- 小切手
- 分類
- クラウド
- クラウドインフラ
- コード
- 到来
- コマンドと
- 通信部
- 計算
- 接続性
- 消費する
- 消費
- コンテナ
- コンテナ
- コンテンツ
- 作成
- Customers
- ダッシュボード
- データ
- データサイエンス
- データベース
- データベースを追加しました
- 設計
- 開発する
- 開発者
- 開発
- DevOps
- DNS
- デッカー
- エコシステム
- エッジ(Edge)
- エンジニア
- Enterprise
- 環境
- 家族
- 特徴
- ファイナンス
- 名
- 初回
- フリーズ
- GIF
- Gitの
- GitHubの
- 素晴らしい
- ヘルスケア
- ハイ
- ハイキング
- ホスティング
- 認定条件
- How To
- HTTPS
- ICS
- 産業
- 情報
- インフラ関連事業
- 洞察
- インテリジェンス
- 相互作用的
- インターネット
- 分離
- 問題
- IT
- キー
- 知識
- 言語
- 最新の
- 起動する
- リーダーシップ
- LEARN
- 学習
- 生命科学
- LINK
- リスト
- 負荷
- ローカル
- 機械学習
- 管理
- 材料
- ML
- 母
- 音楽を聴く際のスピーカーとして
- ネットワーク
- 提供
- オファリング
- 開いた
- オプション
- 組織
- 組織
- 視点
- プラットフォーム
- 人気
- 予測
- 予測
- プレビュー
- プライベート
- プロフィール
- 対応プロファイル
- プロジェクト
- 公共
- パブリッシュ
- 引き
- Python
- クワント
- 要件
- リソース
- REST
- レビュー
- ルート
- ラン
- ランニング
- セージメーカー
- スケーリング
- スキャン
- 科学
- 科学
- 科学者たち
- シアトル
- セキュリティ
- 選択
- サーバレス
- サービス
- サービング
- セッションに
- シェアする
- ショート
- 簡単な拡張で
- Snapshot
- So
- ソリューション
- 解決する
- 開始
- 滞在
- 店舗
- 店舗
- サンセット
- サポート
- サポート
- 表面
- テクノロジー
- ソース
- 思考リーダーシップ
- 時間
- top
- トラフィック
- トランジット
- 旅行
- 更新版
- users
- 詳しく見る
- 脆弱性
- ウェブ
- Webアプリケーション
- ウェブブラウザ
- 誰
- 以内
- 仕事
- ワークフロー
- 作品