일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- airflow
- DataWarehouse
- Service
- 에어플로우
- 데이터엔지니어링
- WEB
- Django
- 관계형데이터베이스
- 알고리즘
- 웹크롤링
- 개발
- 파이썬
- 개념정리
- CS
- 데이터엔지니어
- 웹자동화
- 클라우드
- 데이터웨어하우스
- 부트캠프
- 웹스크래핑
- AWS
- 기술면접
- 취준
- SQL
- 자료구조
- Amazon
- 프로그래머스
- 데브코스
- 운영체제
- 데이터베이스
- Today
- Total
사진과 음악을 좋아하는 개발자 지망생의 블로그
[클라우드] 1. AWS(Amazon Web Services), EC2, Elastic Beanstalk 본문
[클라우드] 1. AWS(Amazon Web Services), EC2, Elastic Beanstalk
devculture309 2023. 5. 15. 15:241. Amazon Web Services(AWS)
1) 클라우드 컴퓨팅
- 인터넷을 통해 컴퓨팅 서비스를 제공하는 기술
- 기업이나 개인이 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신, Amazon Web Services와 같은
클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스를 대여하고 사용한다
- 클라우드 컴퓨팅의 이점
① 민첩성(Agility): 클라우드 컴퓨팅은 IT 리소스를 더욱 빠르고 쉽게 프로비저닝하고 관리할 수 있기 때문에,
기업이나 개인이 비즈니스 요구사항에 빠르게 대응할 수 있다
② 탄력성(Elasticity): 클라우드 컴퓨팅은 컴퓨팅 리소스를 필요한 만큼 추가하거나 제거할 수 있기 때문에,
기업이나 개인이 IT 리소스를 신속하게 스케일 업 또는 다운시킬 수 있다
③ 비용절감(Cost Savings): 클라우드 컴퓨팅은 기업이나 개인이 인프라를 구축하거나 운영하는 데 필요한 비용을
절감할 수 있다. 기업이나 개인은 클라우드 제공 업체로부터 필요한 만큼의 IT 리소스를
대여하고 사용하기 때문에, 인프라 구축 비용이나 운영 비용을 최소화할 수 있다
④ On-demand: 클라우드 컴퓨팅은 필요한 IT 리소스를 On-demand로 제공하기 때문에, 기업이나 개인이 필요한 만큼의
리소스를 언제든지 사용할 수 있다.
⑤ 관리 용이성(Manageability): 클라우드 컴퓨팅은 IT 리소스를 제공하는 클라우드 제공 업체가 대부분의 관리 작업을
수행하기 때문에, 기업이나 개인은 IT 인프라를 더욱 쉽게 관리할 수 있다.
2) Amazon Web Services(AWS)
- 데이터 센터가 전 세계적으로 분포해 있으며 200개가 넘는 완벽한 기능의 서비스를 제공하는,
세계적으로 가장 포괄적이며, 널리 채택되고 있는 클라우드 플랫폼
- 빠르게 성장하는 스타트업, 가장 큰 규모의 엔터프라이즈, 주요 정부 기관을 포함하여 수백만 명의 고갱이
AWS를 사용하여 비용을 절감하고, 민첩성을 향상시키고 더 빠르게 성장함
- AWS 기본용어
① 가상화
- 나의 물리적인 서버를 여러 개의 가상 서버로 나누어 사용하는 기술
- 이를 통해 물리적인 서버의 자원을 효율적으로 활용할 수 있다
② 가상머신
- 소프트웨어 형식으로 물리적 컴퓨팅을 시뮬레이션하는 가상 환경 → 가상화를 통해 만들어진 가상 서버
- 물리적인 서버와 비슷한 형태로 구성되어 있으며, 필요한 운영체제(OS)와 애플리케이션을 설치하여 사용할 수 있다
③ 스냅샷
- 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술
- 장애나 데이터 손상 시 스냅샷을 생성한 시점으로 데이터를 복구
- 원본 데이터를 그대로 복사해 다른 곳에 저장하는 백업과 달리 초기 생성 시 혹은 데이터의 변경이 있기 전까지는
스토리지의 공간을 차지하지 않는다.
- 메타데이터(데이터에 대한 부가적인 정보)의 복사본에 해당하기 때문에 생성하는 데 오랜 시간이 걸리지 않고,
장애 상황이 발생해도 빠르게 데이터를 복원
④ 데이터 센터(Data Center): 클라우드 서비스를 제공하기 위해 서버들을 한데 모아 네트워크로 연결해 놓은 시설
⑤ 지역(Region)
- 데이터 센터가 위치한 지역
- IT 리소스를 생성할 Region은 선택 가능
- 대상 고객의 지역과 자원 생성할 Region이 최대한 가까워야 함
- 각 리전은 독립적으로 운영 → 국가마다 자원사용 비용이 다름
⑥ 가용 영역(Availability Zone)
- 지리적으로 격리된 데이터 센터 그룹
- 각 가용 영역은 서로 다른 전원, 네트워크 및 연결성을 갖추고 있으며, 이를 통해 가용성과 내구성을 높일 수 있다
- 하나의 Region 은 두 개 이상의 Availability Zone으로 구성됨
2. EC2
- Elastic Compute Cloud의 약어로, AWS에서 제공하는 클라우드 기반 가상 서버
- EC2를 이용하면 인터넷을 통해 간편하게 가상 서버를 프로비저닝 하고, 필요에 따라 컴퓨팅 파워를 확장하거나
축소할 수 있다
- EC2는 다양한 운영체제(OS)를 지원하며, 사용자는 필요한 OS를 선택하여 가상 서버를 구축할 수 있다.
1) EC2 기능
① Amazon 머신 이미지(AMI)
- EC2 인스턴스를 시작할 때 사용할 수 있는 이미지로, 이미지는 OS, 애플리케이션, 설정 등이 미리 설치된 상태
- 사용자는 미리 설정된 AMI를 이용하여 EC2 인스턴스를 더욱 빠르고 편리하게 시작할 수 있음
② 인스턴스 유형
- EC2 인스턴스를 시작할 때 선택하는 하드웨어 구성으로, 인스턴스의 CPU, 메모리, 스토리지, 네트워크 처리 능력 등
이 결정
- 사용자는 자신의 애플리케이션의 요구사항에 맞는 인스턴스 유형을 선택하여 최적의 성능을 뽑아낼 수 있음
③ 키 페어
- EC2 인스턴스에 접속하기 위한 인증 방법
- 사용자는 자신의 키 페어를 생성하고, 해당 키를 이용하여 EC2 인스턴스에 SSH 또는 RDP 등으로 접속할 수 있다
- AWS는 퍼블릭 키를 저장하고 사용자는 개인 키를 안전한 장소에 보관하는 방식
④ 인스턴스 스토어 볼륨
- 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 중단, 최대 절전 모드로 전환 또는 종료 시 삭제됨
- 기본적으로 로컬 디스크로 사용되며, 데이터 처리 작업에 대한 빠른 응답 시간과 고성능을 제공
- Amazon EBS 볼륨보다 저렴하고 고성능이지만, 안정성과 내구성이 떨어짐
⑤ Amazon Elastic Block Store(EBS)
- EC2 인스턴스에서 사용하는 블록 스토리지로, 안정적인 스토리지와 고성능 스토리지를 제공
- EBS 볼륨은 EC2 인스턴스와 분리된 별도의 스토리지로 존재하며, 인스턴스를 중지 또는 종료해도 데이터는 보존
⑥ 보안 그룹
- EC2 인스턴스의 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽
- 사용자는 보안 그룹을 통해 인스턴스에 접근할 수 있는 IP 범위, 포트, 프로토콜 등을 지정하여 보안을 강화할 수 있다
⑦ 탄력적 IP 주소
- EC2 인스턴스에 고정된 공인 IP 주소를 할당하는 기능
- EC2 인스턴스를 중지하거나 다른 인스턴스로 교체할 때도 IP 주소를 유지
⑧ 태그
- EC2 리소스에 사용자가 지정한 메타데이터로, 이름, 설명, 비용센터 등과 같은 정보를 저장할 수 있다
- 사용자는 태그를 통해 EC2 리소스를 관리하고 비용을 추적할 수 있다
⑨ Virtual Private Cloud(VPC)
- AWS에서 제공하는 가상 네트워크 서비스로, EC2 인스턴스와 다른 AWS 리소스를 안전하고 프라이빗하게
연결할 수 있다 → 논리적으로 격리
- VPC를 사용하면 사용자는 AWS 클라우드 내에서 완전히 격리된 가상 네트워크를 구축하고
이를 통해 EC2 인스턴스, RDS 데이터베이스 등 다른 AWS 리소스와의 안전한 통신을 할 수 있습니다.
3. Elastic Beanstalk
1) Elastic Beanstalk
- AWS의 서비스 중 하나로, 애플리케이션을 쉽게 배포하고 운영할 수 있는 플랫폼
- Elastic Beanstalk를 사용하면 개발자는 애플리케이션 코드에 집중할 수 있으며,
용량 프로비저닝, 로드 밸런싱, 조정, 애플리케이션 상태 모니터링 등 나머지 배포 및 운영 작업은 AWS가 자동으로 처리
- Go, Java, .NET, Node.js, PHP, Python, Rudy와 같이 다양한 프로그래밍 언어와 프레임워크를 지원하며,
개발자는 Elastic Beanstalk에 업로드하기만 하면 됨
- 애플리케이션이 트래픽이 많아질 경우, Elastic Beanstalk 필요한 인프라 리소스를 자동으로 확장하여 트래픽에 대응함
'개발 > 클라우드(with amazon)' 카테고리의 다른 글
[클라우드] 6. CI / CD (0) | 2023.05.17 |
---|---|
[클라우드] 5. S3 (0) | 2023.05.17 |
[클라우드] 4. IAM (0) | 2023.05.17 |
[클라우드] 3. Network (0) | 2023.05.16 |
[클라우드] 2. DB (SQL vs NoSQL, Amazon Relational Database Service, Amazon DocumentDB) (0) | 2023.05.16 |