0.클라우드/2.AWS

Technical Essetional 교육 요약

로바이 2019. 7. 6. 20:57

* AWS 클라우드 장점

  - 자본비용을가변비용으로대체: 데이터센터와서버에 대규모의투자대신 사용한만큼만 비용을 지불 

  - 규모의경제로얻게되는이점: CSP는 많은 사용자들로 더높은 규모의 경제 달성으로 사용량에 따른요금이 더낮아져서, 
                                        인프라를 소유할때보다 가변비용이낮다. 

  - 용량추정 불필요: 필요한만큼의 리소스에 액세스하고 필요에 따라 몇분만에 확장또는축소 할수있어서 과투자 예방  

  - 속도및민첩성개선: 개발자는 해당리소스를 몇주가아니라 단몇분만에 사용할 수 있어서 실험및개발에드는 비용절감과
                            시간이 단축되므로, 조직의 민첩성이 크게향상됨 

  - 데이터센터 운영 및 유지관리에 비용투자 불필요: 수많은 서버를 관리하느라 시간을 단축 고객에게더욱집중 가능.

  - 몇분만에 전세계에 배포: 짧은 시간내 전세계에 애플리케이션을 손쉽게 배포, 고객에게 더짧은 지연시간과 더나은 경험을 제공 (DR센터로 손쉽게 이용가능 - Data Replication은 필요)

*AWS 서비스 관리주체에 따른구분 
  1.비관리형-사용자가 직접 모든관리, AWS 관리안함 : EC2

  2.관리형
     - 일반관리형-사용자가 일부관리, AWS 일부관리 : EIP, Elasticsearch Service, DynamoDB(NoSQL), 
                                                                     RDS(RDB)-자동백업(replica),이중화,인스턴스확장

     - 완전관리형-사용자 관리안함, AWS가 모든관리 : ELB, S3, Route53, Elastic Beanstalk, Aurora

 

* AWS 서비스 Scope

  1.Global : Route53, CloudFront, WAF, Shiled, IAM

  2.Region : EF, S3(버켓이름은 Global하게 unique해야함), VPC, EKS

  3.AZ : EC2, EBS, RDS(EC2기반 서버구성), Subnet, Routing Table

 

* EBS(SAN/DAS), EFS(NAS: NFS 기반의 관리형서비스-서버level은 AWS관보)

  보안그룹 : EC2구성시 EC2에 반드시 적용, Network ACL : Network 방화벽

  Elastic Beanstalk : Docker 컨테이너(OS+Platform)를 기반으로 애플리케이션을 쉽게 배포, 운영, 관리를 도와주는 서비스
                                (서비스 사용료x, 리소스 사용료O)
                 →애플리케이션을 업로드하기만 하면 용량 프로비저닝, 로드 밸런싱, 조정, 오토스케일링, 애플리케이션
                    상태 모니터링에 대한 세부 정보를 자동으로 처리(예: AutoScale시 자동으로 in/out 해줌) 

Beanstalk 구성도 - Amazon SQS를 이용한 메세지기반 백그라운드에서 처리하는 특수 애플리케이션을 구성할 때 사용(내결함성 강화)

* 엣지로케이션 

  - End User의 지연시간을 줄이고 성능을 향상하고 보안을 위해 구성한 로컬지점(AZ간 고속Network구성)

  → Route53(DNS), CloudFront(CDN), WAF(Firewall), Shield(DDoS완화)

 

* 리전(2개 이상의 AZ로 구성, 다른 AZ의 장애와 격리) 선택 기준

  1. compliance
    - 지역마다 법에 따라 서비스가 안되는 경우가 있음

  2. 지연시간
    - 가능한 가까운 곳을 선택

  3. 서비스 유무
    - 모든 리전에 모든 서비스가 있는것이 아님.

  4. 서비스 가격
    - 리전마다 가격이 다름

 

* EC2 태그 기준으로 과금 상태 확인이 가능함 (초단위 종량제 요금)
  - 태그하지 않을 경우 EC2 전체에 대한 비용만 표시됨.

 

* AMI = OS 이미지 + α  : α - S/W 인 경우가 대부분임.
  - template AMI : 아마존에서 제공
  - Golden Image 를 사용자가 만들 수 도 있음.
    ▶ t2.micro (AMI 이미지 이름에 대한 설명)
      > t-family
      > 2-generation
      > micro- scale


* EC2
 - 전용 인스턴스 : 한대의 기계를 나만 쓰지만 기계가 정해져 있지 않음
 - 전용 호스트 : 기계를 나만 쓰고 기계가 정해져 있음


* VPC
 > 기본적으로 public에 연결되지 않음, 격리된 프라이빗 가상 네트웍
 

※ 버킷 이름은 유니크 해야함 : 교차 리전 지원


<리소스 접근 제어 정책>
1. 사용자 기반
  > IAM

2. 리소스 기반


* S3에서 사용하던 데이터를 백업할 경우 glacier 사용
 > 자주 엑세스 하지 않는 데이터에 최적, 검색시간이 오래 걸림


* S3는 S3에서 송신한 데이터를 기준으로 전송 비용 과금
 > cloudfront (CDN) 와 연결해서 사용할 수 있음.


* EBS는 용량 제한 있음(16테라)
 > 반드시 EC2에 마운트해야함
 > 스냅샷을 뜨면 S3에 저장
 > EC2 제거시 스냅샷은 삭제가 안되므로, 잘 확인해야함.

 

 

* EBS
 > SSD
  . gp2 (범용SSD)- 1GB당 3 IOPS : IOPS확보를 위해 용량을 늘려야함
  . io1 (프로비저닝) - IOPS지정가능

 

*EC2 인스턴스 스토리지
 > 로컬 직접 연결된 스토리지
 > 속도 빠름
 > 지속성 없고, 휘발성 스토리지 -> 다른 하드웨어에서 EC2가 기동될 수 있어서 데이터를 가져갈 수 없음.

 

* 인증방법
   1. user 계정/ password
     ->  AWS management console
   2. access key ID
      secret access key
       -> CLI,API
   3. key pair -> EC2 ssh

 

<서버 scaling 방법>

1.scale up/down -> 수직적

2.scale out/in -> 수평적

http://bit.ly/TESSLAB

 

 

* dynamo DB
 > 프로비저닝된 처리용량 지정
  . WCU : 1KB단위
  . RCU : 4KB단위

 

 

Region > VPC > AZ > Subnet > EC2 

 - Region : 지역 (ex. 서울, 도쿄, etc)

 - VPC(Virtual Private Cloud) : 논리적 IDC (하나 or 여러개의 물리적 IDC 그룹)

 - AZ(Avaliability Zones) : 물리적 IDC (물리적 격리)

 - Subnet : 네트워크 분할 (ex. Public or Private Subnet)

 - EC2(Elastic Computing Cloud) : Computing Instance (Server)

 

 - VPC Router : 다른 Subnet 간에 통신이 가능하게 설정 (Routing Table 설정)

 - Internet Gateway(IGW) : 원하는 Subnet을 외부(인터넷) 통신이 되도록 설정(양방향)

 - NAT Gateway : Private Subnet 에서 Public Subnet을 통한 외부 통신(단방향)

 

 - ELB(Elastic Load Balancer) : Application(HTTP, HTTPS) LB, Network(TC) LB

 - Auto-Scaling : Scale In/Out 자동화

 - CloudWatch : Application/Resource 모니터링/알림

 

 - Security Group : Instance 단위 (Firewall, All-deny)

 - Network ACL : Subnet 단위 (All-allow)

 

 

[구성 예제]

 - 10.10.0.0/16 (B 클래스 대역)의 가상 네트워크(VPC)를 서울 Region(ap-northeast-2)에 생성

 - AZ1(ap-northeast-2a)에 Sbnet 2개(Public:1, Private:1), AZ2(ap-northeast-2c)에 Subnet2개 생성(Public:1, Private:1)

 - EC2(Subnet당 1개) 생성

 - IGW(외부통신 목적) 생성

 - VPC Router 설정 : route table 을 생성 -> 외부 통신을 위한 public-subnet-01/02에 route table assign

                           -> public route table의 traffic을 IGW로 가도록 설정