클라우드 운영 관리자는 vRealize Automation Cloud Guardrails를 사용하여 OU(조직 구성 단위) 및 멤버 계정을 생성하고 환경에 배포할 수 있습니다. 기존 OU에 멤버 계정을 추가할 수도 있습니다.

예를 들어 AWS를 부트스트랩하고 org(조직)와 두 개의 기본 OU(조직 구성 단위)를 생성할 수 있습니다.

  • 코어 OU에는 보안, 로깅 아카이브 및 공유 서비스를 위한 멤버 계정이 포함될 수 있습니다.
  • 정책 OU는 기준선 계정을 포함하고 조직에 대한 정책을 추진할 수 있습니다.

이 예에서는 OU 및 멤버 계정을 생성하여 AWS 환경을 부트스트랩하고 정책을 OU에 적용합니다. AWS를 부트스트랩하려면 Cloud Guardrails 템플릿 라이브러리에서 하나 이상의 부트스트랩 템플릿 SLS 파일을 선택하고 필요에 따라 업데이트하고 Cloud Guardrails 원하는 상태로 실행합니다. 예를 들면 다음과 같습니다.

  • AWS 조직 구성 단위
  • AWS 멤버 계정
  • AWS 랜딩 영역 생성

Cloud Guardrails에서 OU 및 멤버 계정을 생성하는 템플릿을 실행한 후에는 정책을 적용하거나 워크로드 및 애플리케이션을 배포할 수 있는 VPC(Virtual Private Cloud)를 생성하여 랜딩 영역 설계를 완료할 수 있습니다. Kubernetes 클러스터를 사용하는 경우 OU 및 멤버 계정을 생성하는 템플릿을 사용하는 것이 빠른 설정을 위해 특히 중요합니다.

마무리된 랜딩 영역은 보안 인프라, 정책 및 공유 서비스를 포함하는 완전히 구성된 환경입니다. 랜딩 영역의 멤버 계정 및 프로비저닝된 OU는 정책, VPC 및 공유 서비스와 함께 Cloud Guardrails 및 지속적인 정책 시행에 사용할 랜딩 영역을 확장합니다.

Guardrails 템플릿을 사용하면 OU 및 멤버 계정을 빠르게 생성하고 환경에 배포할 수 있습니다. 중첩된 OU 및 멤버 계정으로 AWS를 부트스트랩하는 경우 이름, 유형, 제공자, 설명 및 매개 변수를 포함하는 특정 메타데이터를 포함해야 합니다.

예를 들면 다음과 같습니다.

META:
  name: AWS landing zone
  type: GUARDRAILS_BUNDLE
  provider: AWS
  description: Create nested OUs and member accounts with SCP polices.
  parameters:
    - root_org_name : Root Organization name
        type: String

OU 부트스트랩 템플릿 코드는 다음과 유사합니다.

META:
  name: AWS Organizational Unit
  provider: AWS
  category: BOOTSTRAP
  description: An organizational unit (OU) is a group of AWS accounts within an organization. An OU can also contain other OUs enabling you to create a hierarchy.

{% set organization_unit_name = params.get('organization_unit_name') %}
{% set parent_org_id = params.get('parent_org_id') %}

{{organization_unit_name}}:
  META:
    name: Create organization unit
    parameters:
      organization_unit_name:
        uiElement: text
        name: Organization Unit
        description: An organizational unit (OU) is a group of AWS accounts within an organization. An OU can also contain other OUs enabling you to create a hierarchy.
      parent_org_id:
        uiElement: text
        name: Parent Org Id
        description: An organizational name is a group of AWS accounts or OUs within an organization.
  aws.organizations.organization_unit.present:
  - org_unit_name: {{organization_unit_name}}
  - parent_id: {{parent_org_id}}

멤버 계정 부트스트랩 템플릿 코드는 다음과 유사합니다.

META:
  name: AWS Member Account
  provider: AWS
  category: BOOTSTRAP
  description: An account in Organizations is a standard AWS account that contains your AWS resources and the identities that can access those resources.

{% set member_account_name = params.get('member_account_name') %}
{% set member_account_email = params.get('member_account_email') %}
{% set member_account_role = params.get('member_account_role', 'OrganizationAccountAccessRole') %}
{% set parent_org_id = params.get('parent_org_id') %}

{{member_account_name}}:
  META:
    name: Create AWS member account
    description: An account in Organizations is a standard AWS account that contains your AWS resources and the identities that can access those resources.
    parameters:
      member_account_name:
        uiElement: text
        name: Account Name
        description: Name of member account.
      member_account_role:
        uiElement: text
        name: Role Name
        description: Provide some role to member account.
      member_account_email:
        uiElement: text
        name: Email
        description: Email id for creating member account.
      parent_org_id:
        uiElement: text
        name: Parent Org Id
        description: Id of the Organization or Organization Unit under which the account will be created.

  aws.organizations.account.present:
  - account_name: {{member_account_name}}
  - role_name: {{member_account_role}}
  - email: {{member_account_email}}
  - iam_user_access_to_billing: ALLOW
  - parent_id: {{parent_org_id}}

다음 예에서는 중첩된 OU 및 멤버 계정을 사용하여 AWS를 부트스트랩하고 OU 및 멤버 계정에 정책을 적용합니다.

사전 요구 사항

프로시저

  1. vRealize Automation Cloud 인스턴스에서 Cloud Guardrails 정책 템플릿 저장소에 액세스합니다.
    1. Guardrails 탭에서 +새로 만들기를 클릭합니다.
    2. 라이브러리에서를 클릭합니다.
    3. 부트스트랩 카드를 클릭합니다.
  2. 조직 구성 단위 및 멤버 계정을 생성합니다.
    1. AWS 조직 구성 단위라는 이름의 템플릿을 선택합니다.
    2. AWS 멤버 계정이라는 이름의 템플릿을 선택합니다.
  3. 랜딩 영역을 생성해야 하는 경우 AWS 랜딩 영역 생성이라는 이름의 템플릿을 선택합니다.
  4. 선택한 템플릿 추가를 클릭합니다.
    선택한 템플릿이 목록에 표시됩니다.
  5. 프로젝트 추가 영역에서 드롭다운 화살표를 클릭하고 프로젝트를 선택합니다.
    Cloud Guardrails 라이브러리에서 템플릿을 가져와서 템플릿을 생성할 수 있습니다.
  6. 라이브러리에서 템플릿을 더 추가하려면 더 많은 라이브러리 항목을 클릭합니다.
  7. 가져오기를 클릭합니다.
    선택하고 가져온 Cloud Guardrails 템플릿이 템플릿 목록에 나타납니다.
    이제 Cloud Guardrails 템플릿 목록에 가져온 AWS 템플릿이 포함됩니다.
  8. 사용 가능한 템플릿 목록에 다른 부트스트랩 템플릿을 추가할 수 있습니다.
    Cloud Guardrails에서는 템플릿을 편집할 수 없습니다. 템플릿 SLS 파일을 편집하려면 템플릿을 내보내서 편집하고, 업데이트된 파일을 Cloud Guardrails에 업로드해야 합니다.
    1. Guardrails 탭에서 +새로 만들기를 클릭합니다.
    2. 라이브러리에서를 클릭합니다.
    3. 부트스트랩 카드를 클릭하고 또 다른 템플릿을 선택합니다.
    예를 들어 AWS AVM(Account Vending Machine) 생성이라는 템플릿을 선택하여 클라우드 운영 관리자가 계정 보안 기준선 및 네트워크를 사용하여 이미 구성한 OU에 새 AWS 계정을 생성할 수 있습니다.

결과

Cloud Guardrails 원하는 상태로 적용할 수 있도록 Cloud Guardrails 템플릿 라이브러리에서 여러 부트스트랩 템플릿을 가져왔습니다.

다음에 수행할 작업

선택한 Cloud Guardrails 템플릿을 실행하는 Cloud Guardrails 원하는 상태를 생성합니다. 템플릿에서 Cloud Guardrails 원하는 상태를 생성하고 적용하는 방법의 내용을 참조하십시오.

Cloud Guardrails 템플릿 저장소에 직접 액세스할 수 있다면 사용 가능한 모든 템플릿을 볼 수 있습니다.