[數據驅動D2E.創新之際:潛入探索GenAI工作坊](/--ohaDPsS6CvjqZCR6JiXA)
前置作業
------------------------------------------
前置步驟 - 使⽤您的AWS 帳⼾
若您是在⾃⼰的帳⼾內操作,請完成以下步驟:
• 步驟 1. 獲取 Amazon Bedrock 的訪問權限
• 步驟 2. (*建議) 建立⼀個 SageMaker Studio Domain
• 步驟 3. 開始使⽤ Amazon Bedrock
*注意: 您可以使⽤訪問密鑰和密鑰(AKSK)通過本地 IDE 訪問 AWS 服務,包括 Amazon
Bedrock。
---
# 步驟 1. 獲取 Amazon Bedrock 的訪問權限
為工作坊準備您自己的 Amazon Web Services(AWS)帳戶,位於 us-east-1。
1. 跳轉到 Amazon Bedrock。如果這是您第一次使用 Amazon Bedrock,您需要先編
輯模型訪問權限。
2. 在左側控制面板上點擊 Model access,然後點擊屏幕右上方的 Manage model
access 按鈕。
3. 您可以勾選方塊以請求訪問 Amazon Titan Embeddings G1 - Text、
Anthropic Claude、Anthropic Claude Instant、Titan Embeddings G1 -
Text 和 Stability AI SDXL 1.0。勾選方塊,然後點擊 Request model access。
4. 一旦您獲得訪問權限,您將在訪問狀態列中看到 Access Granted,這意味著您可以
開始使用 Bedrock。
5. 您可以在 playground 中測試 Anthropic Claude v2 模型。您可以詢問像 Who is
Andy Jassy? 這樣的問題來開始。
---
# 步驟 2. (建議) 建立 SageMaker Studio Domain
如果您已經有開啟的Domain,可以直接使用它;否則,請按照下面的步驟創建一個新的
Domain。
1. 跳轉到 SageMaker Studio,然後點擊 Create a SageMaker domain
2. 選擇 Quick setup 然後點擊 Set up
3. 需要大約 2 分鐘的時間進行設置。設置完成後,切換回 SageMaker Studio,然後點
擊 Open Studio
4. 您將看到如下截圖所示的 Studio。
5. 使用 SageMaker Studio 需要設定 Amazon Bedrock 的訪問權限。請先跳轉
到 Amazon SageMaker。在左側控制面板上點擊 Domains,然後在主面板上點選 <
您的 Domain 名稱>。
2. 點選 <您的使用者名稱>。
3. 在右側面板上複製角色名稱。角色名稱的格式為 sagemaker-immersion-day-
SageMakerExecutionRole-xxxxxxxxxxxx。
4. 跳轉到 Amazon IAM。在左側控制面板上點選 Roles。
5. 搜尋您先前複製的角色名稱,即 sagemaker-immersion-day-
SageMakerExecutionRole-xxxxxxxxxxxx。在主面板上點選角色名稱。
6. 點擊 Add permissions 然後點選 Create inline policy。
7. 點選頂部的 JSON,然後複製並粘貼下面的 IAM 政策(policy),覆蓋原先編輯器中
的舊政策。 然後在底部點擊 Next。
```
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "bedrock:*",
"Resource": "*"
}
]
}
```
8. 將政策命名為 BedrockFullAccess,然後點擊 Create policy。
9. 再來需要建立信任關係(trust relationship)。點選 Trust relationships,然後
點擊 Edit trust policy。
10. 複製並粘貼下方的權限,覆蓋原先編輯器中的權限,然後在底部點擊 Update
policy。
```
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "bedrock.amazonaws.com"
},
"Action": "sts:AssumeRole"
},
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "sagemaker.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
```
# 步驟 3. 開始使用 Amazon Bedrock
---
1. 權限設置完成後,切換回 SageMaker Studio,然後點擊 Open Studio
2. 您將看到如下截圖所示的 Studio。
3. Take a break! 您可能想更改 SageMaker Studio 的背景主題。
4. 在頂部控制面板上點選 File,然後點選 New 及 Terminal。
5. 然後在終端機中複製並執行以下命令。
sudo yum install -y unzip
6. 將您下載的工作坊壓縮檔拖曳到 SageMaker Studio 中,確認檔案上傳完成後,請複
製並在終端機中執行以下命令。
unzip tw-bedrock-public-workshop.zip
7. 您可以開啟第一個筆記本 tw-bedrock-public-workshop/00-
intro/bedrock_setup.ipynb 開始體驗 Amazon Bedrock!
注意: 在工作坊期間,請在啟動筆記本實例時選擇 Data Science 3.0。
您已完成前置步驟!
# AWS SageMaker 資源清理步驟
## 1. 刪除 SageMaker Studio Domain
> **注意**: 必須先刪除 SageMaker Domain 下所有正在運行的程式,再將所有使用者刪除,才能刪除 SageMaker Domain。
刪除順序:**程式 → 使用者 → Domain**
### 1.1. 使用 AWS Console 刪除 SageMaker Domain
1. 前往 **Amazon SageMaker**,在左側控制面板點擊 **Domains**。
2. 在主面板上點選 **<您的 Domain 名稱>**,記住 SageMaker Domain 的建立時間戳記,以便後續刪除對應的 EFS 資源。
3. 點選 **<您的使用者名稱>**。
4. 刪除所有正在運行的程式:
- 點選 **Delete app**。
- 點擊 **Yes, delete app**,鍵入 `delete` 確認。
5. 刪除運行的程式後,在底部點擊 **Edit**。
6. 點擊 **Delete user**。
7. 點擊 **Yes, delete user**,鍵入 `delete` 確認。
8. 返回 Domain 列表,選擇欲刪除的 **Domain name**,點擊 **Edit**。
9. 點擊 **Delete domain**。
10. 點擊 **Yes, delete my Domain**,鍵入 `delete` 確認。
11. 完成 SageMaker Domain 刪除。
## 2. 刪除 EFS 資源
1. 前往 **EFS 頁面**。
2. 點選欲刪除的 **EFS File System ID**,點擊 **View details**。
- 若不確定哪個 EFS 需刪除,可透過 **SageMaker Domain 創建的時間戳記** 找到對應的 EFS 資源。
3. 點擊 **Delete**。
4. 複製貼上 **File System ID**,點擊 **Confirm** 確認。
5. 完成 EFS 資源刪除。
## 3. 使用 AWS CLI 刪除 SageMaker Domain
若遇到 `Unable to delete UserProfile [] because Space(s) are associated with it.`,需透過 CLI 進行刪除。
### 3.1. 列出所有 Domain
```sh
aws --region us-east-1 sagemaker list-domains
```
### 3.2. 列出所有 App
```sh
aws --region us-east-1 sagemaker list-apps \
--domain-id-equals <Domain-ID>
```
### 3.3. 依序刪除所有 App
```sh
aws --region us-east-1 sagemaker delete-app \
--domain-id <Domain-ID> \
--app-name <APP-Name> \
--app-type JupyterServer \
--user-profile-name <User-Profile-Name>
```
### 3.4. 列出所有 User Profile
```sh
aws --region us-east-1 sagemaker list-user-profiles \
--domain-id-equals <Domain-ID>
```
### 3.5. 依序刪除所有 User Profile
```sh
aws --region us-east-1 sagemaker delete-user-profile \
--domain-id <Domain-ID> \
--user-profile-name <User-Profile-Name>
```
> **若仍出現 Space 相關錯誤**,需先刪除 Space:
### 3.6. 列出所有 Space
```sh
aws --region us-east-1 sagemaker list-spaces \
--domain-id <Domain-ID>
```
### 3.7. 刪除所有 Space
```sh
aws --region us-east-1 sagemaker delete-space \
--domain-id <Domain-ID> \
--space-name <Space-Name>
```
然後重新執行 **刪除 User Profile** 的指令。
### 3.8. 刪除 Domain 及 EFS
```sh
aws --region us-east-1 sagemaker delete-domain \
--domain-id <Domain-ID> \
--retention-policy HomeEfsFileSystem=Retain
```
---
以上步驟可確保 AWS SageMaker 資源被完整刪除,避免產生額外費用。
## 檢查 runinstance 費用來源
當發現 **runinstance 費用** 產生時,可依照以下步驟進行檢查:
1. **確認 SageMaker 相關服務是否關閉**
- 檢查 **Studio 內的 App、User Profile、Space 和 Domain** 是否被刪除乾淨。
2. **檢查 Amazon SageMaker Studio Classic**
- 確保沒有啟用中的 **Notebook** 。
3. **檢查 Inference 相關資源**
- 檢查 **Endpoint 和 Models** 是否仍在運行。
ref:
1. https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-delete-resources.html
2. https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks-run-and-manage-shut-down.html
3. https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-cleanup.html
---
以上步驟可確保 AWS SageMaker 資源被完整刪除,避免產生額外費用。
回到首頁 [數據驅動D2E.創新之際:潛入探索GenAI工作坊](/--ohaDPsS6CvjqZCR6JiXA)