多個網域和共用空間 - SageMaker Studio 管理最佳實務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

多個網域和共用空間

Amazon SageMaker AI 現在支援 AWS 區域 為每個帳戶在單一 中建立多個 SageMaker AI 網域。每個網域可以有自己的網域設定,例如身分驗證模式和聯網設定,例如 VPC和 子網路。使用者設定檔無法跨網域共用。如果人工使用者是多個團隊的一部分,以網域分隔,請為每個網域中的使用者建立使用者設定檔。請參閱多個網域概觀,以了解現有網域的回填標籤。

在IAM身分驗證模式中設定的每個網域都可以利用共用空間,在使用者之間進行近乎即時的協同合作。透過共用空間,使用者可以存取共用的 Amazon EFS目錄,以及使用者介面的共用JupyterServer應用程式,而且可以近乎即時地共同編輯。共用空間建立的資源自動標記可讓管理員追蹤專案層級的成本。共用 JupyterServer UI 也會篩選實驗和模型登錄項目等資源,因此只會顯示與共用 ML 工作相關的項目。下圖提供每個網域內私有應用程式和共用空間的概觀。

描述單一網域中私有應用程式和共用空間概觀的圖表。

單一網域中的私有應用程式和共用空間概觀

在網域中設定共用空間

共用空間通常為特定 ML 工作或專案建立,其中單一網域的成員需要近乎即時地存取相同的基礎檔案儲存體和 IDE。使用者可以近乎即時地存取、讀取、編輯和共用筆記本,這為他們提供最快的路徑,以開始與對等進行反覆運算。

若要建立共用空間,您必須先指定空間預設執行角色,該角色將管理任何使用空間的使用者的許可。撰寫本文時,網域內的所有使用者都可以存取其網域中的所有共用空間。請參閱建立共用空間,以取得將共用空間新增至現有網域的最新文件。

為IAM聯合設定您的網域

在為 SageMaker AI Studio 網域設定 AWS Identity and Access Management (IAM) 聯合之前,您需要在 IdP IAM 中設定聯合使用者角色 (例如平台管理員),如身分管理一節所述。

如需使用 IAM選項設定 SageMaker AI Studio 的詳細說明,請參閱使用 IAM Identity Center 加入 Amazon SageMaker 網域

為單一登入 (SSO) 聯合設定您的網域

若要使用單一登入 (SSO) 聯合,您需要 AWS IAM Identity Center 在管理AWS Organizations帳戶中啟用 ,並在您需要執行 SageMaker AI Studio 的相同區域中啟用 。網域設定步驟類似於IAM聯合步驟,但您在身分驗證區段中選取 AWS IAM Identity Center(IdC) 除外。

如需詳細說明,請參閱使用 IAM Identity Center 加入 Amazon SageMaker 網域

SageMaker AI Studio 使用者設定檔

使用者描述檔代表網域中的單一使用者,是參考「人員」的主要方式,用於共用、報告和其他使用者導向功能。當使用者加入 toSageMaker AI Studio 時,就會建立此實體。如果管理員透過電子郵件邀請某個人員或從 IdC 匯入,則會自動建立使用者設定檔。使用者設定檔是個別使用者設定的主要擁有者,並參考使用者的私有 Amazon Elastic File System (Amazon EFS) 主目錄。我們建議為每個 SageMaker AI Studio 應用程式的實體使用者建立使用者設定檔。每個使用者在 Amazon 上都有自己的專用目錄EFS,且使用者設定檔無法跨相同帳戶中的網域共用。

共用 SageMaker AI Studio 網域的每個使用者設定檔都會取得專用運算資源 (例如 SageMaker AI Amazon Elastic Compute Cloud (AmazonEC2) 執行個體 (s)),以執行筆記本。配置給使用者一的運算執行個體與配置給使用者二的運算執行個體完全隔離。同樣地,分配給某個 AWS 帳戶中使用者的運算資源與分配給另一個帳戶中使用者的運算資源完全不同。每個使用者可以在隔離的 Docker 容器中執行最多四個應用程式 (應用程式),或在相同執行個體類型上執行映像。

Jupyter 伺服器應用程式

當您透過存取預先簽章URL或使用 IdC AWS IAM 登入來為使用者啟動 Amazon SageMaker AI Studio 筆記本時,Jupyter Server 應用程式會在 SageMaker AI 服務受管VPC執行個體中啟動。每個使用者都會在私有應用程式中取得自己的專用 Jupyter Server 應用程式。根據預設,適用於 SageMaker AI Studio 筆記本的 Jupyter Server 應用程式會在專用ml.t3.medium執行個體上執行 (保留為系統執行個體類型)。此執行個體的運算不會向客戶收費。

Jupyter Kernel Gateway 應用程式

核心閘道應用程式可以透過 API或 SageMaker AI Studio 介面建立,並在所選的執行個體類型上執行。此應用程式可以使用其中一個預先設定熱門資料科學的內建 SageMaker AI Studio 映像,以及深度學習套件,例如 TensorFlowApache MXNet和 來執行PyTorch

使用者可以在相同的 SageMaker Studio 中啟動和執行多個 Jupyter 筆記本核心、終端機工作階段和互動式主控台image/Kernel Gateway app. Users can also run up to four Kernel Gateway apps or images on the same physical instance—each isolated by its container/image。

若要建立其他應用程式,您需要使用不同的執行個體類型。使用者描述檔只能有一個執行中執行個體的任何執行個體類型。例如,使用者可以在同一個執行個體上使用 SageMaker AI Studio 內建資料科學映像執行簡單的筆記本,並使用內建 TensorFlow 映像執行另一個筆記本。使用者需支付執行個體執行時間的費用。為了避免使用者在未主動執行 SageMaker AI Studio 時產生成本,使用者需要關閉執行個體。如需詳細資訊,請參閱關閉並更新 Studio 應用程式

每次從 SageMaker AI Studio 界面關閉並重新開啟核心閘道應用程式時,該應用程式都會在新的執行個體上啟動。這表示套件的安裝不會透過重新啟動相同的應用程式而持續存在。同樣地,如果使用者變更筆記本上的執行個體類型,其已安裝的套件和工作階段變數也會遺失。不過,您可以使用自己的映像生命週期指令碼等功能,將使用者自己的套件帶入 SageMaker AI Studio,並透過執行個體切換和新的執行個體啟動來保留這些套件。

Amazon Elastic File System 磁碟區

建立網域時,會建立單一 Amazon Elastic File System (AmazonEFS) 磁碟區供網域內的所有使用者使用。每個使用者設定檔都會在 Amazon EFS磁碟區中收到私有主目錄,用於存放使用者的筆記本、 GitHub 儲存庫和資料檔案。網域中的每個空間都會在 Amazon EFS磁碟區中收到私有目錄,可供多個使用者設定檔存取。使用者透過檔案系統許可來分隔資料夾的存取。 SageMaker AI Studio 會為每個使用者設定檔或空間建立全域唯一使用者 ID,並將其套用為可攜式作業系統界面 (POSIX) user/group ID for the user’s home directory on EFS, which prevents other users/spaces來存取其資料。

備份與復原

現有的EFS磁碟區無法連接至新的 SageMaker AI 網域。在生產設定中,確定 Amazon EFS磁碟區已備份 (備份至另一個EFS磁碟區,或備份至 Amazon Simple Storage Service (Amazon S3))。如果不小心刪除了磁碟EFS區,管理員必須向下撕下並重新建立 SageMaker AI Studio 網域。程序如下:

透過 、、 和 DescribeSpaceAPI呼叫,備份使用者設定檔ListUserProfiles、空格List Spaces和相關聯EFS使用者 IDs(UIDs) DescribeUserProfile的清單。

  1. 建立新的 SageMaker AI Studio 網域。

  2. 建立使用者設定檔和空格。

  3. 對於每個使用者設定檔,從 EFS/Amazon S3 上的備份複製檔案。

  4. 或者,刪除舊 SageMaker AI Studio 網域上的所有應用程式和使用者設定檔。

如需詳細說明,請參閱附錄的 SageMaker AI Studio 網域備份和復原一節。

注意

您也可以透過 來達成此目的LifecycleConfigurations,在每次使用者啟動其應用程式時,將資料備份到 S3 和從 S3 備份。

Amazon EBS磁碟區

Amazon Elastic Block Store (Amazon EBS) 儲存磁碟區也會連接至每個 SageMaker AI Studio Notebook 執行個體。它會用作在執行個體上執行的容器或映像的根磁碟區。雖然 Amazon EFS儲存體為持久性,但連接至容器的 Amazon EBS磁碟區是暫時的。如果客戶刪除應用程式,則儲存在 Amazon EBS磁碟區本機的資料不會保留。

保護對預先簽署 的存取 URL

當 SageMaker AI Studio 使用者開啟筆記本連結時, SageMaker AI Studio 會驗證聯合身分使用者IAM的政策,以授權存取,並產生和解析URL預先簽章的使用者。由於 SageMaker AI 主控台在網際網路網域上執行,因此預先簽章URL會顯示在瀏覽器工作階段中。這會顯示不想要的威脅向量,用於資料遭竊,並在未強制執行適當的存取控制時存取客戶資料。

Studio 支援對預先簽署URL的資料遭竊強制執行存取控制的幾種方法:

  • 使用IAM政策條件進行用戶端 IP 驗證aws:sourceIp

  • 使用 IAM條件進行用戶端VPC驗證aws:sourceVpc

  • 使用IAM政策條件進行用戶端VPC端點驗證aws:sourceVpce

當您從 SageMaker AI 主控台存取 SageMaker AI Studio 筆記本時,唯一可用的選項是搭配IAM政策條件使用用戶端 IP 驗證aws:sourceIp。不過,您可以使用瀏覽器流量路由產品,例如 Zscaler,以確保人力資源網際網路存取的規模和合規性。這些流量路由產品會產生自己的來源 IP,其 IP 範圍不受企業客戶控制。這使得這些企業客戶無法使用 aws:sourceIp條件。

若要使用IAM政策條件來使用用戶端VPC端點驗證aws:sourceVpce,建立預先簽章URL需要源自於部署 SageMaker AI Studio VPC的相同客戶,且URL需透過客戶 上的 SageMaker AI Studio VPC端點解決預先簽章的問題VPC。可以使用DNS轉送規則 (Zscaler 和公司 ),DNS然後使用 Amazon Route 53 傳入解析程式在客戶VPC端點中完成企業網路使用者URL存取期間預先簽署的此解析,如下列架構所示:

顯示透過公司網路URL使用VPC端點存取預先簽署的 Studio 的圖表。

透過公司網路URL使用VPC端點存取預先簽署的 Studio

如需 step-by-step設定上述架構的指引,請參閱 Secure Amazon SageMaker AI Studio 預先簽章第 1 URLs部分:基礎基礎設施

SageMaker AI 網域配額和限制

  • SageMaker AI Studio SSO 網域聯合僅支援 區域,跨佈建 AWS Identity Center 之 AWS 組織的成員帳戶。

  • 使用 AWS Identity Center 設定的網域目前不支援共用空間。

  • VPC 和子網路組態無法在建立網域之後變更。不過,您可以使用不同的VPC子網路組態建立新的網域。

  • 建立網域後,無法在 IAM和 SSO 模式之間切換網域存取。您可以使用不同的身分驗證模式建立新的網域。

  • 每個使用者啟動的每個執行個體類型限制四個核心閘道應用程式。

  • 每個使用者只能啟動每個執行個體類型的一個執行個體。

  • 網域內消耗的資源有限制,例如執行個體類型啟動的執行個體數量,以及可建立的使用者設定檔數量。如需服務限制的完整清單,請參閱服務配額頁面

  • 客戶可以提交具有業務理由的企業支援案例,以提高預設資源限制,例如受帳戶層級護欄約束的網域或使用者設定檔數量。

  • 每個帳戶的並行應用程式數量硬性限制為 2,500 個應用程式。網域和使用者設定檔限制取決於此硬性限制。例如, 帳戶可以具有具有 1,000 個使用者描述檔的單一網域,或具有 20 個網域,每個網域具有 50 個使用者描述檔。