[AWS] EC2 - EBS, Snapshot, AMI

김아름·2022년 2월 22일
0

AWS

목록 보기
6/25
  • 일반적인 서버를 보면
  1. 컴퓨팅 2. 하드디스크 3. 랜카드 로 나누어진다.

    이것은 EC2도 마찬가지다
    1) 컴퓨팅에 해당하는 인스턴스
    2) 하드디스크에 해당하는 EBS
    3) 랜카드에 해당하는 ENI 가 있다.



EBS

  • Amazon Elastic Block Store

  • AWS 클라우드의 Amazone EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨을 제공

  • 각 Amazone EBS 볼륨은 가용영역 내에 자동으로 복제되어 구성요소 장애로부터 보호해주고 고가용성 및 내구성을 제공함

  • Amazone EBS 볼륨은 워크로드 실행에 필요한 지연시간이 짧고 일관된 성능을 제공함

  • Amazone EBS를 사용하면 단 몇분 내에 사용량을 많게 또는 적게 확장할 수 있으며, 프로비저닝한 부분에 대해서만 저렴한 비용을 지불 함

  • 가상의 하드드라이브

  • EC2인스턴스가 종료되어도 계속 유지 가능

  • 인스턴스 변경이 용이
    : 네트워크만 변경시켜도 업그레이드, 다운그레이드가 가능

  • 인스턴스 입장에서도 여러가지 EBS를 사용할 수 있다.

  • 인스턴스 정지 후 재기동 가능

  • 하나의 EBS를 여러 EC2 장착 가능(EBS Multi Attach)

  • 루트 볼륨으로 사용시 EC2가 종료되면 같이 삭제됨
    : 단 설정을 통해 EBS만 따로 존속 가능

  • EC2와 같은 가용영역에 존재

  • 총 5가지 타입을 제공
    1) 범용(General Purpose of GP3): SSD
    2) 프로비저닝 된 IOPS(Provisioned IOPS or io2): SSD
    3) 쓰루풋 최적화(Throughput Optimized HDD or st1)
    4) 콜드 HDD(SC1)
    5) 마그네틱(Standard)




Snapshot

  • EBS를 저장하는 효율적인 방법

  • 특정 시간에 EBS 상태의 저장본
    : EBS에 사진을 찍어둔 개념

  • 필요시 스냅샷을 통해 특정시간의 EBS 복구 가능

  • S3(파일저장소)에 보관
    : 증분식 저장(변화된 부분만 저장)

  • ㅎㅏ나의 블럭이 1메가라면, 9메가짜리 저장소가 잇음

  • 노란색 시나리오대로 흘러가면 마지막엔 3개의 블럭이 남는다

  • 이것들을 다 저장하려면 9 * 7 = 68메가가 필요하다

  • 노란색 액션들만 저장한다면(변화된 부분만 저장) 7메가만 필요하다.

  • 만약 하드디스크가 16tb면 스냅샷 할때마다 16tb를 매번 만들 순 없으니까 변화한 부분만 찍어두는거다. 맨 처음에는 16tb가 필요하지만 그 다음부터는 100메가가 바뀌었으면 그부분만 찍는다.

  • 스냅샷을 자주 찍어도 떠도 그렇게 부담이 되지 않음 필요할때마다 자주 뜨는 것을 추천함

  • 자동으로 스냅샷을 떠주는 서비스도 있다 (나중에 소개)




AMI

  • EC2 인스턴스를 실행하기 위해 필요한 정보를 모은 단위
    : OS, 아키텍쳐 타입(32-bit, 64-bit), 저장공간 용량 등
  • AMI를 사용하여 EC2를 복제하거나 다른 리전 -> 계정으로 전달 가능
  • 스냅샷을 기반으로 AMI 구성 가능

구성

  • 1개 이상의 EBS 스냅샷

  • 인스턴스 저장 인스턴스의 경우 루트 볼륨에 대한 템플릿
    ex) 운영체제, 애플리케이션 서버, 애플리케이션

  • 사용권한 (어떤 AWS 어카운트가 사용할수 있는지)

  • 블록 디바이스 맵핑
    (EC2인스턴스를 위한 볼륨 정보 = EBS가 무슨용량으로 몇개 붙는지)

  • 총 두가지 타입

    1) EBS 기반
    -> EC2가 EBS와 네트워크로 연결
    -> 속도가 느림
    -> 인스턴스가 삭제되더라도 EBS는 남아있음


    2) 인스턴스 저장 기반
    -> EC2안에 storage가 들어있음 (네트워크 연결X)
    -> 속도가 빠름
    -> 인스턴스가 삭제되면 storage도 같이 삭제 됨
    -> 보통 영구적이지 않은 데이터를 저장 ex) 캐시 데이터

  • 타입에 따른 AMI 생성방법

  1. EBS : 스냅샷을 기반으로 루트 디바이스 생성
  2. 인스턴스 저장: S3에 저장된 템플릿을 기반으로 생성

AMI를 만드는 과정


1) EBS가 있음
2) EBS의 스냅샷을 찍음 (스냅샷에는 OS,파일,시작권한 등이 있음)
3) 스냅샷을 S3에 저장
4) 스내샷을 기반으로 AMI를 만듬
5) AMI을 가지고 EC2를 실행하거나, 다른사람에게 공유하거나 복사 함




실습

EC2만들기

  1. aws management console 로그인 후
    EC2들어가서 인스턴스 시작 누르면 AMI를 선택하는 창이 나옴
    다양한 OS를 선택할수 있음
    빠른시작의 amazon linux AMI를 사용해보자
    선택후 인스턴스 유형은 t2 micro를 선택

  2. 인스턴스 세부정보는 일단 넘어가고 스토리지 추가로 가보자
    EBS가 나옴
    크기를 조정할수 있고 볼륨유형 5가지 중 하나 선택할수 있다.
    잘 모르겠으면 범용으로 쓰고 싸게 쓰고싶다면 마그네틱을 쓰면됨
    마그네틱으로 해보자

  3. 종료 시 삭제가 뭐냐면
    인스턴스가 종료 되었을때 EBS도 같이 삭제 할거냐는 것
    일반적으로는 체크하지만
    인스턴스가 종료되어도 EBS를 보관하고 싶다면 체크 해제

  4. EBS를 암호화 시킬 수있다. 데이터가 암호화 되는것이 아니라 하드디스크가 암호화 되는 것

  5. 태그 추가: 키랑 값을 적는다.

  6. 보안그룹은 기존 보안그룹 선택-디폴트로 설정, 기존키페어 사용

EC2생성 되었으면 EC2 연결을 해서 콘솔로 들어간다

터미널창에서 ssh -i "키페어 저장 루트" ec2-user@퍼블릭 IPv4로 들어갈수 있다

ssh -i "/Users/~/~/~.pem" ec2-user@퍼블릭 IPv4 주소

그다음에 아래와 같은 명령어 친다 !

sudo -s
yum install httpd
y
service httpd start
nano /var/www/html/index.html

index.html 에 hello,world 라고 쓴다. 여기까진 저번시간에 했던 것!

오늘은 이것을 복제 해 보자

만약 작업을 몇시간, 몇일 한 것을 복제 하고싶다
EC2 인스턴스에서 우클릭 -> 이미지 및 템플릿 -> 이미지 생성 을 누른다.
이미지 이름,설명을 적는다.
재부팅안함을 체크 하자
EBS는 그대로 따라간다 (크기는 늘릴수O)
이미지 생성 버튼 클릭
생성하기 시작한다 (시간이 좀 걸림)

EC2 인스턴스 시작을 누르고 나의 AMI를 누르면
지금 생성했던 EC2가 있다
생성한 EC2를 선택하고 앞에 만들었던 EC2고대로 설정하고 콘솔로 들어가보자

sudo -s
service httpd start

이렇게만 하고 접속해보면 hello, world! 써놨던게 그대로 나옴!

참고

profile
쿄쿄쿄

0개의 댓글