728x90
반응형




  • AWS 일반적인 아키텍처 : public IP를 할당받아 인터넷을 통한 통신이 가능하게 함
  • 사설 네트워크에서 인터넷 통신이 필요할 때, NAT 장치와 인터넷 게이트웨이가 필요함



  • Elastic IP : 고정적인 public IP
  • 고정된 public IP가 필요할 때, 사용됨
  • 계정당 5개 Elastic IP 허용
  • Elastic IP 활용은 지양, random public IP를 할당하여 DNS로 인스턴스에 연결하는 방식 권장 (인스턴스 중지/시작 시, public IP 재할당됨)


Placement Group

  • Placement Group : EC2 인스턴스가 AWS 인프라에 어떻게 배치할지 제어할 때 사용

  • 배치전략

  1. 클러스터배치그룹
    • 단일 가용영역 내에서 지연 시간이 짧도록 하드웨어를 배치하여 인스턴스 그룹화
    • 고성능 고위험
    • 빠른 빅데이터 처리 작업 등과 같은 초저지연의 고성능 application에 적합




  1. 분산(spread)배치그룹
    • 인스턴스를 각 하드웨어에 배치
    • 인스턴스(하드웨어)간 오류로부터 격리 -> 안정성 보장
    • 가용영역별 Placement Group당 최대 7개의 인스턴스(7개의 하드웨어)만 배치할 수 있음 => application 규모에 제한 (ex. 모놀리식)




  1. 파티션배치그룹
    • 인스턴스를 각 파티션에 분산배치하고 해당 파티션들을 가용영역내에서 각각의 하드웨어 rack에 의존시키는 방식 (partition = rack)
    • 파티션 내의 인스턴스 갯수는 제한이 없지만, 가용영역당 파티션 갯수는 분산배치그룹과 동일하게 7개로 제한 (파티션 = 하드웨어 개념이기 때문)
    • 파티션(하드웨어)간 오류로부터 격리
    • 파티션간 오류로부터 격리되고 파티션 내의 인스턴스 갯수에 재한이 없음 -> 대규모 인스턴스 application 설계 가능 (ex. MSA)
    • Hadoop, Kafka 같은 분산환경 application을 실행시킬 수 있음
    • 메타데이터 서비스를 활용하여 각 인스턴스에 접근할 수 있게할수도 있음




Elastic Network Interfaces (ENI)

  • ENI : VPC의 논리적 단위이며 가상 네트워크 카드를 가리킴, EC2 인스턴스가 private 네트워크에 접속할 수 있게함

  • 특징

  1. 인스턴스당 하나의 private IP와 여러 개의 보조 private IP를 가질 수 있음 (private IP 한개 당 ENI 한개)
  2. private IP를 갖고 있는 ENI는 하나의 public IP나 Elastic IP를 가질 수 있음
  3. ENI에 하나 이상의 Security Group을 연결할 수 있음
  4. Mac 주소 등 기타 항목을 연결할 수 있음
  5. 장애조치 등을 위해 다른 EC2 인스턴스로 이동시킬 수도 있음
  6. 특정 가용영역에 바인딩됨 (특정 가용영역 내에서만 사용 가능)


EC2 Hibernate (절전모드)

  • EC2 Stop/Start
  1. Stop 시, EBS 데이터는 다시 시작할 때까지 유지
  2. 종료 시, root volume이 삭제되게 설정했다면 데이터도 삭제 (root volume이 삭제되지 않는다면 유지)
  3. 재시작 시, OS먼저 boot되고 사용자 스크립트가 실행됨 -> 애플리케이션 실행, 캐시 구성
  4. EC2에는 Stop, Terminate, Start를 제외하고 Hibernate(절전)라는 기능이 제공됨.


  • Hibernate 상태
  1. In-Memory의 상태는 그대로 유지 -> 운영체제가 완전히 중지되지 않고 memory에 그대로 남아있기 때문에 인스턴스 부팅이 빨라짐
  2. Im-Memory의 상태는 EBS root volume에 기록됨(dump) -> 용량이 커야하고 volume은 암호화되어야 함. (EBS likes 물리 디스크)
  3. Hibernate 상태 진입 -> 인스턴스가 중지되면서 memory의 데이터는 EBS root volume에 dump됨 -> 인스턴스가 완전이 내려가면 ram 데이터는 모두 삭제 -> 인스턴스 재부팅 시, EBS root volume에 기록되었던 ram 데이터를 그대로 가져옴

  • 참고사항
  1. 인스턴스 ram 크기는 최대 150GB
  2. Hibernate를 지원하는 제품군이 많음 (ex. C3, C4, C5, I3, M3, T2, T3 등)
  3. 여러 운영체제에서 Hibernate 사용가능
  4. 베어메탈 인스턴스는 지원하지 않음
  5. In-Memory 데이터는 EBS Volume에만 저장 가능
  6. On-Demand, Reserved 등과 같은 모든 인스턴스 요금제에서 사용가능
  7. 최대 60일까지 사용가능
  8. 운영체제로 하여금 인스턴스가 한번도 중지가 안된 것처럼 인식되게 함.

  • Use Case
  1. 오래 실행되는 프로세스
  2. ram 데이터 저장 필요
  3. 빠른 부팅 필요
반응형

'개발 > AWS' 카테고리의 다른 글

[AWS] Load Balancer  (0) 2024.05.06
[AWS] EC2 (3)  (0) 2024.05.03
[AWS] EC2 (1)  (0) 2024.04.29
[AWS] IAM 및 AWS CLI  (0) 2024.04.18
[AWS] AWS Region  (0) 2024.04.13

+ Recent posts