1. 1/2세대 VM의 지원OS비교

https://docs.microsoft.com/ko-kr/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v

 

1 또는 2 세대 가상 컴퓨터를 Hyper-v에서 만들어야 하나요?

부팅 메서드 같은 지원 되는 고려 사항 및 요구 사항에 맞는 세대를 선택할 수 있도록 다른 기능 차이 제공 합니다.

docs.microsoft.com

2. 1/2세대 VM의 OS, Disk제한 비교

-1세대 : OS 300GB, data 4TB, bitlocker지원 안됨, VHD/VHDX지원

-2세대 : OS 2TB ~ 12TB, data 4TB, bitlocker지원 안됨, win2012,2016,2019(linux지원 안함), VHD만지원

 

3. VM Disk유형별 크기,iops,처리량

https://docs.microsoft.com/ko-kr/azure/virtual-machines/linux/disks-types

 

Azure IaaS Linux Vm-관리 디스크에 대 한 디스크 유형 선택

Ultra Ssd, premium Ssd, 표준 Ssd 및 Hdd 표준를 포함 하 여 Linux virtual machines에 대 한 사용 가능한 Azure 디스크 유형에 대해 알아봅니다.

docs.microsoft.com

4.VMware VM 또는 물리적 서버와 Azure 간 재해 복구를 위한 지원 매트릭스 (Azure Site Recovery)

https://docs.microsoft.com/ko-kr/azure/site-recovery/vmware-physical-azure-support-matrix

 

Azure Site Recovery를 사용한 VMware VM 및 물리적 서버와 Azure 간 재해 복구를 위한 지원 매트릭스

VMware Vm 및 Azure Site Recovery를 사용 하 여 Azure에 물리적 서버 재해 복구에 대 한 지원을 요약 합니다.

docs.microsoft.com

Q1.

You plan to migrate an on-premises Hyper-V environment to Azure by using Azure Site Recovery. The Hyper-V environment is managed by using Microsoft
System Center Virtual Machine Manager (VMM).
The Hyper-V environment contains the virtual machines in the following table.


Which virtual machine can be migrated by using Azure Site Recovery?

  • A. DC1
  • B. FS1
  • C. CA1
  • D. SQL1

Correct Answer: D 

 

 

Q2.
HOTSPOT -

You have an Azure subscription named Subscription1.
You have a virtualization environment that contains the virtualization servers in the following table.


The virtual machines are configured as shown in the following table.


All the virtual machines use basic disks. VM1 is protected by using BitLocker Drive Encryption (BitLocker).
You plan to use Azure Site Recovery to migrate the virtual machines to Azure.
Which virtual machines can you migrate?

To answer, select the appropriate options in the answer area.
       - Virtual Machines that can be migrated from Server1: (          )
       - Virtual Machines that can be migrated from Server2: (          )

NOTE: Each correct selection is worth one point.
Hot Area:

Q3.

HOTSPOT -
You have an Azure subscription named Subscription1. You have a virtualization environment that contains the virtualization server in the following table.


The virtual machines are configured as shown on the following table.


All the virtual machines use basic disks. VM1 is protected by using BitLocker Drive Encryption (BitLocker). You plan to use Azure Site Recovery to migrate the virtual machines to Azure.
Which virtual machines can you migrate? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:

 

Correct Answer: Explanation 
Not VM1 because it has BitLocker enabled.
Not VM2 because the OS disk is larger than 2TB.
Not VMC because the Data disk is larger than 4TB.
References:
https://docs.microsoft.com/en-us/azure/site-recovery/hyper-v-azure-support-matrix#azure-vm-requirements

 

Support matrix for disaster recovery of on-premises Hyper-V VMs to Azure

Summarizes the supported components and requirements for Hyper-V VM disaster recovery to Azure with Azure Site Recovery

docs.microsoft.com

 

Q4.

You plan to move services from your on-premises network to Azure.
You identify several virtual machines that you believe can be hosted in Azure. The virtual machines are shown in the following table.

Which two virtual machines can you access by using Azure migrate? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.

  • A. Sea-CA0l
  • B. Hou-NW01
  • C. NYC-FS01
  • D. Sea-DC01
  • E. BOS-DB01

Answer: CE

1.컨테이너 기술의 개념

이미지 출처: docker.com (왼쪽: Containers, 오른쪽: virtual machines)

구분 컨테이너 가상화
기능 하나의 OS Host에 다수의 가상공간(Container) 제공 단일 서버를 다수의 가상서버(VM)로 나눠 사용
특징 - Guest OS를 설치없이 이미지에 필수적인 라이브러리와 프로그램만 탑재
- 다양한 API제공으로 개발서버 환경에 적합
- Guest OS와 별도의 프로그램 설치
- 안정성이 요구되는 운영서버에 적합
장점 - 자원 효율성이 높고 파일 Access가 빠름
  (컴퓨팅 파워 및 디스크 용량 50% 절감)
- 이미지 생성, 배포가 용이
- VM 구분으로 안정성 우수
- VM 상호간의 영향 최소화
- 다양한 종류의 OS 수용 가능
단점 - 동일 OS내 상호간의 영향 우려
- 단일 기종의 OS만 수용
- 자원 효율성이 상대적으로 낮음
- Host OS와 Guest OS, Application을 중재 및 Guest OS 생성 과정에서 많은 자원이 낭비
주요 제품군 Docker, Garden, LXC vSphere, Hyper-V, KVM, Xen

* 컨테이너 적용
- PaaS 기반 개발환경 구성을 통해 컨테이너 환경의 Application 서비스 활용 가능
- 업무 구조의 모듈화 및 데이터 분리시 더욱 효과적

 

* 도커 안내서

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

 

초보를 위한 도커 안내서 - 도커란 무엇인가?

도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이

subicura.com

* 쿠버네티스 안내서

https://subicura.com/k8s/

 

쿠버네티스 안내서

쿠버네티스 안내서 - 실습편

subicura.com

* 도커 컨테이너 장점

- 빠른 애플리케이션 배포

- 이식성: 도커 컨테이너는 호환성에 관련된 문제를 신경쓰지 않고도 운영할 수 있습니다.

- 쉬운 공유: 공용 리포지터리나 내부전용 사설 리포지터리를 구성해 쉽게 공유할 수 있습니다.

- 적은 자원 사용량: 도커 이미지는 크기가 작고 새로운 애플리케이션을 배포할 때 다른 컨테이너를 활용함으로써 자원 사용량도 적습니다.

- 재사용성: 도커 컨에티너의 버전을 지속적으로 이어나가기 쉽고, 언제든 이전 버전으로 돌리기도 쉽습니다. 기존에 사용하는 레이어에 담긴 컴포넌트들을 재사용할 수 있기 때문에 경량화가 가능합니다.

 

2.컨테이너 배포방식

 

*쿠버네티스 배포 [출처: https://bcho.tistory.com/1256 조대협의 블로그]

쿠버네티스의 Deployment 리소스를 이해하기 위해서는 쿠버네티스에서 Deployment 없이 어떻게 배포를 하는지에 대해서 이해를 하면 Deployment 를 이해할 수 있다.

 

다음과 같은 Pod와 RC가 있다고 하자

 

애플리케이션이 업데이트되서 새로운 버전으로 컨테이너를 굽고 이 컨테이너를 배포하는 시나리오에 대해서 알아보자. 여러가지 배포 전략이 있겠지만, 많이 사용하는 블루/그린 배포와 롤링 업데이트 방식 두가지 방법에 대해서 설명한다.

 

1)블루/그린 배포

블루/그린 배포 방식은 블루(예전)버전으로 서비스 하고 있던 시스템을 그린(새로운)버전을 배포한 후, 트래픽을 블루에서 그린으로 한번에 돌리는 방식이다.

여러가지 방법이 있지만 가장 손쉬운 방법으로는 새로운 RC을 만들어서 새로운 템플릿으로 Pod를 생성한 후에, Pod 생성이 끝나면, 서비스를 새로운 Pod로 옮기는 방식이다.

 

후에, 배포가 완료되고 문제가 없으면 예전 버전의 RC 와 Pod를 지워준다.

 

2)롤링 업그레이드

롤링 업그레이드 방식은 Pod를 하나씩 업그레이드 해가는 방식이다.

이렇게 배포를 하려면 먼저 새로운 RC를 만든후에, 기존 RC에서 replica 수를 하나 줄이고, 새로운 RC에는 replica 수를 하나만 준다.

 

라벨을 같은 이름으로 해주면 서비스는 자연히 새로운 RC에 의해 생성된 Pod를 서비스에 포함 시킨다.

다음으로 기존 RC의 replica를 하나 더 줄이고, 새로운 RC의  replica를 하나 더 늘린다.

 

그러면 기존 버전의 Pod가 하나더 서비스에서 빠지게 되고 새로운 버전의 Pod가 서비스에 추가된다.

마찬가지 작업을 반복하게 되면, 아래 그림과 같이 예전 버전의 Pod가 모두 빠지고 새 버전의 Pod만 서비스 되게 된다.

 

만약에 배포가 잘못되었을 경우에는 기존 RC의 replica 수를 원래대로 올리고, 새버전의 replicat 수를 0으로 만들어서 예전 버전의 Pod로 롤백이 가능하다.

이 과정은 kubectl rolling-update라는 명령으로 RC 단위로 컨트롤이 가능하지만, 그래도 여전히 작업이 필요하고, 배포 과정을 모니터링 해야 한다. 그리고 가장 문제는 kubectl rolling-update 명령은 클라이언트에서 실행 하는 명령으로, 명령어 실행중에 클라이언트의 연결이 끊어 지면 배포작업이 비정상적으로 끊어질 수 있는 문제가 있다.

그리고 마지막으로, 롤백과정 역시 수동 컨트롤이 필요할 수 있다.

그래서 이러한 과정을 자동화하고 추상화한 개념을 Deployment라고 보면 된다.

Deployment는 Pod 배포를 위해서 RC를 생성하고 관리하는 역할을 하며, 특히 롤백을 위한 기존 버전의 RC 관리등 여러가지 기능을 포괄적으로 포함하고 있다.

 

 

API Gateway
  > 규모와 상관없이 REST(상태비저장) 및 WebSocket(상태저장) API를 생성, 게시, 유지하고 모니터링 및 보안하기 위한 AWS 서비스입니다

 . 상태저장(Statful) : 서버가 클라이언트와의 통신 상태(state)를 계속 추적하며 이 상태 정보를 서비스 제공에 이용
 . 상태비저장(Statless) : 클라이언트로부터 새로 도착한 명령문(request)에만 의존하여 서비스를 제공


  * API란 :  Application Program Interface
    > 라이브러리에 접근하기 위한 규칙들을 정의한 것
       운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메세지 형식

 

  * REST API
   >  HTTP 통신 프로토콜을 이용해서 요청과 응답메세지를 주고 받는 것
      Resource에 대해 GET,POST뿐만 아니라 PUT,DELETE 요청이 있고,
      HTTP가 원래 stateless한 통신이기때문에, 헤더에 토큰을 설정해서 인증을 받음.
      HTTP 통신을 기반으로 하기때문에 HTTP요청을 보낼 수 있는 모든 언어 및 환경에서 가능

    - POST를 통해 해당 URI를 요청하면 리소스를 생성합니다.
    - GET를 통해 해당 리소스를 조회합니다.
    - PUT를 통해 해당 리소스를 수정합니다.
    - DELETE를 통해 리소스를 삭제 합니다.

 

  * URI(Uniform Resource Identifier) : 인터넷에 있는 자원을 나타내는 유일한 주소

 

  * REST : Representational State Transfer
    > 웹의 장점을 최대한 활용할 수 있는 아키텍쳐

 

AWS 백업/복구 아키텍쳐
 > Snapshot 활용한 백업 및 복구
 > Snapshot 백업본을 S3에 저장 시 3개의 AZ에 저장, 원격지 소산 구현

 

AWS DBMS 전환 지원 서비스
 - AWS SCT(Schema Conversion Tool)
  . 소스 데이터베이스의 스키마를 전환 대상 Amazon RDS instance와 호환되는 형식으로 자동 변환 가능
 - AWS DMS(Database Migration Service)
  . 동종 DBMS간 Migration, 이기종 DBMS간 Migration 지원

 

DNS 서버
  - Name Server(Router53)을 미사용 시 LG CNS 운영팀의 
     Name Server 와 연동이 될 수 있도록 Endpoint를 CNAME 등록한다
  - Public IP인 경우, A Record 등록을 통해서 한다 
  - LG*Net 내부 DNS를 Master DNS로 설정


  * CNAME (Canonical Name) : 하나의 도메인에 다른 이름을 부여하는 방식. 도메인 이름의 또 다른 이름.alias ?

 

  * A Record : Domain name에 하나의 IP 가 있음을 의미. 
                   하나의 도메인(서비나 루트 포함)에 해당하는 IP주소의 값을 가지고 있음.

     NAME              TYPE     VALUE

     --------------------------------------------------
     bar.example.com   CNAME    foo.example.com
     foo.example.com   A    192.0.2.23

 

   인트라넷 또는 VPC 내부에서 Web 서비스 접속 시 내부 Web ELB 를 경유 하도록 DNS 설정
      - LG*Net 외부 DNS -> 외부 Web ELB 도메인 네임 CNAME 등록
      - LG*Net 내부 DNS -> 내부 Web ELB 도메인 네임 CNAME 등록

 

EC2 인스턴스의 EBS Volume에 대한 Snapshot 백업
 - Volume 수준의 Snapshot 생성
 - 첫번째 Snapshot은 전체볼륨에 대한 복사본,
   이후 Snapshot은 마지막 Snapshot이후 변경된 디바이스의 블록만 저장하는 증분 백업
 - S3에 백업 저장 시 3개의 AZ에 저장(소산)

 

EC2 인스턴스의 EBS Volume에 대한 Snapshot 복구
 절차1:백업받은 Snapshot에서 Volume을 생성
 절차2: Instance에서 기존 Volume의 umount
 절차3: Instance에서 기존 Volume의 할당된 내역 제거
 절차4: 신규 생성된 Volume을 Instance에 할당
 절차5: 신규 Volume을 Instance에서 mount

 

EFS는 AZ 바깥에 위치함

 

NAT G/W : AZ 당 1개씩 구성
   : 윈도우 업데이트 와 S3등 AWS Public 서비스 사용 목적

 

On-Premise와 AWS간 migration 전환
 - Z-Converter나 CloudEndure 사용
 1> Migration Manager 서버 URL 접속 (On-Premise 내부망에 구축)
 2> On-Premise 운영서버에 Agent 설치
 3> Cloud 데이터센터에 인스턴스 생성 후 Agent 설ㅊ
 4> Migration 마법사를 통한 Migration 수행
 5> Cloud 데이터센터에서 On-Premise  내부망으로 migration 가능(탈 Cloud 전략)

 

PROD와 DEV/QA분리는 SandBox 이용

 

RDS의 제약사항 확인 필요
 . 파라미터 그룹을 통해서만 파라미터 조정이 가능.
 . On-Premise환경과는 달리 변경할 수 없는 파라미터가 존재함.

 

Security

Security Group 제약사항 : SG당 Max 허용 Rule 60개 , stateful
     > Allow만 설정가능, Statful이므로, outbound rule과 상관없이 inbound rule에 따름.

 

* ACL당 규칙목록은 inbound/outbound가 각각 최대 20개까지 지정 가능, stateless
  > 상태 비저장이라 inbound rule과 outbound rule이 각각 적용됨
  > Allow 와 deny설정 가능, default는 모두 deny

 

* VPC당 최대 ACL갯수는 200개

 

* Network ACL의 특징

  • VPC의 Network ACL은 Subnet 단위로 적용
  • 직접 생성한 Network ACL 정책은 All Deny 상태로 사용자가 정책을 추가하지 않고 해당 Network ACL로 교체하면 Subnet의 모든 통신이 두절됨
  • 동일한 Network ACL을 여러 Subnet에 적용하는 것은 가능하나 한번에 한개의 Network ACL만 Subnet에 연결할 수 있음
  • Network ACL 규칙 목록은 번호가 낮은 것부터 우선으로 적용
  • Network ACL은 Stateless

 

서버 접근제어 : Bastion Host 사용


UTM
 - Host based UTM (Agent 방식)
 - 관문형 UTM
   > 인스턴스의 N/W bandwidth 제한이 있음: 서비스의 부하집중으로 인한 N/W 성능 저하

 

VPC Endpoint : S3, dynamoDB,kinesiss,ecs 등 public service 연동시 권장

 

VPC 개발 / QA 환경

  - 운영환경과 개발/QA 환경은 VPC를 분리하여 구성
  - 운영환경과 동일 VPC 내에 Subnet분리하여 개발/QA 환경을
    구성 시 운영팀과 협의


VPC Flow logs 
 - Flow log사용을 위해 아래 두가지 설정
 > VPC Flow log를 위한 CloudWatch의 log group 생성
 > 생성한 log group에 log stream을 사용할 수 있는 IAM role 권한 지정

표준 아키텍처상의 VPC flow log
 - Flow logs가 VPC내의 cloudWatch에 저장 => logging VPC의 CloudWatch에 다시 저장(중복저장) : 감사에 활용

 

VPC 간 통신은 인트라넷을 경유하도록 구성
  -  VPC Peering : Routing 복잡성을 고려하여 5개 미만 일 경우 사용
  - Transit gateway 사용을 권장
     (DX연결 필요 시 Direct Connect Gateway 을 추가구성) 
    ※ 현) Transit gateway가 Direct Connect Gateway기능 미 지원

 

VPN (Site to Site: DX 미구성)
 - Customer Gateway 구성(VPN 연동할 장비 IP)
 - Virtual Private Gateway 구성
 - VPN 연결 생성

 

WAF - 운영팀에 관리 및 관제가 가능한 한 제품으로 선정하여 구성


WAS session Store Subnet
(WAS Auto Scaling)
 > 일반적인 cache와 다르게 session store를 통해서 읽고 쓰는 형태
   세션이 죽어도 세션 데이터가 session store에 남아있음
 > Cache의 경우 세션이 끝날경우 session 정보도 끝남

 

용어정리 사이트 : https://brunch.co.kr/@topasvga/391

AWS 고가용성 구조

 

AWS 아키텍쳐 교육 정리한 내용입니다.

교육을 듣지 않고, 아래 내용 만으로 이해하기 어려운 부분이 있을 수 있습니다.

교육 듣고 나서 정리하는 차원에서 편하게 읽으시면 됩니다.

잘못된 내용은 과감히 거르시고 읽으시면 됩니다.

 

 

            >>  아  래 <<


--------------------------------------------------------------------

AWS architecure center  --- 아키텍쳐 참고 가능 (https://aws.amazon.com/ko/architecture/)
aws quick starts -- 자동화된 표준 배포 (https://aws.amazon.com/ko/quickstart)
aws simple icon  - 아키텍처 다이어그램 구축을 위해 설정된 공식 AWS 아이콘 (https://aws.amazon.com/ko/architecture/icons/)

--------------------------------------------------------------------

firefox - Console record for AWS (add-on)
 - console 화면 녹화하여 그 결과를 JSON이나 YMAL 형태로 만들어 줌.

--------------------------------------------------------------------

 


WAF- 백서로 제공 됨. ( AWS Well-Architected Framework 한국어 기술 백서(PDF 버전)를 공개합니다.)
  - 한글 버전은 영문버전 보다 1~1.5년 늦음.


 AWS Well-Architected Tool
모든 AWS 고객이 Well-Architected 검토를 이용할 수 있도록 하기 위해 AWS Well-Architected Tool을 새롭게 선보입니다. 이 도구는 아키텍트와 담당 관리자가 AWS 솔루션스 아키텍트의 도움 없이도 언제든지 AWS 워크로드를 검토할 수 있도록 설계된 셀프 서비스 도구입니다.


보안

 - IAM : 무료 서비스
   . 자격증명연동 가능 : AD, IdP (자격 증명 공급자) 등...
   . CloudTrail : 추적 가능성 활성화.. S3에 저장 가능.(버킷을 통해 접근)
       S3에 object lock 기능제공(worm 기능 : write once read many)

 

안정성
 - auto-scaling

 

비용최적화
  - aws calculator
  - aws cost explorer
  - aws trusted advisor (standard, advance 두종류)


  EBS 비용 청구 개념 : 초기 할당 공간에 대한 비용 청구
  s3나 다른 스토리지는 사용하는 만큼 비용청구함.

 

운영우수성
  - cloud watch

성능효율성


--------------------------------------

AWS 글로벌 인프라 3가지 기억해야 함.

 1. 리전  : 인프라 위치를 지리적 대표 도시 이름으로 논리적으로 표현한 의미임. ex)서울리전, 도쿄리전

 2. 가용영역 : 하나 이상의 데이터 센터로 구성, 별도의 지역에 별도의 시설별로 분리.
 
 3. 엣지로케이션 : aws 4가지 기능제공
        Route53 (DNS), Cloud Front (CDN), AWS Shield,  AWS Web Application Firewall(WAF)


spot instance 요금제 : 시장가와 입찰가를 고려하여 요금 부여
    가용영역 단위로 시장가가 결정됨.
 단점 : 시장가가 입찰가보다 높아지면 instance를 회수함.

 auto-scaling 시 on demand , spot 인스턴스 사용에 대한 우선순위 정할 수 있음.

 

.아래 아키텍처 다이어그램의 모든 구성요소를 이해할 수 있어야 함.

 

 

---------------------------------------------------

모듈 2.


S3 : 오브젝트 스토리지
내구성 : 견고성, 보안 99.999999999% 내구성 (파일 1만개를 천만년동안 보관할때, 1개 깨질 확률)
 S3에 파일 업로드시 내부적으로 3복제 함.
 이벤트 트리거 기능.
 - 정적 웹 호스팅 가능
 - 기본 버킷은 private이지만, public, 액세스 정책 가능함.
 - 권한은 Json 파일 형태로 제어 가능

  - 버전관리 기능은 디폴트는 비활성화 상태임.
  - CORS(Cross-Origin Resource Sharing) 가능

 

 S3에 인터넷을 통해 대량의 데이터를 보내야 하는데, 방법은?
   1. 멀티파트 업로드 (병렬방식) 를 통해 해결..
   2. S3 transfer acceleration (엣지 로케이션 이용)
        ; 엣지 로케이션 까지는 인터넷, 이 이후는 AWS 네트워크를 이용
   3. AWS Snowball, Snowmobile 이용

 

비용추가 방식
  . 저장공간 + 인터넷전송 (put, copy, post, list, get)
   but S3로 수신하는것, 동일 리전 내 EC2 전송, Cloud Front전송 제외

 

S3 Glacier : 온프리미스 환경의 tape 으로 생각하면 됨.
  데이터 조회 요청시  아카이브된 데이터를 S3에 풀어서 제공함.

S3 종류
 . S3 Standard  : 범용 (여러 가용영역에 여러 복제본으로 보관)
 . S3 Standard IA  : 자주는 아니지만 빠른 액세스
 . S3 One zone IA : 자주 액세스하지 않는 재생성 가능한 데이터 (하나의 가용영역에 여러 복제본 으로 보관)
 . S3 Glacier/Deep : 사용 가능한 가장 저렴한 스토리지 티어에 데이터 보관

 

리전선택
  - 데이터 주권 및 규정 준수
  - 사용자와 데이터간 근접성  
  - 서비스 및 기능 가용성
  - 비용 효율성

 


사용자 데이터
 ; AMI에 포함되지 않은 사용자가 필요한 쉘 등 스크립트등..
 ; 최초 구성시 1회 수행됨.

메타 데이터
 ; 인스턴스 id, mac, ip등..

인스턴스 스토리지 : 호스트에 직접 연결된 스토리지, 휘발성 스토리지.
EC2 인스턴스를 stop/start시 host가 변경됨.
EBS 내구성은 99.999% 임. => 백업을 받아야 하는데, 스냅샷으로 수행되며, S3에 저장됨.
aws에서는 백업을 스냅샷으로 나타냄.

 

SSD 기반
 - 범용 SSD
   1GB당 3 IOPS 제공함.
      if) app가 150 IOPS가 필요하면 최소함 50GB를 할당 받아야 함.(최대 3000 IOPS까지 지원됨)

 - 프로비저닝된 IOPS SSD
   필요한 IOPS를 직접수치로 지정함.
    ex) 3만 IOPS로 지정을 해서 사용하려면 EC2 인스턴스도 높은 걸로 선택해야 함.
    최대 64,000 IOPS 지원가능함.

 

HDD 기반
   - 처리량 최적화 HDD
   - 콜드 HDD

EBS 최적화 인스턴스


크레딧 : 항상 컴퓨팅 파워을 전부 사용하지 않기 때문에
적게 사용할때 크레딧을 모아두고, 컴퓨팅 파워가 부족할때 모아진
크레딧을 사용하게됨(버스트 기능)

패밀리에 따라 인스턴스 스토리지 가능한 것들이 있음.
T패밀리 : 크레딧 가능
C패밀리 : 크레딧 불가

H패밀리 인스턴스 스토리지 사용가능


온디맨드 인스턴스 : 리눅스와 우분투인 경우만 초단위 요금제, 나머지는 시간단위 요금제임
예약 인스턴스 : 3가지 선불제 요금제, 온디맨드 대비 최대 70% 저렴. 환불안됨. but 마켓플레이스에 판매 가능함.
  if) 3년 약정으로 t2사용시 1년 후 t3가 나왔을경우 t3로 바꿀수 있다.
스팟 인스턴스 : 종료 2분전 공지. 시장가+입찰가로 가격책정됨. 시장가는 가용영역으로 결정됨. 스팟블록 가능 (1~6시간 가능)


전용 호스트 : 고객에게 하드웨어 가시성 제공
  특정 벤터 소프트웨어 라이센스 사용시 고려시 사용

 

전용 인스턴스 : stop/start시 호스트는 변경됨.
   stop -> 보류중 -> start 상태 변경시 보류중 상태에서 내부적으로 호스트 검색함.

사용자의 인스턴스 추적

  - 대소문자 구분함.

 


모듈 4. 데이터베이스 계층 추가

관계형 데이터베이스
 - RDS
 - Redshift (DW, 병렬처리)

비관계형 데이터베이스
 - DynamoDB (키:값,  데이터 크기에 관계없이 10ms 내 응답시간 보장, 사용자는 테이블만 정의하면 나머지는 모두 AWS에서 수행함. ex EC2, 스토리지등.. 모두 aws가 관리)
 - ElastiCache
 - Neptune (그래프 형식 DB)


Aurora - 16개 노드가 클러스터로 구성되어 제공됨. (1개의 마스터, 15개의 슬레이브로 구성)

DynamoDB 글로벌 테이블 :

DynamoDB 일관성 옵션
 - 최종 일관성
 - 강력한 일관성


ASW DMS (Database Migration Service)
 ; 온프레미스 - 클라우드간 데이터 이관 지원
 데이터베이스가 너무 크거나, 연결이 느리거나, 개인정보 보호 및 보안 문제가 있을때는
AWS snowball edga 사용하여 이관


AWS SCT (Schema Conversion Tool)
 ; 기존 데이터 베이스 스키마를 이관

 


모듈 5: AWS에서의 네트워킹 1부


VPC는 AWS리전중 1개 리전에 배포

다중 VPC 및 복수 계정

 

- 다중 VPC 패턴
계정 한개에 여러 VPC를 생성하여 관리, 기본 5개 생성가능함.(soft limit)
만일 더 필요할경우 AWS에 요청하면 더 증설 가능함.

 

- 복수 계정 패턴
생성한 인프라를 다른 조직으로 이관 가능함.
VPC뿐만 아니라 다른 자원에 대해서도 limit이 존재하기 때문에 설계시 고려해야 함.

CIDR
10.0.0.0/16 = 10.0.0.0 에서 10.0.255.255 까지의모든 IP사용

AWS는 각 서브넷에서 5개의 IP주소를 예약하여 사용자가 사용불가함.
만일 서브넷을 10개로 만들면 50개의 IP를 사용하지 못함.


NAT 게이트웨이
 퍼블릭 아웃바운드는 가능하나 인바운드 불가함.
 ex) 패치가 필요할경우 사용


웹티어인스턴스를 퍼블릭 서브넷에 넣을수 있지만
AWS는퍼블릭서브넷에 배치된로드밸런서 뒷쪽의 프라이빗서브넷 내부에 이 인스턴스를배치할것을 권장함.
일부환경에서는 웹애플리케이션 인스턴스를 탄력적 IP에직접 연결해야하며(탄력적 IP를로드밸런서에연결할수있더라도), 그런경우웹 애플리케이션인스턴스는퍼블릭서브넷에있어야합니다. 로드밸런서는이후 모듈에서자세히다루기로하겠습니다. (AWS)

웹 애플리케이션을 프라이빗에 둘 경우 해당 정보가 사용자에게 공유 되지 않아
보안에 좋음.


서브넷 권장 사항

큰 크기로 서브넷 설정
차후 ip 부족시 VPC 를 재구성 해야함.

 

탄력적 IP 주소 (EIP)

EIP 는 고정해서 사용가능.
인스턴스간 이동 가능


보안그룹(Security-Group) 은 기본적으로 모든 인바인드 트래픽 차단 , 모든 아웃바운드 트래픽 허용 상태임.

네트워크 ACL (NACL)
 ; 보안그룹 보다 더 큰 범위의 보안임. (설정시 관리적 측면이 늘어남)
 ; 서브넷 경계의 방화벽
 ; 기본적으로 모든 인바인드/아웃바운드 허용되어 있음

다중보호 계층이 있는 인프라구조(p. 237)

 

 

가상 프라이빗 게이트웨이 (VGW)
 ; 온프레미스와 AWS 를 네트워크 연결 (VPN)

 

AWS Direct Connect(DX)

 

하이브리드 클라우드 아키텍쳐
 ; 데이터 보안등..컴플라이언스 충족을 위해.. 사용 고려.
 ; 빅뱅방식으로 클라우드 전환이 어려울 경우 사용 고려

비용절약을 위해, 주 회선은 DX로, 보조회선은 VGW로 구성하는것도 고려

 

VPC 피어링
  ; 1-1로만 구성 가능함.
  ; 타 계정, 다른 리전의 VPC와 피어링 가능
  ; IP 중복될 수 없음.

AWS 서비스는 기본적으로 확장성, 가용성, 내결합성 지원함.

 

VPC연결 - Transit Gateway
 ; 단일 게이트웨이로 최대 5000개의 VPC와 온프레미스 환경에 연결
   네트워크에 흐르는 모든 트래픽의 허브 역할 담당


VPC 엔드포인트
 ; AWS를 벗어나지 않고, EC2인스턴스를 VPC 외부 서비스와 프라이빗하게 연결함.
 ; 동일한 리전에 있어야 함.

 

VPC 피어링 : VPC 간의 연결


VPC 엔드포인트 : VPC와 AWS 서비스간 연결

 

VPC 엔드포인트
  - 게이트웨이 엔드포인트 - 라우팅 경로 거처서 접근
  - 인터페이스 엔드포인트 - IP로 접근

 

EBL
 . ALB
 . NLB

가용영역당 50:50으로 분배함.
25:25 25:25 (가용영역 두군대에 2대씩 구성시 부하분산)
25:25 50    (가용영역 두군대중 1군대 서버 1대만 서비스 가능시 부하분산)

교착영역 로드 밸런스 기능을 활성화 하면 가용영역이 아니라,
사용가능한 인스턴스로 세션을 보냄
33:33:33

Connection Draining 기능 :  고객이등록해지한백엔드 인스턴스가등록해지되기전에진행중이던요청을먼저완료 (AWS)
Secutiry Group 도 추가적으로 구성가능함.

 

 

Route 53 라우팅 옵션
- 간단한 라운드 로빈
- 가중치 기반 라운드 로빈
- 지연 시간 기반 라우팅
- 상태확인 및 DNS 장애 조치
- 지리 위치 라우팅
- 트래픽 바이어스를 통한 지리근접 라우팅
- 다중 값 응답

 

 

모듈 7. IAM

AWS 계정 루트 사용자
  - 리눅스의 root, 윈도우의 administartor 와 같음

IAM 사용자는 별도의 AWS 계정이 아니라 계정 내 사용자입니다.
기본적으로 주어진 권한은 없음.

리소스 기반  - AWS 서비스에 부여, 항상 인라인 정책임 (필요한 리소스를 하나하나 입력 해야 한다는 뜻)
자격 증명 기반 - IAM 보안 주체


IAM 정책시 NotResource는 여기에 정의된 항목만 제외한다는 뜻

IAM 역할
 - 권한을 IAM 사용자 또는 그룹에 연결하지 않음.
 - 권한을 역할에 연결하고 역할을 사용자 또는 서비스에 위임함.


Amazon Cognito

여러 AWS 계정을 사용하기 위한 전략

AWS Organizations
 ; 통합결제 가능

 

 

모듈 8. 탄력성, 고가용성 및 모니터링

Cost Explorer - 13개월 데이터를 참고하여 지출패턴 확인 (가계부같은 역할)

CloudWatch
 ; 리소스 지표 수집, 경보 생성, 트리거 가능


CloudTrail : 계정에서 이루어지는 모든 API 호출을 기록하고 지정된 S3버킷에 로그를 저장
   S3에 object lock, glacier에는 vault lock 설정하여 위변조 방지


VPC flow log : 트래픽 흐름 세부 정보 캡쳐


Auto Scaling
 - 예약 : 예측 가능한 워크로드에 적합 (야간 및 개발 테스트 인스턴스 종료)
 - 동적 : ex) cpu 사용율 기반으로 조정
 - 예측 : 기계학습 기반 조정

Auto scaling 구매 옵션 , 아래 옵셧을 섞어서 구성할 수 있음.
 - 온디맨드
 - 예약
 - 스팟


auto scaling 최소 용량 기준은 ? 가용영역을 기준으로 설정
최대 용량은? 비용기준으로..


cpu 사용율이 50% 넘으면 인스턴스 1개 추가
지연시간이 ? 이상이면 인스턴스 2개 추가
이럴경우 동시 발생시 인스턴스 2개 이벤트 부터 수행됨.

if cpu 50% 1개 추가, 45% 1개 제외 이렇게 설정했을 경우
추가는 빠르게 지원되며, 제거는 천천히 됨.
핑퐁치는걸 방지하기 위해.

수명주기후크
정책이 발동되어도 세션정보/상태정보를 다른 DB나 저장공간에 옮긴후
인스턴스가 삭제 되도록 하는것. 최대 2시간 유보함.


SQLServer, Oracle은 Read replica 를 지원하지 않음.

Amazon RDS 확장시 : 가동중지 없이 스토리지를 늘릴 수 있지만, 인스턴스 유형을 변화하려면 가동 중지 시간이 필요함.

 


모듈 9. 자동화

 AWS ColudFormation : AWS 리소스를 자동화된 방식으로 생성하고 구축 (JSON, YAML사용)

    드리프트 감지 지원 : 기존에 만든 템플릿과 수작업으로 변경한 구성정보를 비교하여 다른점을 바로 감지함.


AWS Quick Start : AWS 클라우드에서 모범 표준 배포

AWS Systems Manager : 자동화된 구성 및 대규모 시스템의 지속적 관리가 가능한 기능의 집합
  ; AWS에서 뿐만 아니라 온프레미스 환경에서도 사용가능
   AMI 에는 agent가 설치되어 별도 구성이 필요없지만, 온프레미스 환경에서 사용할려면 agent 구성을해야함.
  - 명령실행, 유지관리 기간, 패치관리, 상태 관리자

Cloud Trail 서비스와 상태관리자와 연계하여 분석 진행가능함.


AWS OpsWorks
 

CloudFormation 관 OpsWorks 와 다른점은 CloudFormation 은 AWS 서비스만 자동 구성 관리 가능하지만, OpsWorks는 더 세부적인 것까지 설정가능함. 더 큰범위임.
두 서비스 같이 합쳐서 사용하여 구성가능함.

예) AWS CloudFormation 을 사용하여 인프라 (VPC, IAM 역할)를 구축하고 AWS OpsWorks를 사용하여 애플리케이션 게층을 배포함.


AWS Elastic Beanstalk
 - 인프라를 프로비저닝 및 운영하고 사용자를 위해 애플리케이션 스택을 관리

 

 

모듈 10. 캐싱

무엇을 캐싱해야 하나? 자주 변경되지 않는 정적인 데이터 우선.
                            자주 액세스 하는 데이터

엣지캐싱 : CDN


Amazon Virtual Private Colud에서 Bring Your Own IP 공식 출시 발표


Amazon CloudFront
  - Amazon의 글로벌 CDN
  - 다중 계층 캐시와 광범위한 유연성으로 모든 전송 사례에 최적화

콘텐츠 만료 방법
  - Time To Live (TTL)
   . 기간고정, 고객이 설정
 - 객체이름 변경
 - 객체 무효화

 

 

모듈 11. 결합 해제된 아키텍쳐 구축

밀결합  <--> 소결합

Amazon Simple Queue Service(Amazon SQS) - 완전 관리형 서비스
 대기열 유형
 . 표준 대기열
 . FIFO 대기열

Amazon Simple Notification Service(SNS)
 ; 클라우드에서 손쉽게 알림기능을 설정, 작동 및 전송할 수 있는 웹 서비스임.


                             SNS         vs         SQS
- 메시지 지속성        아니요                   예
- 전송 메커니즘        푸시(수동적)          폴링(능동적)
- 생산자/소비자        게시/구독             송신/수신
- 배포 모델              일대다                 일대일

 

 

모듈 12. 마이크로 서비스 및 서비리스 아키텍쳐

 마이크로 서비스 (MSA)
 ; 잘 정의된 API를 통해 통신하는 독립서비스로 구성된 애플리케이션

컨테이너 서비스

Amazon Elastic Container(ECS)
 - EC2 사용하기
 - AWS Fargate - 완전 관리형 컨테이너 서비스 사용하기


서버리스 환경 구현
 ; 서버를 관리하지 않고, 앱과 서비스를 구축하고 실행

. AWS Lambda (최대 15분 수행가능)
 완전 관리형 컴퓨팅 서비스
상태 비저장 코드실행

Lambda가 처리하는 작업

Lambda가 할 수 있는 작업


Amazon API Gateway
 ; 애플리케이션의 "현관" 역할을 하는 API를 생성할 수 있음.
 ; 캐싱역할도 수행함.


AWS Step Functions
 ; 시각적 워크플로를 사용한 마이크로서비스 조정


Lambda 에서 코드 수행을 더 빠르게 하기 위해 더 빠른 서버 선택 가능함.
 - cpu가 아니라 메모리만으로 조정 가능함.(default 128MB, 최대 3GB 까지 가능함)


if. Lambda 를 15분 4회 연속사용하여 1시간 사용비용과 EC2 1시간 사용비용을 단순히 비교하면
Lambda가 더 비싸다.

 

 

모듈 13. RTO/RPO

S3 -  교차 리전 복제

Amazon RDS
Amazon DynamoDB
자동백업 수행해 주지만, 최대 35일만 보관됨.

자동백업이 회사정책을 만족하지 못하면 수동 백업을 설정해야 함.

AWS Storage Gateway
 ; AWS Storage Gateway는온프레미스소프트웨어어플라이언스를클라우드기반 스토리지와연결하여온프레미스 IT 환경과AWS 스토리지인프라간에 원활하면서도매우안전한통합을제공합니다. 이서비스를사용하면확장 가능하고비용효율적인스토리지인AWS 클라우드에데이터를안전하게저장할 수있습니다. Storage Gateway는기존애플리케이션과연동하는업계표준 스토리지프로토콜을지원하는동시에Amazon S3 또는Amazon Glacier에서 암호화된모든데이터를안전하게저장합니다.
AWS Storage Gateway를사용하면AWS 관리서비스를로컬로확장할수있습니다. 이서비스는Amazon CloudWatch, AWS CloudTrail, AWS KMS, AWS IAM 등과도 통합됩니다.
AWS Storage Gateway는파일, 볼륨및테이프라는 3가지스토리지인터페이스를 지원합니다. 각게이트웨이에서는 1가지유형의인터페이스를제공할수 있습니다.
파일게이트웨이를사용하면NFS 및SMB 파일프로토콜을사용하여Amazon S3에서객체를저장및검색할수있습니다. 파일게이트웨이를통해작성된 객체는 S3에서직접액세스할수있습니다.
 (AWS)
 


AWS 기반 재해복구 사례 
 - 백업/복원
 - 파일럿 라이트
 - 완전 동작 저용량 스탠바이
 - 다중 사이트 액티브-액티브

+ Recent posts