クラウド コンピューティングにより、コンピューティング能力とデータがより利用可能になるにつれて、機械学習 (ML) はあらゆる業界に影響を及ぼし、あらゆるビジネスと業界の中核を成しています。
Amazon SageMakerスタジオ は、Web ベースのビジュアル インターフェイスを備えた初の完全に統合された ML 開発環境 (IDE) です。 すべての ML 開発ステップを実行し、モデルの構築、トレーニング、デプロイに必要な各ステップへの完全なアクセス、制御、および可視性を得ることができます。
Amazonレッドシフト は、フルマネージドで高速、安全、スケーラブルなクラウド データ ウェアハウスです。 組織は多くの場合、SageMaker Studio を使用して、Amazon Redshift などのデータ ウェアハウスに保存されているデータから予測を取得したいと考えます。
に記載されているように AWS の適切に設計されたフレームワーク、アカウント間でワークロードを分離することで、組織は環境を分離しながら共通のガードレールを設定できます。 これは、プロジェクトやチーム間のコスト管理や監視を簡素化するだけでなく、特定のセキュリティ要件に特に役立ちます。 マルチアカウント アーキテクチャを採用している組織では、通常、Amazon Redshift と SageMaker Studio を XNUMX つの別々の AWS アカウントに配置しています。 また、Amazon Redshift と SageMaker Studio は通常、ベストプラクティスとして、セキュリティを向上させ、不正アクセスのリスクを軽減するために、プライベートサブネットを持つ VPC で構成されます。
Amazonレッドシフト ネイティブにサポート RA3 ノード タイプが使用されている場合のクロスアカウント データ共有。 DS2 や DC2 などの他の Amazon Redshift ノードタイプを使用している場合は、VPC ピアリングを使用して、Amazon Redshift と SageMaker Studio の間のクロスアカウント接続を確立できます。
この投稿では、ある AWS アカウントにある Amazon Redshift クラスターを別の AWS の SageMaker Studio に接続することで、Amazon Redshift ノードタイプ (RA3、DC2、DS2) へのクロスアカウント接続を確立するための手順を段階的に説明します。 VPC ピアリングを使用して同じリージョン内のアカウント。
ソリューションの概要
まずは XNUMX つの AWS アカウントから始めます。XNUMX つは Amazon Redshift データ ウェアハウスを使用するプロデューサー アカウント、もう XNUMX つは Amazon Redshift データ ウェアハウスを使用するコンシューマー アカウントです。 アマゾンセージメーカー SageMaker Studio がセットアップされた ML のユースケース。 以下はワークフローの概要です。
- SageMaker Studio をセットアップする
VPCOnly
コンシューマーアカウントのモード。 これにより、SageMaker がスタジオ ノートブックにインターネット アクセスを提供できなくなります。 すべての SageMaker Studio トラフィックは、指定された VPC とサブネットを経由します。 - SageMaker Studio ドメインを更新して有効にします
SourceIdentity
ユーザープロファイル名を伝播します。 - 作る AWS IDおよびアクセス管理 SageMaker Studio IAM ロールが Amazon Redshift にアクセスするために想定する、Amazon Redshift プロデューサー アカウントの (IAM) ロール。
- SageMaker Studio コンシューマー アカウントで SageMaker IAM 実行ロールを更新します。SageMaker Studio は、プロデューサーの Amazon Redshift アカウントでのロールを引き受けるために使用します。
- Amazon Redshift プロデューサー アカウントと SageMaker Studio コンシューマー アカウントの VPC 間のピアリング接続をセットアップします。
- 消費者アカウントの SageMaker Studio で Amazon Redshift をクエリします。
次の図は、ソリューションアーキテクチャを示しています。
前提条件
この投稿の手順では、Amazon Redshift が Amazon Redshift プロデューサー アカウントのプライベート サブネットで起動されることを前提としています。 Amazon Redshift をプライベートサブネットで起動すると、パブリックサブネットで起動する場合と比較して、追加のセキュリティ層と分離層が提供されます。これは、プライベートサブネットはインターネットから直接アクセスできず、外部攻撃に対してより安全であるためです。
パブリック ライブラリをダウンロードするには、SageMaker コンシューマー アカウントで VPC とプライベートおよびパブリック サブネットを作成する必要があります。 次に、パブリック サブネットで NAT ゲートウェイを起動し、インターネットにアクセスするためにプライベート サブネットに SageMaker Studio のインターネット ゲートウェイを追加します。 プライベート サブネットへの接続を確立する方法については、次を参照してください。 Amazon VPC のプライベートサブネットに NAT ゲートウェイを設定するにはどうすればよいですか?
コンシューマーアカウントで VPCOnly モードを使用して SageMaker Studio をセットアップする
SageMaker Studio を作成するには VPCOnly
モードでは、次の手順を実行します。
- SageMakerコンソールで、 Studio ナビゲーションペインに表示されます。
- SageMaker Studio を起動し、選択します 標準設定、選択して 構成.
すでに使っているなら AWS IAM Identity Center (AWS Single Sign-On の後継) AWS アカウントにアクセスするための認証に使用できます。 それ以外の場合は、認証に IAM を使用し、既存のフェデレーション ロールを使用できます。
- 一般設定 セクション、選択 新しい役割を作成する.
- IAMロールを作成する セクションで、必要に応じて、 Amazon シンプル ストレージ サービス (Amazon S3) バケットを選択して 任意, 特定のまたは なし、を選択します 役割を作成する.
これにより、次のような SageMaker 実行ロールが作成されます。 AmazonSageMaker-ExecutionRole-00000000
.
- ネットワークおよびストレージセクション、前提条件として作成した VPC、サブネット (プライベート サブネット)、セキュリティ グループを選択します。
- 選択 VPCのみ、を選択します Next.
SageMaker Studio ドメインを更新して、SourceIdentity を有効にしてユーザー プロファイル名を伝播します。
SageMaker Studio は以下と統合されています AWS クラウドトレイル 管理者が SageMaker Studio ノートブックからのユーザー アクティビティと API 呼び出しを監視および監査できるようにします。 ユーザー ID (特に、 ユーザープロファイル名) CloudTrail イベントの SageMaker Studio ノートブックからのユーザー アクティビティと API 呼び出しを監視および監査します。
複数のユーザー プロファイル間で特定のユーザー アクティビティをログに記録するには、有効にすることをお勧めします。 SourceIdentity
ユーザープロファイル名を使用して SageMaker Studio ドメインを伝播します。 これにより、ユーザー情報をセッションに保持できるため、アクションを特定のユーザーに帰属させることができます。 この属性は、ロールをチェーンするときにも保持されるため、プロデューサー アカウントでのアクションを詳細に把握できます。 この記事を書いた時点では、これを設定できるのは AWSコマンドラインインターフェイス (AWS CLI) または任意のコマンドライン ツール。
この構成を更新するには、ドメイン内のすべてのアプリが 停止 or 削除された でのみ停止させることができます。
次のコードを使用して、ユーザー プロファイル名の伝播を有効にします。 SourceIdentity
:
これには追加する必要があります sts:SetSourceIdentity
実行ロールの信頼関係にあります。
SageMaker Studio が Amazon Redshift にアクセスするために想定する必要がある Amazon Redshift プロデューサー アカウントに IAM ロールを作成します。
SageMaker が Amazon Redshift にアクセスするために想定するロールを作成するには、次の手順を実行します。
- Amazon Redshift プロデューサー アカウントで IAM コンソールを開きます。
- 選択する 役割 ナビゲーションペインで、を選択します 役割を作成する.
- ソフトウェア設定ページで、下図のように 信頼できるエンティティを選択してください カスタム信頼ポリシー.
- 次のカスタム信頼ポリシーをエディターに入力し、SageMaker コンシューマー アカウント ID と作成した SageMaker 実行ロールを指定します。
- 選択する Next.
- ソフトウェア設定ページで、下図のように 必要な権限を追加する ページ、選択 ポリシーを作成する.
- 次のサンプル ポリシーを追加し、構成に基づいて必要な編集を加えます。
- などの名前を追加してポリシーを保存します。
RedshiftROAPIUserAccess
.
SourceIdentity
属性は、元の SageMaker Studio ユーザーの ID を Amazon Redshift データベース ユーザーに結び付けるために使用されます。 プロデューサー アカウントのユーザーによるアクションは、CloudTrail と Amazon Redshift データベース監査ログを使用して監視できます。
- ソフトウェア設定ページで、下図のように 名前を付け、確認し、作成する ページでロール名を入力し、設定を確認して、選択します 役割を作成する.
SageMaker Studio が Amazon Redshift プロデューサー アカウントで引き受ける SageMaker コンシューマー アカウントの IAM ロールを更新します。
SageMaker 実行ロールを更新して、作成したばかりのロールを引き受けるようにするには、次の手順を実行します。
- SageMaker コンシューマー アカウントで IAM コンソールを開きます。
- 選択する 役割 ナビゲーションペインで、作成した SageMaker 実行ロールを選択します (
AmazonSageMaker-ExecutionRole-*
). - 権限ポリシー セクション、 権限を追加 メニュー、選択 インラインポリシーを作成する.
- エディターで、 JSONの タブに次のポリシーを入力します。ここで、 は、Amazon Redshift プロデューサー アカウントで作成したロールの ARN です。
次のスクリーンショットに示すように、IAM コンソールの Amazon Redshift プロデューサー アカウントで作成されたロールの ARN を取得できます。
- 選択する レビューポリシー.
- 名前 、ポリシーの名前を入力します。
- 選択する ポリシーを作成する.
権限ポリシーは次のスクリーンショットのようになります。
Amazon Redshift プロデューサー アカウントと SageMaker Studio コンシューマー アカウントの VPC 間のピアリング接続をセットアップする
SageMaker Studio VPC と Amazon Redshift VPC 間の通信を確立するには、VPC ピアリングを使用して XNUMX つの VPC をピアリングする必要があります。 接続を確立するには、次の手順を実行します。
- Amazon Redshift または SageMaker アカウントのいずれかで、Amazon VPC コンソールを開きます。
- ナビゲーションペインで、 ピアリング接続、を選択します ピアリング接続を作成する.
- 名前 、接続の名前を入力します。
- ピアリングするローカル VPC を選択します、ローカル VPC を選択します。
- ピアリングする別の VPC を選択する、同じリージョン内の別の VPC と別のアカウントを指定します。
- 選択する ピアリング接続を作成します。
- VPC ピアリング接続を確認し、選択します。 要請を受け入れます 有効にするために。
VPC ピアリング接続が正常に確立されたら、SageMaker と Amazon Redshift VPC の両方にルートを作成して、それらの間の接続を完了します。
- SageMaker アカウントで、Amazon VPC コンソールを開きます。
- 選択する ルート テーブル ナビゲーションペインで、SageMaker に関連付けられている VPC を選択し、ルートを編集します。
- 宛先の Amazon Redshift VPC とターゲットの CIDR をピアリング接続として追加します。
- さらに、NAT ゲートウェイを追加します。
- 選択する 変更を保存します.
- Amazon Redshift アカウントで、Amazon VPC コンソールを開きます。
- 選択する ルート テーブル ナビゲーションペインで、Amazon Redshift に関連付けられている VPC を選択し、ルートを編集します。
- 宛先 SageMaker VPC とターゲットの CIDR をピアリング接続として追加します。
- さらに、インターネット ゲートウェイを追加します。
- 選択する 変更を保存します.
インターネット経由で接続する代わりに、VPC 内のインターフェイス エンドポイントを介して VPC から SageMaker Studio に接続できます。 VPC インターフェイス エンドポイントを使用する場合、VPC と SageMaker API またはランタイム間の通信は、AWS ネットワーク内で完全かつ安全に行われます。
- VPC エンドポイントを作成するには、SageMaker アカウントで VPC コンソールを開きます。
- 選択する エンドポイント ナビゲーションペインで、を選択します エンドポイントを作成する.
- SageMaker ノートブック ドメインのインバウンドおよびアウトバウンド NFS トラフィックを許可する SageMaker VPC、それぞれのサブネット、および適切なセキュリティ グループを指定し、選択します VPC エンドポイントの作成.
消費者アカウントの SageMaker Studio で Amazon Redshift をクエリする
すべてのネットワークが正常に確立されたら、このセクションの手順に従って、AWS SDK for pandas ライブラリを使用して SageMaker Studio コンシューマー アカウントの Amazon Redshift クラスターに接続します。
- SageMaker Studio で、新しいノートブックを作成します。
- AWS SDK for pandas パッケージがインストールされていない場合は、次のコマンドを使用してインストールできます。
このインストールは永続的ではないため、KernelGateway アプリが削除されると失われます。 カスタム パッケージは、 ライフサイクル構成.
- 最初のセルに次のコードを入力し、コードを実行します。 交換
RoleArn
およびregion_name
アカウント設定に基づく値:
- 新しいセルに次のコードを入力し、コードを実行して現在の SageMaker ユーザー プロファイル名を取得します。
- 新しいセルに次のコードを入力し、コードを実行します。
Amazon Redshift に正常にクエリを実行するには、データベース管理者は、新しく作成したユーザーに、プロデューサー アカウントの Amazon Redshift クラスター内で必要な読み取り権限を割り当てる必要があります。
- 新しいセルに次のコードを入力し、Amazon Redshift テーブルと一致するようにクエリを更新して、セルを実行します。 これにより、さらなるデータ処理と分析のためにレコードが正常に返されるはずです。
ビジネス要件に基づいてデータ変換と分析の構築を開始できるようになりました。
クリーンアップ
定期的なコストの発生を避けるためにリソースをクリーンアップするには、SageMaker VPC エンドポイント、Amazon Redshift クラスター、SageMaker Studio アプリ、ユーザー、およびドメインを削除します。 作成した S3 バケットとオブジェクトも削除します。
まとめ
この投稿では、VPC ピアリングを使用して異なるアカウントのプライベート Amazon Redshift と SageMaker Studio VPC 間のクロスアカウント接続を確立し、IAM ロールチェーンを使用して SageMaker Studio の Amazon Redshift データにアクセスすると同時に、ユーザーがアクセスしたときにユーザー ID をログに記録する方法を示しました。 SageMaker Studio から Amazon Redshift にアクセスしました。 このソリューションを使用すると、データにアクセスするためにアカウント間でデータを手動で移動する必要がなくなります。 また、SageMaker Studio の AWS SDK for pandas ライブラリを使用して Amazon Redshift クラスターにアクセスし、ML ユースケース用のデータを準備する方法についても説明しました。
Amazon RedshiftとSageMakerの詳細については、 AmazonRedshiftデータベース開発者ガイド および AmazonSageMakerのドキュメント.
著者について
スプリヤ プラグンドラ AWS のシニア ソリューション アーキテクトです。 彼女は、主要な顧客アカウントの AI と ML の取り組みを支援します。 彼女は、データ駆動型 AI と機械学習の深い分野に情熱を注いでいます。
マーク・カープ Amazon SageMaker チームの機械学習アーキテクトです。 彼は、顧客が大規模な ML ワークロードを設計、導入、管理できるよう支援することに重点を置いています。 余暇には、旅行や新しい場所の探検を楽しんでいます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 自動車/EV、 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- ブロックオフセット。 環境オフセット所有権の近代化。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/configure-cross-account-access-of-amazon-redshift-clusters-in-amazon-sagemaker-studio-using-vpc-peering/
- :持っている
- :は
- :not
- :どこ
- $UP
- 10
- 100
- 11
- 13
- 14
- 視聴者の38%が
- 7
- 8
- 9
- a
- 私たちについて
- アクセス
- アクセス
- アクセス可能な
- アクセス
- アカウント
- 越えて
- Action
- 行動
- アクティビティ
- 加えます
- 追加されました
- 追加
- NEW
- 管理者
- AI
- すべて
- 許す
- ことができます
- 既に
- また
- Amazon
- Amazonレッドシフト
- アマゾンセージメーカー
- Amazon SageMakerスタジオ
- Amazon Webサービス
- 間で
- an
- 分析
- および
- 別の
- どれか
- API
- アプリ
- 適切な
- アプリ
- 建築
- です
- AREA
- AS
- 関連する
- 引き受けます
- と仮定する
- At
- 攻撃
- 監査
- 認証
- 利用できます
- 避ける
- AWS
- ベース
- BE
- になりました
- なぜなら
- き
- BEST
- の間に
- 両言語で
- ビルド
- 建物
- ビジネス
- by
- コール
- コール
- 缶
- 取得することができます
- 例
- センター
- 一定
- チェーン
- 選択する
- クラウド
- クラウドコンピューティング
- クラスタ
- コード
- コマンドと
- コミュニケーション
- 比べ
- コンプリート
- 計算
- コンピューティング
- 条件
- 実施
- 設定された
- お問合せ
- 接続する
- 接続
- 接続性
- 領事
- consumer
- コントロール
- controls
- 基本
- 費用
- コスト
- 作ります
- 作成した
- 作成します。
- Credentials
- 電流プローブ
- カスタム
- 顧客
- Customers
- データ
- データ処理
- データ共有
- データ駆動型の
- データベース
- 日付時刻
- 展開します
- 深さ
- 記載された
- 設計
- デスティネーション
- Developer
- 開発
- 異なります
- 直接に
- do
- ドメイン
- ダウンロード
- 各
- エディタ
- 効果
- どちら
- 排除する
- enable
- 可能
- エンドポイント
- 入力します
- 完全に
- 環境
- 環境
- 確立する
- 設立
- イベント
- あらゆる
- 実行
- 既存の
- 探る
- 外部
- スピーディー
- 名
- 焦点を当てて
- フォロー中
- から
- 完全に
- さらに
- ゲートウェイ
- 取得する
- グループ
- グループの
- 持ってる
- he
- 助け
- ことができます
- ハイレベル
- 彼の
- 認定条件
- How To
- HTML
- HTTP
- HTTPS
- i
- ID
- アイデンティティ
- if
- 説明する
- 影響
- import
- 改善します
- in
- 産業を変えます
- 情報
- install
- インストール
- インストール
- を取得する必要がある者
- 説明書
- 統合された
- インタフェース
- インターネット
- インターネット・アクセス
- に
- 分離
- IT
- 旅
- JPG
- JSON
- ただ
- キー
- 起動する
- 打ち上げ
- 発射
- 層
- LEARN
- 学習
- ライブラリ
- 図書館
- LINE
- ローカル
- 位置して
- ログ
- ロギング
- 見て
- 失われた
- 機械
- 機械学習
- make
- 作成
- 管理します
- マネージド
- 手動で
- 一致
- メニュー
- 方法
- ML
- モード
- モデル
- モニター
- 監視対象
- モニタリング
- 他には?
- しなければなりません
- 名
- ナビゲーション
- 必要
- 必要
- ニーズ
- ネットワーク
- ネットワーキング
- 新作
- 新しく
- ノート
- 今
- オブジェクト
- オブジェクト
- of
- 頻繁に
- on
- ONE
- の
- 開いた
- or
- 組織
- 組織
- オリジナル
- その他
- さもないと
- 私たちの
- が
- 概要
- パッケージ
- パッケージ
- ページ
- パンダ
- ペイン
- 部
- 特に
- パス
- 情熱的な
- ピア
- 実行する
- 許可
- パーミッション
- 場所
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポリシー
- 方針
- ポスト
- 電力
- 練習
- 予測
- 準備
- を防止
- 校長
- プライベート
- 処理
- プロデューサー
- プロフィール
- 対応プロファイル
- プロジェクト(実績作品)
- 提供します
- は、大阪で
- 提供
- 公共
- 読む
- 推奨される
- 記録
- 記録
- 繰り返し
- 減らします
- 地域
- 関係
- replace
- 要求
- の提出が必要です
- 要件
- 必要
- リソースを追加する。
- リソース
- それらの
- return
- 収益
- レビュー
- リスク
- 職種
- 役割
- ルート
- ラン
- セージメーカー
- 同じ
- ド電源のデ
- 規模
- SDDK
- セクション
- 安全に
- しっかりと
- セキュリティ
- 選択
- シニア
- 別
- 切り離す
- サービス
- セッション
- セッションに
- 設定
- いくつかの
- シェアリング
- 彼女
- すべき
- 示されました
- 示す
- 同様の
- 簡単な拡張で
- 簡素化する
- So
- 溶液
- ソリューション
- 特定の
- 特に
- 指定の
- start
- 都道府県
- ステートメント
- 手順
- ステップ
- ストレージ利用料
- 保存され
- 研究
- サブネット
- サブネット
- 首尾よく
- そのような
- テーブル
- ターゲット
- チーム
- チーム
- 一時的
- それ
- エリア
- アプリ環境に合わせて
- それら
- その後
- この
- 介して
- TIE
- 時間
- 〜へ
- ツール
- トラフィック
- トレーニング
- 変換
- 旅行
- 信頼
- 信頼されている
- 順番
- 2
- type
- 一般的に
- アップデイト
- つかいます
- 中古
- ユーザー
- users
- 価値観
- バージョン
- 視認性
- walked
- 欲しいです
- ました
- we
- ウェブ
- Webサービス
- ウェブベースの
- WELL
- いつ
- while
- 意志
- 以内
- ワークフロー
- 書かれた
- You
- あなたの
- ゼファーネット