AWS[ASSOCIATE]

정지범·2023년 12월 27일
0

aws

목록 보기
3/26

Private vs Public IP (IPv4)

네트워크는 IPv4, IPv6의 두 가지 유형의 IP가 있다.

  • IPv4: 1.160.10.240
    • 온라인에서 가장 일반적으로 사용되는 형식.
    • 공용 공간에서 37억 개의 서로 다른 주소를 허용한다. 하지만 거의 고갈되어 가고 있음.
    • [0-255].[0-255].[0-255].[0-255]
  • IPv6: 3ff3:1900:4545:3:200:f8ff:fe21:67cf
    • 사물 인터넷(IoT)에 대한 문제를 해결하기 위해 새로 나온 기술.

Fundamental Differences

Public IP:

  • 인터넷(WWW)상에서 기기가 식별될 수 있음.
  • 전체 웹에서 고유해야 함. (두 기기가 동일한 공용 IP를 가질 수 없음.)
  • 지리적 위치를 쉽게 식별할 수 있음.

Private IP:

  • 기기가 프라이빗 네트워크에서만 식별될 수 있음.
  • IP는 프라이빗 네트워크 안에서만 고유하면 됨.
  • 두 개의 다른 회사는 같은 프라이빗 IP를 가질 수 있음.
  • 기기가 프라이빗 네트워크에 있을 때에는, NAT와 인터넷 게이트웨이(프록시)를 사용하여 인터넷(WWW)에 연결.
  • 지정된 범위의 IP만 프라이빗 IP로 사용될 수 있음.

Elastic IPs

  • EC2 인스턴스를 중지하고 다시 시작하면, 해당 인스턴스의 퍼블릭 IP가 변경될 수 있음.
  • 인스턴스에 고정된 퍼블릭 IP가 필요한 경우, 탄력적 IP가 필요.
  • 탄력적 IP는 삭제하지 않는 한 사용자가 소유하고 있는 퍼블릭 IPv4.
  • 한 번에 하나의 인스턴스에만 탄력적 IP를 연결 가능.
  • 탄력적 IP 주소를 사용하면 인스턴스나 소프트웨어의 오류를 빠르게 대처하여 주소를 계정 내 다른 인스턴스에 빠르게 다시 매핑할 수 있음.
  • 계정당 5개의 탄력적 IP만 사용할 수 있음. (요청시 AWS에서 늘릴 수 있음)
  • 일반적으로 탄력적 IP 사용을 피하는 것이 좋음.
    • 매우 좋지 않은 구조적 결정으로 종종 언급되곤 함.
    • 대신 임의의 퍼블릭 IP를 써서 DNS 이름을 할당하는 것이 좋음.
    • 또는 로드 밸런서를 사용하여 퍼블릭 IP를 전혀 사용하지 않을 수도 있음.

Private vs Public IP In AWS EC2

  • 기본값으로 EC2 인스턴스는 다음과 같이 제공된다.
    • 내부 AWS 네트워크를 위한 프라이빗 IP
    • 인터넷(WWW)를 위한 퍼블릭 IP
  • EC2 인스턴스로 SSH로 접속할 때
    • 같은 네트워크에 있지 않기 때문에 프라이빗 IP를 사용할 수 없음.
    • 퍼블릭 IP만 사용할 수 있음.
  • 인스턴스가 중지되고 다시 시작되면 퍼블릭 IP가 변경될 수 있다.

Placement Groups(배치 그룹)

때로는 EC2 인스턴스가 AWS 인프라에 배치되는 방식을 직접 제어하고 싶을 때가 있을 것이다. 배치 그룹을 사용하여 이러한 전략을 정의할 수 있다.

배치 그룹을 만들 때 세 가지 전략을 사용할 수 있다.

  • 클러스터(Cluster): 단일 가용 영역 내에서 지연 시간이 짧은 하드웨어 설정으로 인스턴스를 그룹화.
  • 분산(Spread): 인스턴스를 다른 하드웨어에 분산 시킨다. (AZ당 최대 7개의 인스턴스 그룹)
  • 파티션(Partition): 분산 배치 그룹과 비슷하게 인스턴스를 분산하려는 것. 하나의 가용 영역 내에 다양한 파티션(다양한 하드웨어 랙 세트)에 인스턴스를 분산시킨다. EC2 인스턴스 그룹 당 수백 개의 인스턴스로 확장 가능 (Hadoop, Cassandra, Kafka).
    • 배치 그룹 내 두 파티션이 동일한 랙을 공유하지 않으므로 애플리케이션 내 하드웨어 장애의 영향을 격리시킬 수 있다.

Cluster placement groups

모든 EC2 인스턴스가 동일한 랙에 있다. 즉 동일한 하드웨어와 동일한 가용 영역에 있다는 것이다.

  • 장점: 우수한 네트워크 (인스턴스 간 10 Gbps 대역폭)
  • 단점: 랙에 실패가 발생하면(하드웨어에 실패가 발생하면) 모든 EC2 인스턴스가 동시에 실패한다.
  • 사용 사례:
    • 빅데이터 작업을 빠르게 완료해야하는 경우
    • 극도로 낮은 지연 시간과 높은 네트워크 처리량에 필요한 애플리케이션

Spread placement groups

실패 위험을 최소화하려고 함. 모든 EC2 인스턴스가 다른 하드웨어에 위치하게 된다. 아래의 그림을 보면, 3개의 가용 영역과 6개의 EC2가 있고, 각 EC2 인스턴스는 서로 다른 하드웨어에 있다.

  • 장점:
    • 여러 가용 영역을 걸쳐 생성 가능.
    • 동시 실패 위험 감소.
    • EC2 인스턴스는 서로 다른 물리적 하드웨어에 있음.
  • 단점: 하나의 배치 그룹당 AZ별 7개의 인스턴스로 제한됨. (배치 그룹의 규모에 제한이 있음)
  • 사용 사례:
    • 고가용성을 극대화해야 하는 애플리케이션
    • 각 인스턴스가 서로의 장애로부터 격리되어야 하는 중요한 애플리케이션

Partition placement groups

각 파티션은 AWS의 랙을 나타낸다. 파티션이 많으면 인스턴스가 여러 하드웨어 랙에 분산되어 서로 랙 실패로부터 안전하다.

  • 각 AZ(Availability Zone) 당 최대 7개의 파티션 사용 가능.
  • 같은 리전의 여러 가용 영역에 걸쳐있을 수 있음.
  • 최대 100대 EC2 인스턴스 사용 가능.
  • 파티션 내 인스턴스는 다른 파티션 내 인스턴스와 랙을 공유하지 않음.
  • 파티션 장애는 많은 EC2 인스턴스에 영향을 미칠 수 있지만 다른 파티션에는 영향을 미치지 않음.
  • EC2 인스턴스는 메타데이터를 통해 파티션 정보에 액세스할 수 있음.
  • 사용 사례: HDFS, HBase, Cassandra, Kafka

Elastic Network Interfaces (ENI)

ENI: 탄력적 네트워크 인터페이스. EC2 인스턴스게 네트워크에 액세스할 수 있게 해줌.

  • 가상 네트워크 카드를 나타내는 VPC의 논리적 구성 요소.
  • ENI는 다음과 같은 속성이 포함될 수 있다:
    • VPC의 IPv4 주소 범위 중 기본 프라이빗 IPv4 주소
    • VPC의 IPv4 주소 범위 중 하나 이상의 보조 프라이빗 IPv4 주소
    • 프라이빗 IPv4 주소당 한 개의 탄력적 IP 주소 (IPv4)
    • 한 개의 퍼블릭 IPv4 주소
    • 한 개 이상의 IPv6 주소
    • 하나 이상의 보안 그룹
    • MAC 주소
  • EC2 인스턴스와 독립적으로 ENI를 독립적으로 생성하고 즉시 연결하거나, 장애 조치를 위해 ENI를 EC2 인스턴스에서 이동시킬 수 있다.
  • 특정 가용 영역에 바인딩된다. 즉 다른 AZ에 있는 EC2 인스턴스에 ENI를 연결할 수는 없다.

EC2 Hibernate (최대 절전 모드)

우리는 인스턴스를 중지하거나 종료할 수 있다는 것을 안다.

  • Stop – the data on disk (EBS) is kept intact in the next start
  • Terminate – any EBS volumes (root) also set-up to be destroyed is lost

인스턴스를 다시 시작하면 아래와 같은 일들이 발생한다.

  • 운영 체제가 부팅되고 EC2 사용자 데이터 스크립트가 실행된다.
  • 운영체제 부팅이 왼료되고, 애플리케이션도 실행되고 캐시도 구성되기 시작하므로 과정이 끝날 때까지 시간이 다소 걸린다.

그렇다면 EC2 최대 절전 모드는 무엇일까?

  • RAM에 있던 인메모리 상태는 그대로 보존된다.
  • 인스턴스 부팅 속도가 빨라진다. (OS를 완전히 중지 / 재시작하지 않는다.)
  • 내부 동작: RAM에 기록되었던 인메모리 상태는 루트 경로의 EBS 볼륨에 기록된다. 따라서 루트 EBS 볼륨은 암호화되어야 한다.
  • 사용 사례:
    • 긴 실행 프로세스
    • RAM 상태 저장
    • 초기화에 시간이 오래 걸리는 서비스

EC2 Hibernation - Good to know

  • Supported Instance Families: C3, C4, C5, I3, M3, M4, R3, R4, T2, T3 등
  • Instance RAM Size: 최대 150GB
  • Instance Size: 베어 메탈 인스턴스는 지원하지 않음
  • AMI: Amazon Linux 2, Linux AMI, Ubuntu, RHEL, CentOS 및 Windows 등
  • Root Volume: EBS 볼륨이어야 하며, 암호화되어 있어야 한다. (인스턴스 스토어 볼륨 X)
  • On-Demand, Reserved, Spot 인스턴스에서 사용 가능
  • 절전 모드는 최대 60일까지 사용할 수 있음
profile
안녕하세요

0개의 댓글