EIP, Elastic Internet Protocol

  • 소개
    고정된 IP를 제공한다. EC2 인스턴스 재시작 시, public ip 변경되는 문제 해결한다.
  • 특징
    계정 당 5개의 상한선을 갖는다. 활성화된 인스턴스에 연결하면 요금이 부과되지 않는다.

EC2 Placement Groups

Cluster

  • 소개
    하나의 rack(실제로 근접한 위치의 하드웨어 한 묶음)에 ec2들을 생성한다.
  • 특징
    ec2 간의 매우 빠른 통신을 지원한다; 10 Gbps bandwidth between instances. 하나의 물리 장비에 의존하기 때문에 한번에 failure 할 수 있다.

Spread

  • 소개
    구성하고 있는 모든 instance를 물리적으로 격리하여 배치한다.
  • 특징
    하나의 AZ에 7개의 인스턴스 상한선을 갖는다.

Partition

  • 소개
    한 가용 영역에 여러 파티션을 가질 수 있고, 한 파티션은 여러 인스턴스를 가질 수 있다.
  • 같은 가용 영역의 파티션이더라도 서로 격리되어 있다.
  • 한 가용 영역에 최대 7개의 파티션을 생성할 수 있다.
  • HBase, Kafka, Cassandra에 사용

ENI, Elastic Network Interface

logical component of VPC, ec2의 가상 network card.
ec2가 외부 네트워크와 통신하기 위해서 필요한 가상 장비라고 이해하자. secondary(보조) ENI를 가질 수 있으며 ENI는 하나의 private, public ip를 갖고 mac address도 갖는다. 보안 정책을 가질 수 있다. Bound to AZ; 특정 가용 영역에 한정된다. 다른 ec2 instance로 옮길 수 있다. private IP와 중심으로 생각해야 할 거 같다.

ec2 instance를 생성하면서 자동으로 생성된 eni는 public ip와 private ip를 갖지만, eni를 따로 생성하면 private ip만을 갖는다. 이것을 instance에 연결하여 보조 private ip로 사용할 수 있다. 자동으로 생성된 eni는 instance 종료와 함께 사라진다.

EBS

Elastic Block Store

  • bound to a specific AZ
  • 컴퓨터 하드 디스크라고 생각할 수 있다. 다만 network로 연결된. 따라서 다른 인스턴스에 옮겨 연결할 수 있다.
  • 만약 현재 AZ에서 벗어난 자원에 연결하려면 snapshot을 이용하면 된다.
  • have a provisioned capacity; 미리 설정한 저장 공간을 갖는다.
  • 인스턴스 종료 시에 연결되어 있는 EBS 동작을 정의할 수 있다. 같이 삭제되거나 남거나. 기본 설정은 root EBS는 사라지고 추가 EBS는 남는다.
  • snapshot을 통해 backup 할 수 있다. copy snapshot으로 원본 EBS의 AZ 밖으로 EBS를 새롭게 생성할 수 있다.
  • archiving으로 보관하면 비용을 줄일 수 있다. 다만 recovery에 하루에서 3일정도 걸린다. 또는 recycle bin을 통해 의도치 않은 snapshot 삭제에 복구할 수 있다. 설정을 통해 recycle bin을 활성화한다.

EBS types

  • gp2, gp3: general, SSD; gp3는 IO와 throughput을 따로 설정할 수 있지만 gp2는 묶어서 설정할 수 있다.
  • io1, io2: high performance, SSD, provisioned IOPS(PIOPS)
  • st: HDD
  • sc: HDD, lowest price

gp와 io만 boot volumes 사용할 수 있다.
추가로 io1, io2는 최대 16개의 ec2 인스턴스에 연결할 수 있다. 물론 같은 AZ 내의 자원에만. 각 인스턴스는 io1, io2 EBS에 대해 read와 write 권한을 얻는다.

EBS Encryption

  • encryption has a minimal impact on latency
  • encryption leverages(활용) keys from kms; kms 키를 생성하여 AES-256 암호화 표준을 갖는다.

encrypt an unencrypted ebs volume

  • create snapshot(this snapshot is not encrypted)
  • using copy, encrypt snapshot
  • create new ebs volume from snapshot(this volume is encrypted)
  • attach the encrypted volume to the original instance

EC2 Instance Store

EBS는 network 로 연결된 저장 공간이기 때문에 high performance를 낼 수 없다. EC2와 대응되는 하드웨어에 physical 연결된 저장 공간을 ec2 instance store라고 한다. 인스턴스를 stop, terminate 하면 저장 공간이 사라진다. 따라서 long term 계획으로 사용하면 안된다.

EFS, Elastic File System

  • managed NFS, can be mounted on many EC2; 한 EFS에 여러 EC2 인스턴스가 동시에 연결될 수 있다. 서로 다른 AZ에 대해서도 지원한다.
  • highly available, scalable, expensive, pay per use; provisioned 방식과 다르게 필요한 만큼 공간이 확장되고 그 만큼 비용을 청구한다.
  • NFS protocol
  • security group을 efs에 설정할 수 있다.
  • Compatible with linux based AMI(not windows); 리눅스 os와 호환된다.
  • encryption
  • performance mode와 throughput mode가 있다. 모드라는 용어때문에 두 모드 중 하나를 고른다고 생각했는데, 그것이 아니라 performance 관련 설정을 모드로 하고, throughput은 따로 한다고 이해하는 것이 좋다.
  • EC2를 생성할 때 EFS와 연결하는 옵션을 추가하면, EFS에 보안 그룹이 추가되고 EC2 security group에 생성된 EFS 보안 그룹을 대상으로 하는 보안 그룹이 추가된다. 그리고 그 보안 그룹은 NFS 프로토콜 포트로 열려있다. 요약하면 ec2와 efs가 통신할 수 있도록 보안 그룹이 설정된다.

EBS vs EFS vs S3

잘 정리된 글로 대체

https://www.smileshark.kr/post/amazon-s3-efs-ebs-which-aws-storage-service-to-use