본문 바로가기

AWS

(8)
AWS 7. Elastic BeanStalk EBS 등장배경 백엔드 개발자의 주 업무는 서버를 구축 하는 것이지 배포가 아니다. 그러나 AWS를 통해 배포를 하기 위해서는 셋팅해야할 것이 꽤나 많은데, 대부분의 웹앱은 같은 구조를 따른다. 따라서 배포 프로세스를 자동 처리하고, DB와 같이 운영에 필요한 리소스를 구축하고, load balancing과 auto scaling등의 기능을 제공하는 ESB가 등장하였다. 기본적인 초기 설정들을 도와주어서 개발자는 코드에 집중할 수 있게 해주지만, 세부설정은 여전히 수동으로 조절 가능하므로 각 서비스들에 알고 있는 것이 중요하다. Application, Environment Application 애플리케이션 코드, 구성 및 관련 파일. 개발자가 올리는 back end application. Elastic..
AWS 6. Cloud Front 1. Cloud Front, CDN Cloud Front란 AWS에서 제공하는 Content Delivery Network 서비스 이다. CDN이란 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장(캐싱)하여 제공하는 시스템을 말한다. 넷플릭스 등이 이것을 이용해 서비스를 제공한다. 지역의 인터넷 서비스 제공자(ISP)에 직접 연결되어 데이터를 전송하므로, 콘텐츠 병목을 피하고 향상된 속도를 가질 수 있으며, CDN 자체 방화벽과 분산성으로 인해 DDOS 공격등으로 부터 비교적 안전해지는 장점이 있다. 하지만 데이터를 캐싱하여 제공한다는 특성항 실시간 동적 컨텐츠를 제공해야 할 경우에는 적합하지 않으며, CDN 제공 업체에 비용을 추가 지불해야한다는 단점이 있다. 2. Clou..
AWS 5. VPC, S3 1. VPC Virtual Private Cloud. AWS에서 제공하는 클라우드 컴퓨팅 리소스를 사용할 수 있는 가상의 사설 네트워크로, IP 주소 범위, 라우팅 테이블, 서브넷 및 보안 그룹을 설정할 수 있다. Region마다 존재하며, 여러 AZ에 걸쳐 있을 수 있다. 가상 서버, 스토리지 및 데이터베이스와 같은 다양한 AWS 리소스를 만들고 관리할 수 있다. 2. 서브넷, 게이트웨이, NAT 서브넷: IP 주소 범위를 지정하는 가상의 네트워크. 서브넷은 라우팅 테이블에 연결되며, 각 서브넷은 하나의 라우팅 테이블에만 연결될 수 있다. 서브넷을 사용하여 VPC 내에서 다른 서브넷과 격리된 가상 네트워크를 생성할 수 있으며 이를 통해 서비스가 요구하는 보안 요구 사항을 충족시키거나 성능을 향상시킬 수..
AWS 4. DNS, route53 1. DNS DNS는 도메인 주소와 ip를 연결한다. IP는 외우기 어렵고, 변경될 수 있다. 따라서 도메인 주소를 할당해서 접속을 편리하게 한다. 도메인 주소의 구조 top Level Domain: 가장 뒤 의 'com' 부분. (us, com, kr ... ) Second Level Domain: 뒤에서 두번째 도메인(co,ac,or ... ) domain name: naver, daum 같은 것을 말한다. 고유한 이름을 가진다. sub-domain: www, m 등 도메인 이름 앞에 온다. DNS의 동작 브라우저는 도메인 주소가 가리키는 ip 주소를 모른다. local DNS 서버(보통 SKT 같은 인터넷 서비스 제공자(ISP)의 DNS)에 도메인 주소에 해당하는 ip 주소를 질의한다. local ..
AWS 3. RDS 관계형 DB를 위한 서비스 - RDS SQL을 쿼리어로 사용하는 관계형 DB를 위한 서비스이다. EC2 상에 DB를 만들어 사용할 수 있지만 RDS가 나은점은 다음과 같다: DB를 위한 인프라 자동 구축/업데이트 지속적인 백업과 복구 지원 - 서버와 분리되어 더 엄중한 보호와 관리를 받아야한다. 모니터 대시보드 지원 - 트래픽 등을 시각적으로 확인가능 성능향상을 위한 read-replicas 지원 Multi AZ 지원(고가용성) 수평/수직 확장성 EBS 백업 지원 단점은 SSH로 접속이 불가능하여 서비스 중간에 RDS를 새로 적용하기는 어렵다는 것이다. RDS의 기능 - Storage Auto Scaling DB용량의 한계치에 도달할 때 자동으로 용량을 늘려준다.(수직 확장성) 단, 최대 용량 한계치를 ..
AWS 2. 확장성/가용성, ELB 1. Scalability vs Availability Scalability(확장성): 시스템이 커지거나 작아질 수 있는 능력 사용자 수, 데이터 양, 처리량 등이 증가할 때 시스템의 성능과 처리 능력을 유지하거나 향상시키는 능력. 확장성 있는 시스템 디자인과 구현이 필요하다. Availability(가용성): 시스템이 정상적으로 작동하고 사용 가능한 상태를 유지하는 능력 여러 가용 영역에 애플리케이션 및 인프라를 배포함으로써 서비스를 항상 이용 가능한 상태로 유지하는 것. 시스템의 안정성을 높이고 장애 대응 능력을 강화하는 것이 중요하다. 둘 다 중요한 개념이며, 분산 시스템을 설계하고 구현할 때 모두 고려해야 한다. Horizonatal / Vertical Scalability 수평적 확장은 인스턴스..
AWS 1. EC2 0. Billing 본격적으로 클라우드 서비스를 이용하기 앞서 요금 폭탄을 맞기 싫으면 Billing의 기능들을 사용하자. 사용량 모니터링: AWS에서 제공하는 모든 서비스에 대한 사용량을 서비스 별로 모니터링. 비용 분석: AWS에서 제공하는 서비스에 대한 비용을 분석. 서비스별, 리전별, 태그별 또는 사용자별로 비용을 확인가능. 절약 전략 수립 가능 청구 정보 확인: AWS 계정에 대한 요금 청구 정보를 확인 예산 설정: AWS에서 제공하는 예산 설정 기능을 사용하여, 비용을 제어하고 예산 초과를 방지 budget 기능을 이용해 청구비용의 상한을 정하고 미리 알람을 설정할 수도 있다. 1. EC2 기초 클라우드 서비스의 종류 IaaS (Infrastructure as a Service) : 하드웨어 ..
AWS 0. 소개, IAM, MFA AWS AWS(Amazon Web Services)는 클라우드 컴퓨팅 플랫폼이다. AWS는 분산된 데이터 센터를 이용해 인프라를 제공하고, 고객은 제공된 인프라를 쉽고 빠르게 설정, 관리할 수 있다. AWS에서 제공하는 주요 서비스는 컴퓨팅, 데이터베이스, 스토리지, 네트워킹, 보안 등이 있다. 여기서 우리가 사용하게 될 EC2는 클라우드 컴퓨팅에 속한다. Region & Availability Zone(AZ) Region은 말 그대로 북미-동북부, 아시아-태평양 등의 지역을 의미한다. 한 region에는 여러개의 availavility zone이 존재가능한데, 이것은 하나의 데이터 센터들이라고 보면 된다. 기본적으로 내가 배포한 서비스와 같은 지역에 있는 사용자는 더 빠른 속도를 경험할 수 있다. 각 ..