
개요 데브옵스 부캠 파이널 프로젝트를 하며 배포자동화를 위해 Github Actions를 이용하여 CI/CD 파이프라인을 구축한 것을 간략하게 정리해두고자 한다. [파이널 프로젝트 회고] Github Actions를 사용하는 방법과 기초적인 부분에 대해선 어려운 점이 없기에 스크립트를 남겨두고, 부가적인 설명을 작성하겠다. Github Actions Script name: [Workflow name] on: push: branches: - [branches name] env: AWS_REGION: [region] ECR_REPOSITORY: [ECR Repository name] ECS_SERVICE: [ECS Service name] ECS_CLUSTER: [ECS Cluster name] CONTAI..

Metric 컴퓨팅 유닛 관련 메트릭 요청/응답 관련 메트릭 스케일링 관련 메트릭 k8s - CPU 사용량 (utilization) - 메모리 사용량 - 네트워크 in/out - 디스크 사용량 (노드 및 파드 별) - etcd latency - ingress - 요청 개수 - 요청 latency - 에러율 - 디플로이먼트 상황 ECS - CPU 사용량 - 메모리 사용량 - 네트워크 in/out (클러스터 및 서비스 별) 해당 사항 없음 (ALB와 사용하여 분석해야 함) - 서비스 개수 - (원하는/실행 중인/보류 중인) 작업 개수 - 컨테이너 인스턴스 개수 EC2 - CPU 사용량 - 네트워크 in/out - 네트워크 패킷 in/out - 디스크 읽기/쓰기 (바이트), 작업 개수 - CPU 크레딧 사용..

모니터링(Moritoring) CI/CD 파이프라인의 마지막 단계인 운영은 서비스에 생길 수 있는 현황을 파악하고 문제를 모니터링하는 과정으로 대표된다. 여기서 모니터링이란 어떤 대상을 감시, 관찰한다는 뜻으로 모니터링의 목적은 지속적인 감시, 감찰을 통해 대상의 상태나 가용성, 변화 등을 확인하고 대비하는 것이다. 즉, 어떤 대상의 상태나 상황을 지속적으로 감시, 관찰하여 예기치 못한 상황과 오류를 대비하고 극복한다. 라고 할 수 있다. IT 서비스에서는 서비스가 어떤 환경에서 운영되든 모니터링이 중요하다. 특히 클라우드 플랫폼은 확장성과 유연성을 가졌기 떄문에 지속적인 모니터링을 통해 수집된 데이터를 기반으로 시스템 규모의 확장과 축소를 빠르게 결정해야하기 때문에 더욱 더 중요해진다. 그렇다면 모니터..

Certificate Manager AWS Certificate Manager AWS 서비스 및 연결된 내부 리소스에 사용할 공인 및 사설 SSL/TLS(Secure Sockets Layer/전송 계층 보안) 인증서를 손쉽게 프로비저닝, 관리 및 배포할 수 있도록 지원하는 서비스입니다. SSL/TLS 인증서는 네트워크 통신을 보호하고 인터넷상에서 웹 사이트의 자격 증명과 프라이빗 네트워크상에서 리소스의 자격 증명을 설정하는 데 사용됩니다. AWS Certificate Manager는 SSL/TLS 인증서를 구매, 업로드 및 갱신하는 데 드는 시간 소모적인 수동 프로세스를 대신 처리합니다. ACM 사용 사용할 TLS/SSL 인증서를 AWS 계정으로 요청하거나 가져옵니다. 도메인 이름 시스템(DNS) 또는 ..

Route 53 Route53은 관리형 DNS(Domain Name Service) 서비스 입니다. Route53은 사용자의 요청을 EC2 인스턴스, ELB 로드밸런서, S3 버킷 등 AWS 내의 인프라에 연결시켜주며, AWS 외부의 인프라에도 연결 시킬 수 있습니다. Route53은 리전과 독립적으로 작동하기 때문에 다수의 리전을 교차해 연결할 수 있고, 다수의 리전과 VPC간의 DNS 주소변환도 가능합니다. 퍼블릭 DNS 기록 관리 기능 외에도 도메인 등록, 신규 도메인을 위한 DNS 생성, 기존의 도메인에 DNS 기록 전송 등 다양한 기능을 제공합니다. Route53이 지원하는 주요 DNS 기록 타입은 다음과 같습니다. (아래 내용에 대한 레퍼런스) A(주소기록) AAAA(IPv6 주소기록) CNA..

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

Elastic Load Balancing 로드 밸런싱이란? 서비스 규모가 커지면 물리/가상 서버 한 대로는 모든 서비스를 수용할 수 없게 됩니다. 서버 한 대로 서비스를 제공할 수 있는 용량이 충분하더라도 서비스를 단일 서버로 구성하면 해당 서버의 애플리케이션, 운영체제, 하드웨어에 장애가 발생했을 때 정상적인 서비스를 제공할 수 없습니다. 서비스 가용성을 높이기 위해 하나의 서비스는 보통 두 대 이상의 서버로 구성하는데, 각 서버의 IP 주소가 다르므로 사용자가 서비스를 호출할 때는 어떤 IP로 서비스를 요청할지 결정해야 합니다. 이런 경우 로드 밸런서를 사용합니다. 로드 밸런서에는 동일한 서비스를 하는 다수의 서버가 등록되고 사용자로부터 서비스 요청이 오면 로드 밸런서가 받아 사용자별로 다수의 서버에..

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