

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

# 將 EMR 筆記本與儲存庫整合時的先決條件和考量事項
<a name="emr-managed-notebooks-git-considerations"></a>

規劃整合 Git 型儲存庫與 EMR 筆記本時，請考慮下列有關遞交、許可和託管的最佳實務。

**注意**  
EMR Notebooks 可在 主控台中做為 EMR Studio Workspaces 使用。主控台中的**建立工作區**按鈕可讓您建立新的筆記本。若要存取或建立工作區，EMR Notebooks 使用者需要其他 IAM 角色許可。如需詳細資訊，請參閱 主控台和 [Amazon EMR 主控台中的 Amazon EMR 筆記本是 Amazon EMR Studio 工作區](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html)。 [https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)

## AWS CodeCommit
<a name="code-commit-considerations"></a>

如果您使用 CodeCommit 儲存庫，則必須將 Git 憑證和 HTTPS 與 CodeCommit 搭配使用。不支援使用 AWS CLI 登入資料協助程式的 SSH 金鑰和 HTTPS。CodeCommit 不支援個人存取字符 (PAT)。如需詳細資訊，請參閱《[IAM 使用者指南》中的使用 IAM 搭配 CodeCommit：Git 憑證、SSH 金鑰和 AWS 存取金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html)，以及《 *AWS CodeCommit 使用者指南*》中的[使用 Git 憑證為 HTTPS 使用者設定](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html) 。 **

## 存取權和許可考量事項
<a name="access-considerations"></a>

建立儲存庫與筆記本的關聯性之前，請先確認您的叢集、EMR Notebooks 的 IAM 角色以及安全群組具備正確的設定和許可。也可以依照 [針對 EMR Notebooks 設定私有託管的 Git 儲存庫](#emr-managed-notebooks-private-git-repo) 中的指示，設定在私有網路中託管的 Git 儲存庫。
+ **叢集網際網路存取** – 啟動的網路介面只有一個私有 IP 地址。這表示筆記本連接的叢集必須位於具有網路位址轉譯 (NAT) 閘道的私有子網路中，或必須能夠透過虛擬私有閘道存取網際網路。如需詳細資訊，請參閱 [Amazon VPC 選項](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-clusters-in-a-vpc.html)。

  筆記本的安全群組必須包含傳出規則，讓筆記本能夠將流量從叢集路由傳送到網際網路。建議您建立自己的安全群組。如需詳細資訊，請參閱[為 EMR Notebook 指定 EC2 安全群組](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html)。
**重要**  
如果在公有子網路中啟動網路介面，將無法透過網際網路閘道 (IGW) 與網際網路進行通訊。
+ **的許可 AWS Secrets Manager** – 如果您使用 Secrets Manager 來存放您用來存取儲存庫的秘密，[EMR Notebooks 的服務角色](emr-managed-notebooks-service-role.md)則 必須連接允許 `secretsmanager:GetSecretValue`動作的許可政策。

## 針對 EMR Notebooks 設定私有託管的 Git 儲存庫
<a name="emr-managed-notebooks-private-git-repo"></a>

使用下列指示來設定 EMR Notebooks 的私有託管儲存庫。必須提供包含 DNS 和 Git 伺服器相關資訊的組態檔案。Amazon EMR 使用此資訊來設定 EMR 筆記本，它們可將流量路由到私有託管儲存庫。

**先決條件**

在設定 EMR Notebooks 的私有託管的 Git 儲存庫之前，必須具備下列項目：
+ 儲存 EMR 筆記本檔案 Amazon S3 Control 的位置。

**針對 EMR Notebooks 設定一個或多個私有託管的 Git 儲存庫**

1. 使用提供的範本建立組態檔案。針對您要在組態中指定的每個 Git 伺服器，包括下列值：
   + **`DnsServerIpV4`** - DNS 伺服器的 IPv4 地址。如果同時提供 `DnsServerIpV4` 和 `GitServerIpV4List` 的值，則 `DnsServerIpV4` 的值優先，並將用於解析 `GitServerDnsName`。
**注意**  
若要使用私有託管的 Git 儲存庫，DNS 伺服器必須允許來自 EMR Notebooks 的傳入存取。強烈建議您保護 DNS 伺服器，防止其他未經授權的存取。
   + **`GitServerDnsName`** - Git 伺服器的 DNS 名稱。例如 `"git.example.com"`。
   + **`GitServerIpV4List`** - 屬於 Git 伺服器的 IPv4 地址清單。

   ```
   [
       {
           "Type": "PrivatelyHostedGitConfig",
           "Value": [
               {
                   "DnsServerIpV4": "{{<10.24.34.xxx>}}",
                   "GitServerDnsName": "{{<enterprise.git.com>}}",
                   "GitServerIpV4List": [
                       "{{<xxx.xxx.xxx.xxx>}}",
                       "{{<xxx.xxx.xxx.xxx>}}"
                   ]
               },
               {
                   "DnsServerIpV4": "{{<10.24.34.xxx>}}",
                   "GitServerDnsName": "{{<git.example.com>}}",
                   "GitServerIpV4List": [
                       "{{<xxx.xxx.xxx.xxx>}}",
                       "{{<xxx.xxx.xxx.xxx>}}"
                   ]
               }
           ]
       }
   ]
   ```

1. 將組態檔案另存為 `configuration.json`。

1. 將組態檔案上傳到名為 `life-cycle-configuration` 的資料夾中指定的 Amazon S3 儲存位置。例如，如果預設的 S3 位置為 `s3://amzn-s3-demo-bucket/notebooks`，則組態檔案應位於 `s3://amzn-s3-demo-bucket/notebooks/life-cycle-configuration/configuration.json`。
**重要**  
強烈建議您將 `life-cycle-configuration` 資料夾的存取權限制給 EMR Notebooks 管理員以及 EMR Notebooks 的服務角色。還應確保 `configuration.json` 免受未經授權的存取。如需指示，請參閱[透過使用者政策來控制對儲存貯體的存取](https://docs.aws.amazon.com/AmazonS3/latest/userguide/walkthrough1.html)或 [Amazon S3 的安全最佳實務](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)。

   如需上傳說明，請參閱《Amazon Simple Storage Service 使用者指南》**中的[建立資料夾](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html#create-folder)和[上傳物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)。