本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon 测试设置 WorkSpaces
亚马逊 WorkSpaces 允许您为用户配置虚拟的、基于云的 Windows、Amazon Linux 或 Ubuntu Linux 桌面,即。 WorkSpaces您可以根据需求的变更,快速添加或删除用户。用户可以从多个设备或 Web 浏览器访问自己的虚拟桌面。要了解更多信息 WorkSpaces,请参阅《Amazon WorkSpaces 管理指南》。
本节中的示例描述了一个测试环境,在该环境中,用户环境使用在上运行的 Web 浏览器登录 P AWS 管理控制台 ri WorkSpace vate Access。然后,用户访问 Amazon Simple Storage Service 控制台。 WorkSpace 这旨在模拟企业用户在网络上使用笔记本电脑AWS 管理控制台从浏览器访问 VPC-connected 网络的体验。
本教程用于创建和配置网络设置和要使用的简单 Active Directory, WorkSpaces 以及 WorkSpace 使用设置的分步说明AWS 管理控制台。AWS CloudFormation
下图描述了使用测试AWS 管理控制台私有 WorkSpace 访问设置的工作流程。它显示了客户端 WorkSpace、Amazon 托管 VPC 和客户托管 VPC 之间的关系。
复制以下CloudFormation模板并将其保存到一个文件中,您将在步骤的第 3 步中使用该文件来设置网络。
Description: | AWS Management Console Private Access. Parameters: VpcCIDR: Type: String Default: 172.16.0.0/16 Description: CIDR range for VPC PrivateSubnet1CIDR: Type: String Default: 172.16.1.0/24 Description: CIDR range for Private Subnet 1 PrivateSubnet2CIDR: Type: String Default: 172.16.2.0/24 Description: CIDR range for Private Subnet 2 DSAdminPasswordResourceName: Type: String Default: ADAdminSecret Description: Password for directory services admin Resources: ######################### # VPC AND SUBNETS ######################### AppVPC: Type: AWS::EC2::VPC Properties: CidrBlock: !Ref VpcCIDR InstanceTenancy: default EnableDnsSupport: true EnableDnsHostnames: true PrivateSubnet1: Type: AWS::EC2::Subnet Properties: VpcId: !Ref AppVPC CidrBlock: !Ref PrivateSubnet1CIDR AvailabilityZone: Fn::Select: - 0 - Fn::GetAZs: "" PrivateSubnet2: Type: AWS::EC2::Subnet Properties: VpcId: !Ref AppVPC CidrBlock: !Ref PrivateSubnet2CIDR AvailabilityZone: Fn::Select: - 1 - Fn::GetAZs: "" ######################### # Route Tables ######################### PrivateRouteTable: Type: AWS::EC2::RouteTable Properties: VpcId: !Ref AppVPC PrivateSubnet1RouteTableAssociation: Type: AWS::EC2::SubnetRouteTableAssociation Properties: RouteTableId: !Ref PrivateRouteTable SubnetId: !Ref PrivateSubnet1 PrivateSubnet2RouteTableAssociation: Type: AWS::EC2::SubnetRouteTableAssociation Properties: RouteTableId: !Ref PrivateRouteTable SubnetId: !Ref PrivateSubnet2 ######################### # SECURITY GROUPS ######################### VPCEndpointSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: Allow TLS for VPC Endpoint VpcId: !Ref AppVPC SecurityGroupIngress: - IpProtocol: tcp FromPort: 443 ToPort: 443 CidrIp: !GetAtt AppVPC.CidrBlock ######################### # VPC ENDPOINTS ######################### VPCEndpointInterfaceSignin: Type: AWS::EC2::VPCEndpoint Properties: VpcEndpointType: Interface PrivateDnsEnabled: true SubnetIds: - !Ref PrivateSubnet1 - !Ref PrivateSubnet2 SecurityGroupIds: - !Ref VPCEndpointSecurityGroup ServiceName: !Sub com.amazonaws.${AWS::Region}.signin VpcId: !Ref AppVPC PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: '*' Action: signin:Authenticate Resource: '*' Condition: StringEquals: aws:ResourceAccount: !Ref AWS::AccountId - Effect: Allow Principal: '*' Action: - signin:AuthorizeOAuth2Access - signin:CreateOAuth2Token Resource: '*' Condition: StringEquals: aws:PrincipalAccount: !Ref AWS::AccountId VPCEndpointInterfaceConsole: Type: AWS::EC2::VPCEndpoint Properties: VpcEndpointType: Interface PrivateDnsEnabled: true SubnetIds: - !Ref PrivateSubnet1 - !Ref PrivateSubnet2 SecurityGroupIds: - !Ref VPCEndpointSecurityGroup ServiceName: !Sub com.amazonaws.${AWS::Region}.console VpcId: !Ref AppVPC PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: '*' Action: '*' Resource: '*' Condition: StringEquals: aws:PrincipalAccount: !Ref AWS::AccountId aws:ResourceAccount: !Ref AWS::AccountId aws:SourceVpc: !Ref AppVPC - Effect: Deny Principal: '*' Action: '*' Resource: '*' Condition: StringNotEquals: aws:PrincipalAccount: !Ref AWS::AccountId aws:ResourceAccount: !Ref AWS::AccountId aws:SourceVpc: !Ref AppVPC VPCEndpointInterfaceConsoleStatic: # console-static only supports the full access endpoint policy Type: AWS::EC2::VPCEndpoint Properties: VpcEndpointType: Interface PrivateDnsEnabled: true SubnetIds: - !Ref PrivateSubnet1 - !Ref PrivateSubnet2 SecurityGroupIds: - !Ref VPCEndpointSecurityGroup ServiceName: !Sub com.amazonaws.${AWS::Region}.console-static VpcId: !Ref AppVPC ######################### # WORKSPACE RESOURCES ######################### ADAdminSecret: Type: AWS::SecretsManager::Secret Properties: Name: !Ref DSAdminPasswordResourceName Description: Password for directory services admin GenerateSecretString: SecretStringTemplate: '{"username": "Admin"}' GenerateStringKey: password PasswordLength: 30 ExcludeCharacters: '"@/\' WorkspaceSimpleDirectory: Type: AWS::DirectoryService::SimpleAD Properties: Name: corp.awsconsole.com Password: Fn::Sub: "{{resolve:secretsmanager:${DSAdminPasswordResourceName}:SecretString:password}}" Size: Small VpcSettings: SubnetIds: - !Ref PrivateSubnet1 - !Ref PrivateSubnet2 VpcId: !Ref AppVPC Outputs: PrivateSubnet1: Description: Private Subnet 1 Value: !Ref PrivateSubnet1 PrivateSubnet2: Description: Private Subnet 2 Value: !Ref PrivateSubnet2 WorkspaceSimpleDirectory: Description: Directory to be used for Workspaces Value: !Ref WorkspaceSimpleDirectory WorkspacesAdminPassword: Description: The ARN of the Workspaces admin's password. Navigate to the Secrets Manager in the AWS Console to view the value. Value: !Ref ADAdminSecret
注意
此测试设置设计为在美国东部(弗吉尼亚州北部)(us-east-1)区域中运行。
设置网络
-
登录您所在组织的管理账户并打开 CloudFormation 控制台
。 -
选择创建堆栈。
-
选择使用新资源(标准)。上传您之前创建的CloudFormation模板文件,然后选择下一步。
-
输入堆栈的名称(例如
PrivateConsoleNetworkForS3),然后选择下一步。 -
对于 VPC 和子网,输入您的首选 IP CIDR 范围,或使用提供的默认值。如果您使用默认值,请确认它们不与您的现有 VPC 资源重叠AWS 账户。
-
选择创建堆栈。
-
创建堆栈后,选择资源选项卡以查看已创建的资源。
-
选择输出选项卡,以查看私有子网和工作区简单目录的值。请记下这些值,因为您将在下一个创建和配置过程的第四步中使用它们 WorkSpace。
以下屏幕截图显示了输出选项卡的视图,其中显示了私有子网和工作区简单目录的值。
现在您已经创建了网络,请按照以下步骤创建和访问网络 WorkSpace。
要创建 WorkSpace
-
打开 WorkSpaces 控制台
。 -
在导航窗格中,选择目录。
-
在目录页面上,验证目录状态是否为活动。以下屏幕截图显示了具有一个活动的目录的目录页面。
-
要使用中的目录 WorkSpaces,必须对其进行注册。在导航窗格中,选择 WorkSpaces,然后选择创建 WorkSpaces。
-
对于选择目录,选择 CloudFormation 在前面的过程中创建的目录。在操作菜单上,选择注册。
-
要选择子网,请选择前述过程的步骤 9 中记下的两个私有子网。
-
选择启用自助服务权限,然后选择注册。
-
注册目录后,继续创建 WorkSpace。选择注册的目录,然后选择下一步。
-
在创建用户页面上,选择创建其他用户。输入您的姓名和电子邮件以使您能够使用 WorkSpace. 当 WorkSpace 登录信息发送到该电子邮件地址时,请验证该电子邮件地址是否有效。
-
选择下一步。
-
在标识用户页面上,选择您在步骤 9 中创建的用户,然后选择下一步。
-
在选择服务包页面上,选择 Amazon Linux 2 标准版,然后选择下一步。
-
对于运行模式和用户自定义使用默认值,然后选择创建工作区。 WorkSpace 开始进入
Pending状态,然后在大约 20 分钟Available内过渡到状态。 -
可用 WorkSpace 时,您将通过您在步骤九中提供的电子邮件地址收到一封包含访问说明的电子邮件。
登录后 WorkSpace,您可以测试自己是否正在使用AWS 管理控制台私有访问权限对其进行访问。
要访问 WorkSpace
-
打开您在前述过程的步骤 14 中收到的电子邮件。
-
在电子邮件中,选择提供的唯一链接来设置您的个人资料并下载 WorkSpaces 客户端。
-
设置您的密码。
-
下载您选择的客户端。
-
安装并启动客户端。输入电子邮件中提供的注册码,然后选择注册。
-
WorkSpaces 使用您在第三步中创建的凭证登录 Amazon。
要测试AWS 管理控制台私密访问设置
-
从您的 WorkSpace,打开浏览器。然后,导航到 AWS 管理控制台
并使用您的凭证登录。 注意
如果您使用 Firefox 作为浏览器,请验证浏览器设置中的通过 HTTPS 启用 DNS 选项已关闭。
-
打开 Amazon S3 控制台
,您可以在其中验证您是否已使用AWS 管理控制台私有访问进行连接。 -
在导航栏上选择锁定私有图标,以查看所使用的 VPC 和 VPC 端点。以下屏幕截图显示了锁定私有图标的位置和 VPC 信息。