고기 대신 SW 한점/Public Cloud

[AWS] LandingZone - OU 설계안

지식한점 2023. 1. 6. 08:44
반응형

LandingZone과 연계된 OU(Organization Units) 설계부터 확인이 필요하다.
ROOT 계정은 모든 AWS의 권한을 가지고 있기 때문에 이것만으로도 원하는 AWS 서비스를 생성하고 사용할 수 있지만 현업에서는 다양한 부서와 지사 등의 관계가 얽혀있기에 엔터프라이즈 환경에서 권한을 어떻게 부여하고 제어할지 잘 설계해야 한다.

특정 목적에 의해 AWS 계정을 묶어 관리하는 상위 개념을 OU(Organizational Unit)이라 한다. 개발사라면 개발팀/QA팀/운영팀으로 OU를 나눌 수도 있고 일반 회사라면 영업팀/마케팅팀/개발팀 이렇게 나눌 수도 있겠다. 이렇게 생성한 OU 밑에 하위 AWS 계정을 만들어 독립적으로 관리하고 사용할 수 있도록 한 것이 AWS 계정(account)다. 어카운트는 필요한 AWS 리소스를 생성하고 이에 대한 모니터링과 관리, 과금의 주체라 할 수 있다.

모든 OU를 관리하면서 전반적인 AWS의 쓰임새를 최상위에서 관리하는 어카운트를 관리 어카운트(management account) 혹은 ROOT 어카운트라 한다. - 이것을 account의 최상위 ROOT 어카운트 계정과 혼동하지 말자.

ROOT 어카운트는 각 OU의 정책을 설정하여 적용시킬 수 있는데 이를 SCP(Service Control Policies: 서비스 제어 정책)라 한다. SCP는 OU가 특정 서비스를 사용할 수 있는지 없는지, OU 하위의 각 어카운트가 어떤 서비스를 사용할 수 있는지 등의 정책을 생성하고 할당한 것이다.



1. OU/계정 설계

목적

  • 여러 AWS 계정을 사용하여 비즈니스 애플리케이션과 데이터를 격리하고 관리하면 운영 우수성, 보안, 안정성, 비용 최적화를 비롯한 대부분의 AWS Well-Architected Framework 기반에서 최적화하는 데 도움이 될 수 있습니다. 이 문서는 전체 AWS 환경을 구성하기 위한 모범 사례를 기반으로 비즈니스 요구 사항에 따라 초기 계정들과 OU 구조에 대한 설계 가이드라인을 제공하고 결정 할 수 있도록 합니다.
  • OU 구조화의 주된 목적은 AWS 계정 그룹별로 가드레일을 적용 및 OU별 거버넌스 적용을 위한 자동화이므로 기업 조직 구조를 그대로 반영할 필요는 없습니다.

 

Design Principles

  • 보안과 운영 요구사항에 맞도록 OU 설계
  • 보안 가드레일은 OU 단위로 정의
  • 가급적 Chid OU 사용 최소화
  • 필요에 따라 확장 가능하도록 작은 단위로부터 시작
  • 관리 계정(Payer)에 워크로드용 자원 배포 금지
  • Production 과 그 외 계정들의 OU 분리
  • 각 Production 계정에는 가능한 작은 단위의 워크로드가 구성되도록 세분화(워크로드별 Owner가 다른 경우)
  • Federated Access(SSO 또는 IAM Integration)을 통한 접근 제어
  • 민첩성, 확장성을 고려한 자동화 가능하도록 설계

 

Centralized Management of Resources

 

Landing Zone 을 배포하기 위해서는 기본 3개의 계정이 필요(관리, 로그 아카이브, 감사)
관리 계정(Payer)에서 Control Tower를 Enable 할 경우 2개의 계정이 자동 생성(Security OU)
결정 사항 : AWS Organization 사용 vs Control Tower 사용(Recommend)

with Control Tower w/o Control Tower
KMS customer-managed Key 생성 n/a
관리자 권한을 위한 IAM role 사전 정의 관리자 권한을 위한 IAM role 사전 정의
랜딩존 Region 정의 n/a
자동 배포되는 필수 계정(로그 아카이브, 감사) 사용 로그 아카이브, 감사 계정 별도 생성
기본 가드레일 자동 적용 기본 가드레일 메뉴얼 적용
Customization Add-on 사용(추가 가드레일 및 자동화 요구 사항) 추가 가드레일 및 자동화를 위한 파이프라인 별도 구성 
계정 팩토리를 통한 계정 생성 메뉴얼 생성 후 조직에 초대
 

AWS 리전 서비스

 

aws.amazon.com

AWS Organization Matrix

Root(Management, Payer) 계정

 

 

AWS Control Tower (CFCT) 사용자 지정 개요 - AWS Control Tower

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

Owner CIO or LOB(Line of Business) head
Components
  • AWS Organizations Root account
  • 조직내 모든 하위 계정의 빌링 정보 저장(S3 Bucket)
  • 계정 생성 시 Bootstrapping
  • Account Baseline 정의 등 Landing Customization을 위한 Pipeline(CFCT) 관리

 

 

LogArchive(로그 아카이브) 계정

  • 보안 및 컴플라이언스 관련 로깅 및 감사
  • 모든 계정의 CloudTrail 로그를 집계(S3 Bucket)
  • Centralized Logging Add-on 및 3'rd party 분석 툴등을 통해 분석
  •  

OwnerComponents

Owner CISO(Security Compliance Team)
Components
  • 조직 내 모든 계정의 시큐리티 로그 저장(S3 Bucket)

 

 

Security(감사) 계정

  • 보안 감사
  • 하위 계정들의 리소스에 대한 View/Scan
  • 보안 테스팅
  • 보안 중앙 감사를 통한 도구 정의 및 감사

Owner CISO(Security/Compliance Team)
Components
  • 조직 내 모든 계정에 대한 Read-only / Write-only cross-accout role 
  • 감사 중앙 집중화를 위한 솔루션들 Enable(GuardDuty, Security Hub, Config Aggregation, Firewall Manager 등)

 

Optional - Shared Services 계정

  • 공유 자원 관리
  • 인증(AD 등) 도구
  • CI/CD 도구 셋업
  • Golden AMI 생성
  • 서비스 카탈로그 생성 및 공유
  • 인프라/워크로드 모니터링 도구
  • 하위 계정들에 자원을 프로비저닝하기 위한 Hub 계정 역할로 사용

 

Optional-Network(네트워크) 계정

  • 네트워크 Connectivity(DX, VPN, TGW 등) 관리
  • Shared VPCs

기타

  • 센드박스(PlayGround) 계정
    • On-prem, VPN, Shared Services, 워크로드 등과 연결 하지 않고 독립적인 공간으로 활용
    • 예산 제한
    • 사용하지 않는 자원 삭제/정리
  • Dev/Test 계정
  • Production 계정


 

 

반응형

'고기 대신 SW 한점 > Public Cloud' 카테고리의 다른 글

[Public Cloud] Kyverno ?  (0) 2023.01.10
[AWS] LandingZone - VPC Design  (1) 2023.01.06
[AWS] HPA - Horizontal Pod Autoscaler  (0) 2023.01.05
[AWS] Cluster Autoscaler (CA)  (0) 2023.01.04
[AWS] WAF Managed Rule Set 적용 예  (0) 2023.01.04