AWS는 Landing zone 구성을 위한 백서 및 Cloud Formation을 Github에 공개하고 버전관리도 수행한다 또한 AWS의 서비스 중 Landing zone 관리를 위한 서비스인 Control tower도 제공한다
2020년 7월 기준 GCP는 Landing zone 형태의 서비스 구성에 어려운점이 많아 구성하지 않는것이 좋다 (Transit GW 같은 서비스가 없어 VPC Peering 구성해야 하는게 가장 큰듯)
AWS Landing zone은 Organization을 기반으로 각자의 용도가 분명한 Account들이 협업하는 구조이다
Organization의 Service Control Policy 정책에 따라 Account들이 관리 된다 각자의 용도가 분명한 Account 1개 에는 1개의 VPC 만 구성한다
크게 분류하면(Organization Unit 으로는...) Root, Core, Service 로 나눌 수 있다 Core에는 Shared, Network, Security 등의 Landing zone 주요 서비스들이 구성된다 Service에는 실제 고객의 인프라 자원들이 생성되는 곳이다
AWS Landing Zone 솔루션은 AWS Account Vending Machine(AVM) 제품을 배포하여 새로운 계정을 프로비저닝하고 자동으로 구성합니다. AVM은AWS Single Sign-On(SSO)을 활용하여 사용자 계정 액세스를 관리합니다. 고객은 이 환경을 사용자 지정하여 Landing Zone 구성 및 업데이트 파이프라인을 통해 자체 계정 기준을 구현할 수 있습니다.
1. AWS Landing Zone 솔루션에는 4개의 계정과 AWS Service Catalog를 사용하여 배포할 수 있는 애드온 제품(예: Centralized Logging 솔루션, AWS Managed AD and Directory Connector for AWS SSO)이 포함됩니다.
*AWS Organization 계정
AWS Landing Zone이AWS Organizations계정에 배포됩니다. 이 계정은 구성을 관리하고 AWS Landing Zone 관리형 계정에 액세스하는 데 사용됩니다. AWS Organizations 계정은 멤버 계정을 생성하고 재정적으로 관리하는 기능을 제공합니다. AWS Landing Zone 구성 Amazon Simple Storage Service(Amazon S3) 버킷과 파이프라인, 계정 구성 StackSets,AWS Organizations 서비스 제어 정책(SCP), AWS Single Sign-On(SSO) 구성이 포함됩니다.
*로그 서비스 계정
공유 서비스 계정은 디렉터리 서비스와 같은 인프라 공유 서비스에 대한 참조입니다. 기본적으로 이 계정은 Account Vending Machine (AVM)으로 생성된 새로운 AWS 계정과 자동으로 피어링될 수 있는 공유된 Amazon Virtual Private Cloud(VPC)에서 AWS SSO 통합을 위한 AWS 관리형 Active Directory를 호스팅합니다.
*로그 아카이브 계정
로그 아카이브 계정에는 로그 아카이브 계정에 있는 모든 AWS CloudTrail 및 AWS Config 로그 파일의 사본을 저장하기 위한 중앙 Amazon S3 버킷이 있습니다.
*보안 계정
보안 계정은 모든 AWS Landing Zone 관리형 계정에 대한 감사자(읽기 전용) 및 관리자(전체 액세스) 교차 계정 역할을 생성합니다. 이 역할은 회사 보안 및 규정 준수 팀이 인시던트 발생 시 긴급 보안 작업을 감사하거나 수행하는 데 사용하는 것을 목적으로 합니다.
또한, 이 계정은 마스터Amazon GuardDuty계정으로 지정됩니다. 마스터 계정 사용자는 GuardDuty를 구성하고 자신의 계정 및 모든 멤버 계정에 대한 GuardDuty 결과를 확인할 수 있습니다.
2. Account Vending Machine(AVM)은 AWS Landing Zone 주요 구성 요소입니다. AVM은AWS Service Catalog제품으로 제공되는데, 고객이 계정 보안 기준으로 사전 구성된 OU(조직 단위)의 새 AWS 계정과 사전 정의된 네트워크를 생성합니다.
3. AWS 계정에 권한이 최소화된 개별 사용자 액세스를 제공하는 것은 AWS 계정 관리의 필수적이면서도 기본적인 구성 요소입니다. AWS Landing Zone 솔루션은 고객에게 사용자 및 그룹을 저장하는 2가지 옵션을 제공합니다.
4. AWS Landing Zone 솔루션은 루트 계정 로그인, 콘솔 로그인 실패, API 인증 실패, 계정 내 변경 사항(보안 그룹, 네트워크 ACL, Amazon VPC 게이트웨이, 피어링 연결, ClassicLink, Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스 상태, 라지 Amazon EC2 인스턴스 상태, AWS CloudTrail, AWS Identity and Access Management(IAM) 정책, AWS Config 규칙 준수 상태)이 발생할 경우 알림을 전송하도록Amazon CloudWatch경보 및 이벤트를 구성합니다.
랜딩 영역은 보안 및 규정 준수 모범 사례를 기반으로하는 잘 설계된 다중 계정 AWS 환경입니다.AWS Control Tower는 자격 증명, 연동 액세스 및 계정 구조에 대한 모범 사례 청사진을 사용하여 새로운 랜딩 영역의 설정을 자동화합니다.랜딩 존에서 자동으로 구현되는 블루 프린트의 몇 가지 예는 다음과 같습니다.
AWS Organizations를 사용하여 다중 계정 환경 생성
AWS Single Sign-On (SSO) 기본 디렉터리를 사용하여 자격 증명 관리 제공
AWS SSO를 사용하여 계정에 대한 연동 액세스 제공
AWS CloudTrail 및 Amazon S3에 저장된 AWS Config의 로깅을 중앙 집중화합니다.
if n3 < 10 : n3 = int(str(n3) + "12") elif n3 >=10 and n3 < 100 : n3 = int(str(n3) + "1") n = [n1, n2, n3] n = sorted(n, reverse=True) sortedNum = n
return sortedNum
# 정열된 3자리 숫자를 자릿수끼리 덧셈 연산결과를 이용 새로운 숫자 만들기
# sortedNum: 정열된 숫자열, 숫자로된 문자열 목록, result: 생성된 숫자
def NewNum(sortedNum): NewNum = 0
res = [] qor = [int(str(item)[0]) for item in sortedNum] tlq = [int(str(item)[1]) for item in sortedNum] dlf = [int(str(item)[2]) for item in sortedNum] res.append(sum(qor) % 10) res.append(sum(tlq) % 10) res.append(sum(dlf) % 10)
for i in range(len(res)): NewNumber += 10**(len(res) - i - 1) * res[i]
## List 정렬 >>> a=[1,3,4,5,2] >>> a.sort() >>> a [1,2,3,4,5]
>>> a.reverse() [5,4,3,2,1]
>>> a[::-1] [5, 4, 3, 2, 1]
## List 정렬2 (2개 리스트를 한개의 순서에 맞추어 동시에 정렬) for i in range (0, len(totalID)-1) : for k in range(i+1, len(totalID)) : if int(totalPay[i]) < int(totalPay[k]) : totalPay[i], totalPay[k] = totalPay[k], totalPay[i] totalID[i], totalID[k] = totalID[k], totalID[i]