DevOps BootCamp/AWS 14

Amazon ECS/ECR

마이크로서비스 아키텍쳐 이해 > 하나의 애플리케이션을 작은 서비스(독립된 서비스)로 쪼개는 것 > 개발 방법론 ,데이터 스토리지, 개발 파이프라인 등 별도로 구축 > 다른 마이크로 서비스와 무관, 독립 > 통신? 표준화된 인터페이스 -> restful API 마이크로서비스 아키텍쳐의 이점 > 빠른 개발 속도 : 개발 언어 선택 자유로움, 서비스 팀의 역량만으로 가능 > 빠른 배포 속도 및 병렬 배포 : 각 마이크로서비스간 독립된 배포 파이프라인(CI/CD) > DevOps팀과 통합된 운영 : 서비스에 대한 Ownership > 확장성, 가용성 : 마이크로서비스 특성에 맞는 확장성/가용성 설계 > 비즈니스 도메인과 밀접하게 연결 : Lean Cycle(빠르게 비지니스 요건 충족) 마이크로서비스 아키텍쳐 공..

DevOps BootCamp/AWS 2023.04.19

도메인 연결과 CDN 및 HTTPS 적용

1. Certificate Manager를 통한 도메인 인증서 발급 > 사용하고 싶은 클라우드 서비스가 있는 리전에 인증서를 만들어야 한다 예) 서울 리전 1. AWS 홈페이지에 접속 > 로그인 > 오른쪽 상단 서울 클릭 > 자기가 쓰고 싶은 리전 선택 2. 인증서 발급 후 > Route53에 도메인을 생성 > CNAME 데이터를 DNS 클라우드인 Route 53에 생성 했던 도메인 레코드에 등록 ※ 별표(*)는 도메인 이름의 맨 왼쪽에 와야 하며 하나의 하위 도메인 수준만 보호할 수 있음 > *.sanghyup.click는 api.sanghyup.click을 보호할 수 있음 > https로 접속 가능 ※ Route 53은 도메인 네임을 바꿔 주는 클라우드 서비스로 hhtp > https로 바꿔서 접속하..

DevOps BootCamp/AWS 2023.04.19

Route 53

Route53 : 관리형 DNS(Domain Name Service) 서비스 > 사용자의 요청을 EC2 인스턴스, ELB 로드밸런서, S3 버킷 등 AWS 내의 인프라에 연결 > AWS 외부의 인프라에도 연결 시킬 수 있음 > 리전과 독립적으로 작동하기 때문에 다수의 리전을 교차해 연결 > 다수의 리전과 VPC간의 DNS 주소변환도 가능 > 퍼블릭 DNS 기록 관리 기능 외에도 도메인 등록, 신규 도메인을 위한 DNS 생성, 기존의 도메인에 DNS 기록 전송 등 다양한 기능을 제공 ✯ Route53이 지원하는 주요 DNS 기록 타입 A(주소기록) AAAA(IPv6 주소기록) CNAME(캐노니컬 네임 기록) CAA(인증 권한 증명) MX(메일 교환 기록) NAPTR(네임 권한 포인터 기록) NS(네임 서버..

DevOps BootCamp/AWS 2023.04.18

CloudFront

> 전 세계 티어 1,2,3 의 이동통신사와 협력하여 네트워크에 연결된 글로벌 CDN(Content Delivery Network) 서비스 > 저지연성과 고속전송 속성을 지닌 콘텐츠 배포 기능을 제공 > 콘텐츠 사용자와 가까운 지역(엣지 로케이션)에 네트워크망을 구축하고, 지역별 엣지 캐시를 통해 사용자 경험 수준을 높일 수 있게 함 > 정적 콘텐츠 뿐만 아니라 동적 콘텐츠도 지원하며, 사용자 요청은 가장 가까운 엣지 로케이션에서 처리 CloudFront의 핵심 개념 > 엣지 로케이션이라 부르는 글로벌 데이터센터 네트워크를 통해 콘텐츠를 배포 > 전 세계 주요 대도시에 위치하며, AWS 리전 시설의 위치와는 다를 수 있음 > 지역별 엣지 캐시 : 웹 서버와 엣지 로케이션 사이에 위치해 사용자에게 직접 콘..

DevOps BootCamp/AWS 2023.04.18

Elastic Load Balancing

로드 밸런싱이란? > 로드 밸런서에는 동일한 서비스를 하는 다수의 서버가 등록되고 사용자로부터 서비스 요청이 오면 로드 밸런서가 받아 사용자별로 다수의 서버에 서비스 요청을 분산시켜 부하를 분산 > 이와 같은 방식의 서비스를 AWS에서도 제공. 이를 Elastic Load Balancing이라고 함 ELB란? > Elastic Load Balancing은 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산 > 등록된 대상의 상태를 모니터링 하면서 상태가 양호한 대상으로만 트래픽을 라우팅 ELB의 장점 > 고가용성 : 다수의 EC2 인스턴스, 컨테이너 등에 트래픽을 분산 시키며 다수의 AZ에 배포된 EC2 인스턴스에 애플리케이션을 배포, 트래..

DevOps BootCamp/AWS 2023.04.18

Auto Scaling Group

> Auto Scaling: 미리 정해 놓은 규칙에 따라 워크로드(작업량)를 자동으로 확대 또는 축소할 수 있는 기술 > 클라우드가 제공하는 탄력성에 의해 만들어지고, 사용자의 요구 수준을 반영할 수 있는 기술 > 피크 워크로드에 맞춰 새 리소스를 자동으로 추가하고 환경설정하고, 처리 요구량이 줄어들면 해당 리소스를 감소시키기 때문에, 과잉 프로비전을 할 필요성이 사라짐 프로비전(provision) > 필요한 컴퓨팅 리소스들을 필요한 곳에 배치, 유휴 자원들을 다시 회수하는 일련의 작업들을 의미 Auto Scaling의 장점 : 동적 스케일링 > 스케일 업 할 수 있는 서버의 수에는 제한이 없고, 필요한 경우 서버 두 대에서 수백 ~ 수만 대의 서버로 즉시 스케일 업할 수 있음 : 로드 밸런싱 > 다수의..

DevOps BootCamp/AWS 2023.04.18

RDS

> RDS: Relational Database Service의 약자로, AWS에서 제공하는 관계형 데이터베이스 서비스 > EC2 인스턴스 : 데이터베이스와 관련해서 자동으로 관리를 담당하는 부분이 매우 적기 때문에, 사용자가 일일이 시간을 투자하여 데이터베이스 엔진의 설치와 버전 관리, 데이터 백업을 해야 함 > 가용성과 내구성이 확보되지 않기 때문에 데이터베이스에 저장된 데이터가 유실되거나 정상적으로 사용하지 못할 확률이 커지며, 후에 필요에 따라 데이터베이스의 규모를 확장하기 어려움 > RDS : 데이터베이스 유지 보수와 관련된 일들을 RDS에서 전적으로 자동 관리 > 사용자가 해야 할 일은 초기 설정을 제외하고 데이터베이스에 저장된 데이터를 관리하는 일 밖에 없기에 큰 편의성을 느낄 수 있음 > ..

DevOps BootCamp/AWS 2023.04.14

Storage - EFS

> EFS는 서버를 사용하지 않는 간단한 탄력적인 파일 시스템을 제공 > EFS 로 파일 시스템을 생성하고 EC2 인스턴스에 파일 시스템을 탑재한 후 파일 시스템에 데이터를 작성하거나 파일 시스템에서 데이터를 읽을 수 있음 > 온디맨드 방식으로 페타바이트 규모까지 확장되도록 구축되어, 사용자가 파일을 추가하고 제거할 때 자동으로 확장/축소되므로 데이터 증가에 맞춰 용량을 프로비저닝 및 관리할 필요가 없음 > 파일 시스템을 빠르고 쉽게 만들고 구성할 수 있는 간편한 웹 서비스 인터페이스를 제공 > 모든 파일 스토리지 인프라를 관리

DevOps BootCamp/AWS 2023.04.14

Storage - EBS

> EC2 인스턴스에 사용할 수 있는 블록 수준 영구 스토리지 볼륨 > 영구 스토리지는 EC2 인스턴스의 수명주기를 넘어서서 존재할 수 있는 스토리지의 의미 > 형식이 지정되지 않은 원시 블록 디바이스처럼 동작 > 볼륨 위에 파일 시스템을 생성하거나 하드 드라이브와 같은 블록 디바이스를 사용하는 것처럼 볼륨을 사용 > 인스턴스에 연결된 볼륨의 구성을 동적으로 변경할 수 있음 > EC2 인스턴스의 부트 파티션으로 사용되거나 실행 중인 EC2 인스턴스의 표준 블록 디바이스로 사용 ※ 부트 볼륨: EC2 인스턴스가 부팅될 때 사용되는 볼륨, 루트 볼륨이라고도 불림 > EC2 인스턴스에 EBS 볼륨을 부착하면, 서버를 위한 하드 드라이브와 같은 기능을 수행 > EC2에 여러 개의 EBS 볼륨을 부착 할 수도 있..

DevOps BootCamp/AWS 2023.04.14

Storage - S3

Simple Storage Service, S3 > AWS의 대표 스토리지 서비스인 S3는 객체 스토리지 > 데이터 백업, 정적 웹사이트 호스팅, 애플리케이션 호스팅, 재난 복구, 콘텐츠 배포, 데이터 레이크, 프라이빗 저장소 등에 활용 버킷(bucket) > 객체를 저장하는 컨테이너 역할을 하며, 컴퓨터로 비유하자면 파일을 담는 폴더 역할 > 한 버킷 내에 여러 개의 폴더를 생성 > 버킷 생성 시 주의해야 할 점 : 리전에서 유일무이한 이름을 사용 : 사용자가 버킷 URL을 통해 해당 데이터에 접근 > 어떤 리전에서나 생성할 수 있고, 명시적으로 복제 작업을 수행하지 않으면, 한 다른 리전에 특정 버킷의 데이터가 복제 x > S3 버킷은 버전 부여 기능을 제공하므로 객체가 버킷에 추가될 때마다 해당 객..

DevOps BootCamp/AWS 2023.04.14