일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Deployment
- YAML
- 쿠버네티스
- Django
- IAM
- ebs
- terraform
- ansible
- github
- K8S
- Kubernetes
- Service
- EC2
- POD
- event loop
- docker
- asgi
- dockerfile
- IAC
- AWS
- EKS
- FastAPI
- elasticsearch
- intervals
- leetcode
- 자바스크립트
- kernel
- WSGI
- asyncio
- Python
- Today
- Total
궁금한게 많은 개발자 노트
[ AWS ] EC2 Instance Storage Section 본문
[ EC2 Instance Storage Section ]
EBS Volume(Elastic Block Store) Volume is a network dirve you can attach to your instances while they run
instance가 종료되더라도 data를 유지해주는 역할을 합니다. 즉, EC2 instance를 종료하고 다시 실행하더라도 같은 EBS Volume을 사용한다면, 그전 데이터를 그대로 사용할 수 있습니다.
(network drives attached to one EC2 instance at a time)
한번에 하나의 instance에 mount될 수 있습니다.(CCP level: Certified Cloud Practitioner), 하지만 advanced한 방법으로 multi-attach도 지원됩니다. (Solution Architect, Developer, SysOps)
# io1 and io2 volume types: this is called the EBS Multi-Attach feature.
또한, specific avaliability zone(AZ)에 bound됩니다. 즉, 다른 AZ에서 생성한 EBS Volume을 다른 AZ에 bound할 수 없음
Mapped to an Availiability Zones
Analogy: Think of them as a "network USB stick"
Free tier: 30 GB of free EBS storage of type General Purpose (SSD) or Magnetic per month
- network drive (not a physical drive)
- network를 이용하여 instance간 통신한다. 그 사이에는 latency가 존재할 수 있음을 의미
- 하나의 EC2 instance에서 detached되고, 다른 instance에 빠르게 attach될 수 있음
- locked to an Availability Zone (AZ): 한 AZ에서 생성되고, 다른 AZ의 instance 붙을 수 없음을 의미 - snapshot을 하면 volume을 다른 AZ로 이동시킬 수 있습니다. (To move a volume across, you first need to snapshot it)
- Have a provisioned capacity (size in GBs, and IOPS) : 특권화된 capacity에 지불하면, drive의 capacity를 증가 가능
- EC2 Instance가 AZ에 bound되어 있듯 EBS Volume도 마찬가지입니다.
- EC2 instance를 생성할 때, EBS Volume root이든 아니든 종료시 함께 종료될지에 대한 여부를 체크 가능 (유지해야할 데이터가 있는 경우에는 체크를 해제함으로써 유지가 가능)
EBS Snapshots
backup을 해놓는다는 의미로 해석될 수 있으며, 언제든 가능합니다. 심지어, EBS volume이 종료되고 난 후에도 snapshot을 만들어놓은 시점으로 복구가 가능합니다. snapshot을 위해 EBS Volume을 detach하는 것이 필수는 아니지만 모든 것이 깔끔하게 동작하기 위해 추천되는 방식입니다.
추가로, AZ를 넘어 EBS volume을 붙일 수 없다고 설명하였는데, snapshot의 copy를 통해 AZ간 이동이 가능합니다.
snapshot을 찍어서 다른 AZ생성 시에 사용할 수 있음을 의미합니다.
- snapshot을 오래 보존해야할 경우에 EBS Snapshot Archive를 사용하여 보존할 수 있습니다
- 즉, 거의 액세스하지 않는 스냅샷을 EBS 스냅샷 아카이브로 이동하여 스토리지 비용을 최대 75% 절감하고 서드 파티 도구의 라이선스 비용을 절감할 수 있습니다. 그뿐만 아니라 24~72시간 내에 아카이빙된 스냅샷을 검색하고, 복원된 스냅샷을 사용하여 EBS 볼륨을 복구할 수 있습니다. https://aws.amazon.com/ko/blogs/korea/new-amazon-ebs-snapshots-archive/
- 또한, 기본적으로 snapshot을 삭제하면 사라지지만, recycle bin for EBS snapshots를 활용하여 삭제된 snapshot을 일정 기간 보관할 수 있는 특징이 있습니다. retention 기간을 지정할 수 있습니다. (AMI나 EBS Volume Snapshot이 우연하게 삭제되었을 때를 위하여 존재하는 기능)
AMI(Amazon Machine Image) Overview
AMI는 EC2 Instance의 customization입니다.
우리가 개발한 SW나 configuration, os, monitoring tool등을 추가할 수도 있으며, booting속도 개선, configuration time등을 customizing할 수 있습니다. 이유는 이러한 것들은 AMI를 통해 EC2 instance에 prepackizing되기 때문입니다.
AMI는 특정 region에서 만들어지며, region사이에서 copy되어 전달될 수 있습니다.
EC2 instance를 다양한 AMI로 동작시킬 수 있으며, AWS에서 제공하는 public AMI, 우리가 직접 만드는 AMI 또는 AMI market place에 올라온 것을 사용할 수도 있습니다. (사고 팔기 가능)
AMI Process (from an EC2 instance)
• Start an EC2 instance and customize it
• Stop the instance (for data integrity)
• Build an AMI – this will also create EBS snapshots
• Launch instances from other AMIs
EC2 Image Builder
Used to automate the creation of Virtual Machines or container images (AMI or docker image)
=> Automate the creation, maintain, validate and test EC2 AMIs
Can be run on a schedule (weekly, whenever packages are updated, etc…) : Free service (only pay for the underlying resources)
it is possible for you to take that AMI and distribute it to multiple regions,
Shared Responsibility Model for EC2 Storage
AWS의 책임: infrastructure, EBS & EFS의 data들을 여러 HW에 복제해서 관리, HW의 결함을 교체하는 것, AWS 직원들이 사용자의 data에 access하지 않는 것에 대한 책임
사용자의 책임: data를 잃지 않기 위해 backup or snapshot 절차와 가이드라인 준수(만일을 대비), data encrpytion을 통해 일어나지 않겠지만 만일에 대비하여 data에 대한 access가 불가능하도록 또 하나의 layer를 구축하는 것, 마지막으로 해당 drive에 저장하는 모든 data에 대해 EFS & EBS를 사용하는 사용자에 책임이 있습니다.
'DevOps' 카테고리의 다른 글
[ Docker ] Docker란? (0) | 2023.01.07 |
---|---|
[ AWS ] EC2 Instance Storage Section - 2 (0) | 2022.12.09 |
[ AWS ] EC2 instance Purchasing Options (0) | 2022.12.08 |
[ AWS ] EC2 instance connect with SSH (0) | 2022.10.20 |
[ AWS ] EC2 Security Groups (0) | 2022.10.12 |