设置您的组织

首次使用 Trusted Cloud时,您会获得一个新的空组织。如需使用此组织,您需要为其配置项目、网络和其他资源。 Trusted Cloud提供了多种用于配置组织的选项(包括 Terraform 模块),可帮助您快速设置您和用户开始使用时所需的资源。

本页面适用于需要在 Trusted Cloud中配置新组织的管理员。

在阅读本指南之前,您应该:

准备工作

确保所有设置选项都符合以下要求:

我们还强烈建议您在进行完整的企业配置之前,先查看Trusted Cloud by S3NS 设置引导式流程。虽然并非所有部分都与Trusted Cloud相关(例如,您无法自行创建组织),但该部分提供了有关设置基础设施的实用背景信息、指导和最佳实践。我们提供的 Terraform 模块也反映了相同的最佳实践。请注意,在执行引导式流程时, Trusted Cloud 控制台中的企业配置在 Trusted Cloud中不可用。

配置选项

在 Trusted Cloud上设置企业组织有三种可能的选项:

  • (推荐)使用我们提供的 Terraform 模块来设置组织。这是 Google Cloud 的云基础配置的调整后版本,遵循了设置企业级组织的最佳实践。
  • (仅限高级用户)如果您在 Google Cloud 中使用过现有的 Terraform“着陆区”模块,则可以对其进行调整并重复使用,以在 Trusted Cloud中配置组织。如果您选择此选项,应仔细查看两个环境之间的差异,包括概要差异和您要使用的任何服务的差异。
  • 您可以按照相关文档中的说明,使用 Google Cloud CLI 或 Trusted Cloud 控制台手动创建项目、网络、政策和其他资源。您可以使用此方法来实现最小配置(如下一部分所述)或完整的企业设置,并使用我们建议的配置或您自己的首选版本。

最少的配置工作量

如果您只想在完全设置新组织之前先试用一下,可以添加一个项目和 Virtual Private Cloud (VPC) 网络。此基本部署足以探索可用服务并运行快速入门教程:

  1. 在您的组织中创建项目
  2. 使用以下命令在项目中创建并配置一个名为 default 的 VPC 网络:

    gcloud compute networks create default
    gcloud compute firewall-rules create default-allow-internal --allow=tcp:1-65535,udp:1-65535,icmp --source-ranges 10.128.0.0/9
    gcloud compute firewall-rules create default-allow-ssh --allow=tcp:22
    gcloud compute firewall-rules create default-allow-rdp --allow=tcp:3389
    gcloud compute firewall-rules create default-allow-icmp --allow=icmp
    

没有默认网络

如果您熟悉 Google Cloud,可能不需要创建网络:在 Google Cloud 中,系统会为每个项目自动创建默认 VPC 网络(具有预先填充的 IPV4 防火墙规则)。但是, Trusted Cloud项目没有默认网络,因此您需要自行创建一个,以便您和团队成员开始使用。

建议的配置

以下是使用我们提供的 Terraform 部署的配置,这是 Google Cloud 的云基础配置的调整后版本。如果您选择使用 Trusted Cloud 控制台或 Google Cloud CLI 手动创建自己的资源和政策,也可以将此部分作为准则。

虽然此配置代表了我们发现适用于大多数组织的许多最佳实践,但可能无法满足您的所有组织或技术要求。请仔细查看此部分(以及 Terraform 本身,如果使用),并根据需要自定义配置。

以下部分介绍了我们建议的配置中的各种资源。

组织

在组织的顶层,我们建议的配置包含两个文件夹。第一个文件夹包含项目,其中包含组织共享的通用资源,例如 Cloud KMS 和 Logging 资源。另一个文件夹用于存储与网络相关的项目,例如组织的 Cloud DNS Hub,以及每个环境(开发、非生产和生产)的基础网络和受限网络共享 VPC 宿主项目

example-organization
└── fldr-common
    ├── s3ns:prj-c-kms
    ├── s3ns:prj-c-logging
└── fldr-network
    ├── s3ns:prj-net-dns
    ├── s3ns:prj-d-shared-base
    ├── s3ns:prj-d-shared-restricted
    ├── s3ns:prj-n-shared-base
    ├── s3ns:prj-n-shared-restricted
    ├── s3ns:prj-p-shared-base
    └── s3ns:prj-p-shared-restricted

环境

我们建议的配置针对每个环境(生产、非生产和预演)都创建一个文件夹。每个文件夹都包含一个项目,可供 Cloud KMS 用于与此环境专门关联的密钥管理资源。

example-organization
└── fldr-development
    ├── s3ns:prj-d-kms
└── fldr-nonproduction
    ├── s3ns:prj-n-kms
└── fldr-production
    ├── s3ns:prj-p-kms

网络拓扑

在标准配置中,该配置为每个环境(开发、非生产和生产)提供一个共享 VPC 网络,并设置合理的安全基准。此配置包括:

  • (可选)开发、非生产和生产的子网示例(包括次要范围)。
  • 创建用于允许远程访问虚拟机的分层防火墙政策。
  • 创建用于允许负载均衡健康检查的分层防火墙政策。
  • 创建用于允许 Windows KMS 激活的分层防火墙政策。
  • 虚拟机/加密磁盘
  • 应用默认 Cloud DNS 政策,并开启 DNS 日志记录和入站查询转发。

项目

每个环境都可以有多个连接到上一部分中所述的共享 VPC 网络的服务项目。如果您部署此配置且不进行修改,我们提供的 Terraform 会创建以下一组项目。项目会分组到每个环境中的文件夹,其中每个文件夹都与特定业务单元相关联。对于每个业务单元,系统会使用 Cloud Build 触发器、应用基础设施代码的证书签名请求 (CSR) 和用于存储状态的 Cloud Storage 存储桶创建共享 infra-pipeline 项目。

example-organization/
└── fldr-development
    └── fldr-development-bu1
        ├── s3ns:prj-d-bu1-sample-floating
        ├── s3ns:prj-d-bu1-sample-base
        ├── s3ns:prj-d-bu1-sample-restrict
        ├── s3ns:prj-d-bu1-sample-peering
    └── fldr-development-bu2
        ├── s3ns:prj-d-bu2-sample-floating
        ├── s3ns:prj-d-bu2-sample-base
        ├── s3ns:prj-d-bu2-sample-restrict
        └── s3ns:prj-d-bu2-sample-peering
└── fldr-nonproduction
    └── fldr-nonproduction-bu1
        ├── s3ns:prj-n-bu1-sample-floating
        ├── s3ns:prj-n-bu1-sample-base
        ├── s3ns:prj-n-bu1-sample-restrict
        ├── s3ns:prj-n-bu1-sample-peering
    └── fldr-nonproduction-bu2
        ├── s3ns:prj-n-bu2-sample-floating
        ├── s3ns:prj-n-bu2-sample-base
        ├── s3ns:prj-n-bu2-sample-restrict
        └── s3ns:prj-n-bu2-sample-peering
└── fldr-production
    └── fldr-production-bu1
        ├── s3ns:prj-p-bu1-sample-floating
        ├── s3ns:prj-p-bu1-sample-base
        ├── s3ns:prj-p-bu1-sample-restrict
        ├── s3ns:prj-p-bu1-sample-peering
    └── fldr-production-bu2
        ├── s3ns:prj-p-bu2-sample-floating
        ├── s3ns:prj-p-bu2-sample-base
        ├── s3ns:prj-p-bu2-sample-restrict
        └── s3ns:prj-p-bu2-sample-peering
└── fldr-common
    ├── s3ns:prj-c-bu1-infra-pipeline
    └── s3ns:prj-c-bu2-infra-pipeline

日志记录和监控

建议的配置的最后一步是在组织的通用日志记录项目中配置日志存储桶和 Pub/Sub 日志接收器。必要时会启用所需的 API。在组织级层配置非拦截汇总接收器,以将日志条目路由到包含日志存储桶的通用项目。如需详细了解此配置的工作原理,请参阅集中式日志存储

您和您的组织成员可以通过 Trusted Cloud 控制台或通过将订阅连接到 Pub/Sub 主题(采用拉取模式)在 Logs Explorer 中查看日志。 Trusted Cloud 中的 Cloud Logging 仅将日志保留三十天。

使用 Terraform 配置组织

我们建议您使用 Terraform 来配置组织,尤其是您从未在 Google Cloud 上设置过组织的情况下。所提供的 Terraform 会自动设置默认文件夹、项目、集中日志记录和监控、网络等,如建议的配置中所述。您可以在部署前或部署后根据自己的需求调整此配置。

Terraform 是根据 Google Cloud 的云基础配置进行调整的。您可以在云基础模块的仓库中详细了解这些模块,但请注意,并非所有信息都与此Trusted Cloud特有的设置相关。

在开始之前,请确保您已安装 Terraform 工具。由于 Trusted Cloud中不支持 Cloud Shell,因此请按照说明在本地安装 Terraform。

下载 Terraform 文件。

如需下载最新的 Terraform 资产,请与您的支持团队或客户支持团队联系。从 GitHub 下载公开的 Terraform 即将推出!

在部署配置之前,请查看(并根据需要修改)为组织部署的内容,如建议的配置中所述。除了配置之外,提供的 Terraform 还包含一个用于部署以下内容的引导模块:

  • 包含以下内容的 s3ns:prj-b-seed 项目:
    • Terraform 状态存储桶
    • Terraform 用于在 Trusted Cloud中创建新资源的自定义服务账号

应用 Terraform

如需应用 Terraform,请执行以下操作:

  1. 前往包含 Terraform 配置文件的目录。
  2. 打开并修改提供的 terraform.tfvars 文件,为以下参数指定您选择的值:

    org_id = ORG_ID
    billing_account = BILLING_ACCOUNT
    billing_project = moonrise-replace5ee46da7eba742199d747bf5477bed08moonrise-replace:BILLING_PROJECT
    prefix = FOLDER_PREFIX
    

    替换以下内容:

    • ORG_ID:组织的唯一 ID
    • BILLING_ACCOUNT:您的结算账号
    • BILLING_PROJECT:组织的结算项目(有时称为其配额项目
    • FOLDER_PREFIX(可选):您要应用于所有唯一文件夹和项目名称的前缀
  3. 部署配置。

    terraform init
    terraform apply
    

排查使用现有资源部署 Terraform 时的问题

如果下载的 Terraform 配置尝试创建已存在的资源,Terraform 会退出并显示 409 错误代码。如需解决这些错误,您可以使用 Trusted Cloud 控制台或 gcloud CLI 删除资源,然后重新应用 Terraform 配置。或者,如果这些资源至关重要且无法删除,您可以将资源导入 Terraform 状态

验证设置

如需验证您的设置,我们建议您先使用 Google Cloud CLI 或 Trusted Cloud 控制台检查您的文件夹和项目结构是否已正确设置。

然后,您可以使用选择的工作负载,或者按照我们的某些快速入门教程,尝试在某个服务项目中部署应用工作负载。这些简短教程可帮助您快速在 Trusted Cloud上启动并运行简单示例。如需了解详情,请参阅后续步骤

后续步骤