本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
先決條件
主題
AWS 帳戶 使用管理使用者建立
您必須擁有 AWS 帳戶 具有 管理使用者的 :
開啟 https://portal.aws.amazon.com/billing/signup
。 請遵循線上指示進行。
部分註冊程序需接收來電或簡訊,並在電話鍵盤輸入驗證碼。
當您註冊 時 AWS 帳戶,AWS 帳戶根使用者會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務。
建立 Amazon EC2 SSH 金鑰對
如果您沒有 Amazon EC2 SSH 金鑰對,則需要建立一個金鑰對。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的使用 Amazon EC2 建立金鑰對。 Amazon EC2
增加服務配額
我們建議增加下列服務配額:
-
-
將每個 NAT 閘道的彈性 IP 地址配額從 5 提高到 8。
-
將每個可用區域的 NAT 閘道從 5 增加到 10。
-
-
-
將 EC2-VPC 彈性 IPs 從 5 提高到 10
-
AWS 您的帳戶具有每個 AWS 服務的預設配額,先前稱為限制。除非另有說明,否則每個配額都是區域特定規定。您可以請求提高某些配額,而其他配額無法提高。如需詳細資訊,請參閱此產品中 AWS 服務的配額。
建立公有網域 (選用)
建議您針對產品使用自訂網域,以擁有易於使用的 URL。您需要使用 Amazon Route 53 或其他供應商註冊網域,並使用 匯入網域的憑證 AWS Certificate Manager。如果您已有公有網域和憑證,可以略過此步驟。
建立網域 (僅限 GovCloud)
如果您要在 AWS GovCloud (美國西部) 區域中部署 ,且正在使用適用於 Research and Engineering Studio 的自訂網域,則需要完成這些先決條件步驟。
-
在建立公有託管網域的商業分割區 AWS 帳戶中部署憑證 AWS CloudFormation 堆疊
。 -
從憑證 CloudFormation 輸出中,尋找並記下
CertificateARN
和PrivateKeySecretARN
。 -
在 GovCloud 分割區帳戶中,建立具有
CertificateARN
輸出值的秘密。請注意新的秘密 ARN,並將兩個標籤新增至秘密,以便vdc-gateway
可以存取秘密值:-
res:ModuleName = virtual-desktop-controller
-
res:EnvironmentName = 【環境名稱】 (這可能是 res-demo。)
-
-
在 GovCloud 分割區帳戶中,建立具有
PrivateKeySecretArn
輸出值的秘密。請注意新的秘密 ARN,並將兩個標籤新增至秘密,以便vdc-gateway
可以存取秘密值:-
res:ModuleName = virtual-desktop-controller
-
res:EnvironmentName = 【環境名稱】 (這可能是 res-demo。)
-
提供外部資源
上的研究和工程 Studio AWS 預期在部署時存在下列外部資源。
-
網路 (VPC、公有子網路和私有子網路)
在這裡,您將執行用於託管 RES 環境、Active Directory (AD) 和共用儲存體的 EC2 執行個體。
-
儲存 (Amazon EFS)
儲存磁碟區包含虛擬桌面基礎設施 (VDI) 所需的檔案和資料。
-
目錄服務 (AWS Directory Service for Microsoft Active Directory)
目錄服務會將使用者驗證為 RES 環境。
-
秘密,其中包含格式化為鍵/值對的 Active Directory 服務帳戶使用者名稱和密碼 (使用者名稱、密碼)
Research and Engineering Studio 會使用 存取您提供的秘密,包括服務帳戶密碼AWS Secrets Manager。
提示
如果您正在部署示範環境,但沒有這些外部資源可用,則可以使用 AWS 高效能運算配方來產生外部資源。請參閱下一節 建立外部資源,以在您的帳戶中部署資源。
對於 AWS GovCloud (美國西部) 區域中的示範部署,您將需要完成 中的先決條件步驟建立網域 (僅限 GovCloud)。
在您的環境中設定 LDAPS (選用)
如果您計劃在環境中使用 LDAPS 通訊,則必須完成以下步驟,才能建立憑證並將其連接至 AWS Managed Microsoft AD (AD) 網域控制器,以提供 AD 和 RES 之間的通訊。
-
請遵循如何為 啟用伺服器端 LDAPS AWS Managed Microsoft AD
中提供的步驟。如果您已啟用 LDAPS,則可以略過此步驟。 -
確認已在 AD 上設定 LDAPS 之後,匯出 AD 憑證:
-
前往您的 Active Directory 伺服器。
-
以管理員身分開啟 PowerShell。
-
執行
certmgr.msc
以開啟憑證清單。 -
首先開啟信任的根憑證授權機構,然後開啟憑證清單。
-
選取並按住 (或以滑鼠右鍵按一下) 與 AD 伺服器同名的憑證,然後選擇所有任務,然後選擇匯出。
-
選取 Base-64 編碼的 X.509 (.CER),然後選擇下一步。
-
選取目錄,然後選擇下一步。
-
-
在 中建立秘密 AWS Secrets Manager:
在 Secrets Manager 中建立機密時,在機密類型下選擇其他類型的機密,並將 PEM 編碼的憑證貼到純文字欄位中。
-
請注意建立的 ARN,並將其輸入為 中的
DomainTLSCertificateSecretARN
參數步驟 1:啟動產品。
設定私有 VPC (選用)
在隔離的 VPC 中部署研究和工程 Studio 可提供增強的安全性,以滿足組織的合規和管理要求。不過,標準 RES 部署依賴網際網路存取來安裝相依性。若要在私有 VPC 中安裝 RES,您需要滿足下列先決條件:
準備 Amazon Machine Image AMIs)
-
下載相依性
。若要在隔離的 VPC 中部署,RES 基礎設施需要有可用的相依性,而不需要公有網際網路存取。 -
使用 Amazon S3 唯讀存取和 Amazon EC2 的受信任身分建立 IAM 角色。
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
從角色中,選擇建立角色。
-
在選取信任的實體頁面上:
-
在信任的實體類型下,選擇 AWS 服務。
-
針對服務或使用案例下的使用案例,選擇 EC2,然後選擇下一步。
-
-
在新增許可上,選取下列許可政策,然後選擇下一步:
-
AmazonS3ReadOnlyAccess
-
AmazonSSMManagedInstanceCore
-
EC2InstanceProfileForImageBuilder
-
-
新增角色名稱和描述,然後選擇建立角色。
-
建立 EC2 映像建置器元件:
-
開啟位於 的 EC2 Image Builder 主控台https://console.aws.amazon.com/imagebuilder
。 -
在已儲存資源下,選擇元件,然後選擇建立元件。
-
在建立元件頁面上,輸入下列詳細資訊:
-
針對元件類型,選擇建置。
-
如需元件詳細資訊,請選擇:
參數 使用者項目 Image operating system (OS) Linux Compatible OS Versions Amazon Linux 2, RHEL8, or RHEL9 Component name Enter a name such as: <research-and-engineering-studio-infrastructure>
Component version We recommend starting with 1.0.0. Description Optional user entry.
-
-
在建立元件頁面上,選擇定義文件內容。
-
在輸入定義文件內容之前,您需要 tar.gz 檔案的檔案 URI。將 RES 提供的 tar.gz 檔案上傳至 Amazon S3 儲存貯體,並從儲存貯體屬性複製檔案的 URI。
-
輸入下列資料:
注意
AddEnvironmentVariables
是選用的,如果您在基礎設施主機中不需要自訂環境變數,則可以將其移除。如果您要設定
http_proxy
和https_proxy
環境變數,則需要這些no_proxy
參數,以防止執行個體使用代理來查詢 localhost、執行個體中繼資料 IP 地址,以及支援 VPC 端點的服務。# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance # with the License. A copy of the License is located at # # http://www.apache.org/licenses/LICENSE-2.0 # # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions # and limitations under the License. name: research-and-engineering-studio-infrastructure description: An RES EC2 Image Builder component to install required RES software dependencies for infrastructure hosts. schemaVersion: 1.0 parameters: - AWSAccountID: type: string description: RES Environment AWS Account ID - AWSRegion: type: string description: RES Environment AWS Region phases: - name: build steps: - name: DownloadRESInstallScripts action: S3Download onFailure: Abort maxAttempts: 3 inputs: - source: '
<s3 tar.gz file uri>
' destination: '/root/bootstrap/res_dependencies/res_dependencies.tar.gz' expectedBucketOwner: '{{ AWSAccountID }}' - name: RunInstallScript action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - 'cd /root/bootstrap/res_dependencies' - 'tar -xf res_dependencies.tar.gz' - 'cd all_dependencies' - '/bin/bash install.sh' - name: AddEnvironmentVariables action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - | echo -e " http_proxy=http://<ip>
:<port>
https_proxy=http://<ip>
:<port>
no_proxy=127.0.0.1,169.254.169.254,169.254.170.2,localhost,{{ AWSRegion }}.res,{{ AWSRegion }}.vpce.amazonaws.com,{{ AWSRegion }}.elb.amazonaws.com,s3.{{ AWSRegion }}.amazonaws.com,s3.dualstack.{{ AWSRegion }}.amazonaws.com,ec2.{{ AWSRegion }}.amazonaws.com,ec2.{{ AWSRegion }}.api.aws,ec2messages.{{ AWSRegion }}.amazonaws.com,ssm.{{ AWSRegion }}.amazonaws.com,ssmmessages.{{ AWSRegion }}.amazonaws.com,kms.{{ AWSRegion }}.amazonaws.com,secretsmanager.{{ AWSRegion }}.amazonaws.com,sqs.{{ AWSRegion }}.amazonaws.com,elasticloadbalancing.{{ AWSRegion }}.amazonaws.com,sns.{{ AWSRegion }}.amazonaws.com,logs.{{ AWSRegion }}.amazonaws.com,logs.{{ AWSRegion }}.api.aws,elasticfilesystem.{{ AWSRegion }}.amazonaws.com,fsx.{{ AWSRegion }}.amazonaws.com,dynamodb.{{ AWSRegion }}.amazonaws.com,api.ecr.{{ AWSRegion }}.amazonaws.com,.dkr.ecr.{{ AWSRegion }}.amazonaws.com,kinesis.{{ AWSRegion }}.amazonaws.com,.data-kinesis.{{ AWSRegion }}.amazonaws.com,.control-kinesis.{{ AWSRegion }}.amazonaws.com,events.{{ AWSRegion }}.amazonaws.com,cloudformation.{{ AWSRegion }}.amazonaws.com,sts.{{ AWSRegion }}.amazonaws.com,application-autoscaling.{{ AWSRegion }}.amazonaws.com,monitoring.{{ AWSRegion }}.amazonaws.com,ecs.{{ AWSRegion }}.amazonaws.com,.execute-api.{{ AWSRegion }}.amazonaws.com > " > /etc/environment
-
-
選擇建立元件。
-
-
建立映像建置器映像配方。
-
在建立配方頁面上,輸入下列內容:
章節 參數 使用者項目 配方詳細資訊 名稱 Enter an appropriate name such as res-recipe-linux-x86. 版本 Enter a version, typically starting with 1.0.0. 描述 Add an optional description. 基礎映像 選取影像 Select managed images. 作業系統 Amazon Linux or Red Hat Enterprise Linux (RHEL) 影像原始伺服器 Quick start (Amazon-managed) 映像名稱 Amazon Linux 2 x86, Red Hat Enterprise Linux 8 x86, or Red Hat Enterprise Linux 9 x86 自動版本控制選項 Use latest available OS version. 執行個體組態 – Keep everything in the default settings, and make sure 在管道執行後移除 SSM 代理程式 is not selected. 工作目錄 工作目錄路徑 /root/bootstrap/res_dependencies 元件 建置元件 搜尋並選取下列項目:
-
Amazon 受管:aws-cli-version-2-linux
-
Amazon 受管:amazon-cloudwatch-agent-linux
-
由您擁有:先前建立的 Amazon EC2 元件。將您的 AWS 帳戶 ID 和目前 AWS 區域 放在 欄位中。
測試元件 搜尋並選取:
-
Amazon 受管:simple-boot-test-linux
-
-
選擇建立配方。
-
-
建立映像建置器基礎設施組態。
-
在已儲存資源下,選擇基礎設施組態。
-
選擇建立基礎設施組態。
-
在建立基礎設施組態頁面上,輸入下列內容:
章節 參數 使用者項目 一般 名稱 Enter an appropriate name such as res-infra-linux-x86. 描述 Add an optional description. IAM 角色 Select the IAM role created previously. AWS 基礎設施 執行個體類型 Choose t3.medium. VPC、子網路和安全群組 選取允許網際網路存取和存取 Amazon S3 儲存貯體的選項。如果您需要建立安全群組,您可以從 Amazon EC2 主控台使用下列輸入建立安全群組:
-
VPC:選取用於基礎設施組態的相同 VPC。此 VPC 必須具有網際網路存取。
-
傳入規則:
-
Type (類型):SSH
-
Source (來源):自訂
-
CIDR 區塊:0.0.0.0/0
-
-
-
選擇建立基礎設施組態。
-
-
建立新的 EC2 Image Builder 管道:
-
前往映像管道,然後選擇建立映像管道。
-
在指定管道詳細資訊頁面上,輸入以下內容並選擇下一步:
-
管道名稱和選用描述
-
對於建置排程,如果您想要手動啟動 AMI 製作程序,請設定排程或選擇手動。
-
-
在選擇配方頁面上,選擇使用現有配方,然後輸入先前建立的配方名稱。選擇下一步。
-
在定義映像程序頁面上,選取預設工作流程,然後選擇下一步。
-
在定義基礎設施組態頁面上,選擇使用現有的基礎設施組態,然後輸入先前建立的基礎設施組態名稱。選擇下一步。
-
在定義分佈設定頁面上,針對您的選擇考慮下列事項:
-
輸出映像必須與部署的 RES 環境位於相同的區域,以便 RES 可以從中正確啟動基礎設施主機執行個體。使用服務預設值,輸出映像會在使用 EC2 Image Builder 服務的區域中建立。
-
如果您想要在多個區域中部署 RES,您可以選擇建立新的分佈設定,並在該處新增更多區域。
-
-
檢閱您的選擇,然後選擇建立管道。
-
-
執行 EC2 Image Builder 管道:
-
從映像管道中,尋找並選取您建立的管道。
-
選擇動作,然後選取執行管道。
管道可能需要大約 45 分鐘到一小時的時間來建立 AMI 映像。
-
-
請注意產生的 AMI 的 AMI ID,並將其用作 中 InfrastructureHostAMI 參數的輸入步驟 1:啟動產品。
設定 VPC 端點
若要部署 RES 並啟動虛擬桌面, AWS 服務 需要存取您的私有子網路。您必須設定 VPC 端點以提供必要的存取權,而且您必須為每個端點重複這些步驟。
-
如果先前尚未設定端點,請遵循AWS 服務 使用介面 VPC 端點存取 中提供的指示。
-
在兩個可用區域中各選取一個私有子網路。
AWS 服務 | 服務名稱 |
---|---|
Application Auto Scaling | com.amazonaws.region .application-autoscaling |
AWS CloudFormation | com.amazonaws.region .cloudformation |
Amazon CloudWatch | com.amazonaws.region .monitoring |
Amazon CloudWatch Logs | com.amazonaws.region .logs |
Amazon DynamoDB | com.amazonaws.region .dynamodb (需要閘道端點) |
Amazon EC2 | com.amazonaws.region .ec2 |
Amazon ECR | com.amazonaws.region .ecr.api |
com.amazonaws.region .ecr.dkr |
|
Amazon Elastic File System | com.amazonaws.region .elasticfilesystem |
Elastic Load Balancing | com.amazonaws.region .elasticloadbalancing |
Amazon EventBridge | com.amazonaws.region .events |
Amazon FSx | com.amazonaws.region .fsx |
AWS Key Management Service | com.amazonaws.region .kms |
Amazon Kinesis Data Streams | com.amazonaws.region .kinesis-streams |
AWS Lambda | com.amazonaws.region .lambda |
Amazon Simple Storage Service (Amazon S3) |
com.amazonaws. 隔離環境中的跨掛載儲存貯體需要額外的 Amazon S3 介面端點。請參閱存取 Amazon Simple Storage Service 介面端點。 |
AWS Secrets Manager | com.amazonaws.region .secretsmanager |
Amazon Elastic Container Service | com.amazonaws.region .ecs |
Amazon SES | com.amazonaws.region .email-smtp (下列可用區域不支援:use-1-az2、use1-az3、use1-az5、usw1-az2、usw2-az4、apne2-az4、cac1-az3 和 cac1-az4。) |
AWS Security Token Service | com.amazonaws.region .sts |
Amazon SNS | com.amazonaws.region .sns |
Amazon SQS | com.amazonaws.region .sqs |
AWS Systems Manager | com.amazonaws.region .ec2messages |
com.amazonaws.region .ssm |
|
com.amazonaws.region .ssmmessages |
在沒有 VPC 端點的情況下連線至 服務
若要與不支援 VPC 端點的服務整合,您可以在 VPC 的公有子網路中設定代理伺服器。請依照下列步驟,使用 AWS 身分中心做為您的身分提供者,建立具有 Research and Engineering Studio 部署所需最低存取權的代理伺服器。
-
在將用於 RES 部署的 VPC 公有子網路中啟動 Linux 執行個體。
-
Linux 系列 – Amazon Linux 2 或 Amazon Linux 3
-
架構 – x86
-
執行個體類型 – t2.micro 或更高版本
-
安全群組 – 從 0.0.0.0/0 起連接埠 3128 上的 TCP
-
-
連線至執行個體以設定代理伺服器。
-
開啟 http 連線。
-
允許從所有相關子網路連線至下列網域:
-
.amazonaws.com (適用於一般 AWS 服務)
-
.amazoncognito.com (適用於 Amazon Cognito)
-
.awsapps.com (適用於 Identity Center)
-
.signin.aws (適用於 Identity Center)
-
.amazonaws-us-gov.com (適用於 Gov Cloud)
-
-
拒絕所有其他連線。
-
啟用並啟動代理伺服器。
-
請注意代理伺服器接聽的 PORT。
-
-
設定您的路由表以允許存取代理伺服器。
-
前往 VPC 主控台,識別您將用於基礎設施主機和 VDI 主機的子網路路由表。
-
編輯路由表,以允許所有傳入連線前往先前步驟中建立的代理伺服器執行個體。
-
針對您要用於基礎設施/VDIs 的所有子網路 (無網際網路存取) 的路由表,執行此操作。
-
-
修改代理伺服器 EC2 執行個體的安全群組,並確保其允許代理伺服器接聽之 PORT 上的傳入 TCP 連線。
設定私有 VPC 部署參數
在 中步驟 1:啟動產品,您需要在 AWS CloudFormation 範本中輸入特定參數。請務必依照說明設定下列參數,以成功部署到您剛設定的私有 VPC。
參數 | 輸入 |
---|---|
InfrastructureHostAMI | Use the infrastructure AMI ID created in 準備 Amazon Machine Image AMIs). |
IsLoadBalancerInternetFacing | Set to false. |
LoadBalancerSubnets | Choose private subnets without internet access. |
InfrastructureHostSubnets | Choose private subnets without internet access. |
VdiSubnets | Choose private subnets without internet access. |
ClientIP |
You can choose your VPC CIDR to allow access for all VPC IP addresses. |
HttpProxy |
Example: http://10.1.2.3:123 |
HttpsProxy |
Example: http://10.1.2.3:123 |
NoProxy |
範例:
|