본문 바로가기

Infrastructure/Cloud Computing

[AWS] Landing Zone 배포 자동화

Landing Zone 배포 자동화

이번 장에서는 AWS의 Landing Zone 배포 자동화에 대해서 알아본다.


  • AWS에 애플리케이션을 배포하기 전에 계정 구조, 보안 규칙, 기본 네트워크 설정 및 기타 기본 서비스를 배치하는 기본 환경을 설계하고 구성해야 한다.
  • 이러한 기본 환경을 “랜딩 존”이라고 하며 여러 팀이나 프로젝트를 지원할 환경이 필요한 고객에게 권장되는 모범 사례다.
  • 다중 계정 구조, 보안 제어, 가드레일이 있는 셀프 서비스, 확장성 및 초기 랜딩 존 환경의 확장성을 포함하여 AWS에서 권장하는 IaC 환경의 “랜딩 존” 모범 사례를 확인해본다.
  • “랜딩 존” 모범 사례의 핵심 요소는 여러 계정을 사용하는 것이다.
  • 단일 계정 내에서 작업할 수는 있지만 환경이 커짐에 따라 동일한 계정의 많은 팀이 서로 다른 책임과 리소스 요구 사항으로 인해 서로를 간섭하기 때문에 환경을 관리하기가 어려워진다.
  • 또한 다른 계정이 필요한 완전히 다른 비즈니스 단위나 제품이 있을 수 있으며, 이러한 단위나 제품을 보호하고 격리하는 단위가 AWS 계정이다.
  • 다양한 보안 프로필 또는 규정 준수 제어 요구 사항에 따라 계정을 격리해야 할 수 있다.
  • 계정은 청구 수준에서 항목을 구분하는 유일한 방법이기 때문에 다중 계정 구조는 사업 단위 간 전송 요금과 같은 청구 관리에 도움이 된다.

랜딩 존 모범 사례

  • “랜딩 존” 모범 사례를 통해 AWS는 아래 이미지와 같이 다중 계정 구조를 권장한다.
    • Organizations master account: AWS Organization 서비스에서 멤버 계정을 프로비저닝하고 관리한다.
    • Core Accounts in an Organizational Unit: 로그 아카이브, 보안 관리 및 디렉터리 서비스와 같은 공유 서비스와 같이 조직의 모든 계정에 공통적인 필수 기능을 제공한다.
    • Team/Group accounts in Organizational Units: 팀 또는 그룹 수준의 세분화에서 개별 비즈니스 단위에 대해 지정된다. 예를 들어, 팀 계정 집합은 팀의 Shared Services 계정, Development 계정, Pre-Production 계정 및 Production 계정으로 구성될 수 있다.
    • Developer accounts: 개인의 학습 및 실험을 위한 “샌드박스”다.
    • Connectivity: 계정 간 및 외부 데이터 센터와의 기본 네트워킹 패턴으로 설정된다.

  • 다중 계정 구조로 포괄적인 “랜딩 존”을 구축하는 것은 어려울 수 있다.
    1. 계정의 수와 유형, 네트워크 아키텍처, 사용자 액세스, 로그 집계와 같은 많은 설계 결정을 내린다.
    2. 조직 구조, 팀 업무, 비즈니스 프로세스, 청구 등을 기반으로 계정 및 서비스를 구성해야 한다. 또한 계정 유형, 데이터 분류, 암호화 및 감사와 관련된 보안 및 규정 준수 요구 사항을 해결해야 한다.
  • 디자인 선택의 폭이 넓기 때문에 “랜딩 존” 환경을 설정하는 데 상당한 시간이 걸릴 수 있으며 AWS 서비스에 대한 깊은 이해가 필요하다.

AWS 랜딩 존 솔루션

  • 온보딩을 가속화하기 위해 “AWS Landing Zone”은 다중 계정 아키텍처, 초기 보안 기준, ID 및 액세스 관리, 거버넌스, 데이터 보안, 네트워크 설계 및 로깅을 사용하여 랜딩 존 환경 설정을 자동화한다.
  • 솔루션은 고객이 완전히 새로운 AWS 환경을 설정할 수 있도록 구축되었으며 대규모 마이그레이션을 위한 프로덕션 구현을 지원하도록 확장할 수 있다.
  • 아래의 그림은 “AWS Landing Zone” 구조를 보여주며, 기본 솔루션 구현은 “AWS Organizations”, “Shared Services”, “Log Archive” 및 “Security”의 네 가지 핵심 계정을 배포한다.

  • Account Management
    • AWS Landing Zone은 다중 계정 환경을 생성하고 기준선을 설정하기 위한 프레임워크를 제공하고, 초기 다중 계정 구조에는 보안, 감사 및 공유 서비스 요구 사항이 포함된다.
    • 환경을 확장하기 위해 추가 계정의 자동 배포를 가능하게 하는 “Account Vending Machine”이라는 기능이 있다.
  • Identity and Access Management
    • 중앙 집중식 액세스 관리를 지원하는 교차 계정 역할로 구성된다.
    • AWS Single Sign-On(SSO) 연동을 사용하여 사용자 계정 액세스를 관리한다.
  • Solution Extensibility
    • 고객별 애드온 솔루션 또는 서비스(예: 중앙 집중식 로깅)로 기본 랜딩 존 배포를 확장할 수 있다.
    • 애드온은 AWS Service Catalog에서 관리 및 배포된다.
  • Security and Governance
    • AWS GuardDuty를 활성화하고 Amazon Virtual Private Cloud(VPC)를 네트워크 기준으로 제거한다.
    • 보안 가드레일을 제공하기 위해 솔루션은 각 계정에 계정 기준선을 배포한다.
    • 기본 계정 기준은 아래의 리소스 및 서비스로 구성된다.
      • AWS CloudTrail: 모든 AWS 서비스 API 호출을 로그 아카이브 계정의 Amazon S3 버킷으로 전달한다.
      • AWS Config: AWS 리소스의 구성을 Log Archive S3 버킷으로 전달한다.
      • AWS Config Rules: AWS 리소스를 프로비저팅, 구성 및 모니터링하기 위한 규칙(암호화 및 다단계 인증(MFA))을 정의한다.
      • Amazon GuardDuty: 지능형 위협 탐지 및 지속적인 모니터링을 제공하여 AWS 계정과 리소스를 보호한다.
      • IAM Roles and Policies: AWS Landing Zone은 다양한 직무를 가진 직원에 대한 보안 관리자 및 읽기 전용 역할과 정책을 설정한다.
      • IAM Password Policy: AWS Landing Zone은 암호 복잡성을 적용하기 위해 암호 정책을 설정한다.
      • Notifications: AWS Landing Zone은 루트 계정 로그인, 콘솔 로그인 실패 및 계정 내 API 인증 실패에 대한 알림을 보내도록 Amazon CloudWatch 경보 및 이벤트를 구성한다.
      • Amazon VPC Infrastructure: AWS Landing Zone은 계정에 대한 초기 네트워크를 구성한다. 여기에는 모든 리전에서 기본 VPC 삭제, AVM 요청 네트워크 유형 배포, 해당하는 경우 Shared Services VPC와의 네트워크 피어링이 포함된다.
  • AWS Landing Zone은 계정 기준 설정을 통해 AWS 모범 사례에 따라 계정 및 가드레일 설정을 자동화하여 고객의 시간을 절약한다.

AWS Landing Zone으로 대규모 마이그레이션 관리

  • AWS Landing Zone은 대규모 AWS 마이그레이션을 수행할 때 Logicworks의 이동 솔루션이 되었다.
  • 대부분의 Logicworks 컨설팅 및 관리 서비스 클라이언트는 HIPAA, HITRUST, PCI-DSS, SOC1, SOC2, FedRAMP 등을 포함하여 하나 이상의 규제 프레임워크를 충족해야 한다.
  • 회사의 경우 단일 엔지니어의 AWS 엑세스 범위를 제한하는 것이 중요하므로 비즈니스의 한 영역에서 데이터가 우발적 또는 악의적으로 노출되어도 전체 AWS 계정이 손상되지 않는다.
  • 동일한 계정 내의 별도 환경이 아니라 하나의 “마스터” 계정 아래에 있는 별도의 계정을 사용하면 마스터가 단일 위치의 모든 계정의 정책을 적용할 수 있다.
  • AWS Landing Zone을 사용하면 여러 계정을 더 쉽게 설정할 수 있을 뿐만 아니라 운영 오류가 덜 발생하게 할 수 있으며, 몇 시간 이내에 복잡하고 안전한 다중 계정 구조를 설정할 수 있으며 새로운 각 계정에 대한 보안 가드레일을 자동으로 활성화한다.

Logicworks 사용 사례: 뱅킹

  • 한 대형 은행은 최근 공통적인 문제를 가지고 Logicworks에 접근하였다.
  • 서로 다른 부서에서 서로 다른 관심사를 가지고 있었고 모든 사람이 같은 페이지를 이해하는 데 약간의 어려움이 있었으며, 각 팀은 AWS를 다르게 구성하고 제어하기를 원했다.
  • 조직에는 수백 가지 규제 제어 요구 사항이 있었고 각 프로젝트에는 이러한 요구 사항의 다른 하위 집합이 필요했다.
  • Logicworks는 고객이 서로 다른 팀을 기반으로 각 AWS 계정 내에서 필요한 제어 및 역할을 규범적으로 정의하도록 도울 수 있었다.
    • 네트워크 담당자는 Route, 피어링 연결, VPC, Direct Connect를 생성하고 관리할 수 있는 권한이 있지만, EC2 인스턴스 또는 AWS Lambda와 같은 기타 컴퓨팅 서비스를 배포할 수는 없다.
    • 보안 팀은 다른 계정에서 권한 있는 IAM 역할을 맡을 수 있는 권한이 있지만 더 높은 인증 표준을 사용하므로 더 자주 MFA를 사용하거나 대체 소스를 사용해야 한다.
    • DevOps 담당자는 관리 서비스 호스트에 액세스할 수 있지만 실제로 액세스할 수 있는 계정으로 제한된다.
  • Logicworks는 특정 환경에 규정이나 정책이 적용되는지 알기 어려운 시나리오를 피하면서 금융 산업 규정을 충족할 수 있으며, 아래는 예시이다.
    • Shared Services 계정에 액세스할 때 InfoSec 역할은 기존 도메인 컨트롤러를 볼 수 있지만 새 EC2 인스턴스를 인스턴스화하거나 네트워크를 설정할 수는 없다.
    • 다른 계정에 액세스할 때 보안 팀은 로그를 읽을 수 있지만 네트워크 설정을 직접 수정할 수는 없다.
    • DevOps 팀은 Shared Services 계정에서 대부분의 객체를 볼 수 있지만 지정된 애플리케이션 환경 계정 중 하나에서만 CodeStar 프로젝트를 생성할 수 있다.
  • Landing Zone을 시작하기 위해 Logicworks는 먼저 모든 하위 계정을 포함할 새 조직 마스터 계정을 생성하고 수집된 환경에서 실제로 수행되는 역할에 대해 생각한다.
  • AWS 계정을 구성하는 방법에는 여러 가지가 있으며 애플리케이션을 팀별로 나누는 것이 일반적이다.

Logicworks 사용 사례: 금융 서비스

  • Logicworks는 유럽의 대규모 금융 서비스 회사와 협력하여 수백 개의 애플리케이션을 AWS로 마이그레이션하였다.
  • PCI-DSS 준수에 매년 많은 비용을 지출하고 규제 데이터가 포함되지 않은 워크로드에 시간과 리소스를 소비하지 않기를 원했기 때문에 “감사의 범위”를 줄이는 것이 중요하였다.
  • 회사는 규제 데이터가 저장되고 전송되는 위치를 확인하기 위해 기존 애플리케이션을 감사하는 것으로 시작하였고, AWS로의 마이그레이션을 쉽게 하기 위해 애플리케이션 간의 종속성을 줄였다.
  • Logicworks의 지침에 따라 회사는 궁극적으로 마스터 계정, 프로덕션 규제-계정, 프로덕션 비규제-계정, 비프로덕션 규제-계정, 비프로덕션 비규제-계정으로 다중 계정을 구축하였으며, Logging, Security, Shared Services 계정과 결합되어 완전한 사용자 지정 랜딩 존을 구현하였다.
  • 다중 계정 구성을 시작할 때 중요한 시간 절약은 많은 빌드의 필수 부분인 AVM(Account Vending Machine) 기능이다.
  • AVM 기능은 모든 새로운 계정에 필요한 상용구 가드레일을 처리하는 미리 정의된 템플릿에 따라 마스터 아래에 추가된 하위 계정이 구축되도록 하는 데 필수적이다.
  • 하위 계정이 추가되면 이전에 정의된 스택 세트가 새 환경에 자동으로 롤아웃되어 각각의 추가 계정에 대한 기본 리소스 세트를 제공한다.

Summary

  • AWS Landing Zone은 보안 및 거버넌스 제어와 네트워크 설정을 갖춘 다중 계정 구조에서 시작된다.
  • 고객 비즈니스 요구 사항에 따라 초기 AWS Landing Zone 환경은 Account Vending Machine 기능, Landing Zone 추가 기능 및 자동화된 리소스 기준 설정과 같은 기능을 통해 확장할 수 있다.
  • 다중 계정 구조 작업의 또 다른 이점은 개별 비즈니스 단위에 부여된 향상된 효율성으로, 조직 내의 개별 그룹은 조직에서 요구하는 보안 및 규정 준수 표준을 준수하면서 자체 리소스를 보다 쉽게 관리할 수 있다.

참고 자료

'Infrastructure > Cloud Computing' 카테고리의 다른 글

[AWS] AWS Control Tower 개념  (0) 2022.12.16
[AWS] Landing Zone Accelerator  (0) 2022.12.16
[AWS] Landing Zone 개념  (0) 2022.12.16
[AWS] AWS Organizations 관련 서비스  (0) 2022.12.16
[AWS] AWS Organizations  (0) 2022.12.08