本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 EMR 筆記本與儲存庫整合時的先決條件和考量事項
規劃將 Git 型儲存庫與 EMR Notebooks 整合時,請考慮下列有關遞交、許可和託管的最佳實務。
注意
EMR Notebooks 可在 主控台中做為 EMR Studio Workspaces 使用。主控台中的建立工作區按鈕可讓您建立新的筆記本。若要存取或建立工作區,EMR Notebooks 使用者需要其他 IAM 角色許可。如需詳細資訊,請參閱 主控台中的 Amazon EMR Notebooks 是 Amazon EMR Studio Workspaces 和 Amazon EMR 主控台。
AWS CodeCommit
如果您使用 CodeCommit 儲存庫,則必須將 Git 憑證和 HTTPS 與 CodeCommit 搭配使用。不支援使用AWS CLI登入資料協助程式的 SSH 金鑰和 HTTPS。CodeCommit 不支援個人存取字符 (PAT)。如需詳細資訊,請參閱《IAM 使用者指南》中的使用 IAM 搭配 CodeCommit:Git 憑證、SSH 金鑰和AWS存取金鑰,以及《 AWS CodeCommit使用者指南》中的使用 Git 憑證設定 HTTPS 使用者。
存取權和許可考量事項
建立儲存庫與筆記本的關聯性之前,請先確認您的叢集、EMR Notebooks 的 IAM 角色以及安全群組具備正確的設定和許可。也可以依照 針對 EMR Notebooks 設定私有託管的 Git 儲存庫 中的指示,設定在私有網路中託管的 Git 儲存庫。
-
叢集網際網路存取 – 啟動的網路介面只有一個私有 IP 地址。這表示筆記本連接的叢集必須位於具有網路位址轉譯 (NAT) 閘道的私有子網路中,或必須能夠透過虛擬私有閘道存取網際網路。如需詳細資訊,請參閱 Amazon VPC 選項。
筆記本的安全群組必須包含傳出規則,讓筆記本能夠將流量從叢集路由傳送到網際網路。建議您建立自己的安全群組。如需詳細資訊,請參閱為 EMR Notebook 指定 EC2 安全群組。
重要
如果在公有子網路中啟動網路介面,將無法透過網際網路閘道 (IGW) 與網際網路進行通訊。
-
的許可AWS Secrets Manager – 如果您使用 Secrets Manager 來存放您用來存取儲存庫的秘密,EMR Notebooks 的服務角色則 必須連接允許
secretsmanager:GetSecretValue動作的許可政策。
針對 EMR Notebooks 設定私有託管的 Git 儲存庫
使用下列指示來設定 EMR Notebooks 的私有託管儲存庫。必須提供包含 DNS 和 Git 伺服器相關資訊的組態檔案。Amazon EMR 使用此資訊來設定 EMR 筆記本,它們可將流量路由到私有託管儲存庫。
先決條件
在設定 EMR Notebooks 的私有託管的 Git 儲存庫之前,必須具備下列項目:
-
儲存 EMR 筆記本檔案Amazon S3 Control的位置。
針對 EMR Notebooks 設定一個或多個私有託管的 Git 儲存庫
-
使用提供的範本建立組態檔案。針對您要在組態中指定的每個 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>" ] } ] } ] -
-
將組態檔案另存為
configuration.json。 -
將組態檔案上傳到名為
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免受未經授權的存取。如需指示,請參閱透過使用者政策來控制對儲存貯體的存取或 Amazon S3 的安全最佳實務。如需上傳說明,請參閱《Amazon Simple Storage Service 使用者指南》中的建立資料夾和上傳物件。