DevOps

· DevOps/AWS
Elastic Container Registry일관되고 가벼운 컨테이너 런타임 실행환경을 위해 빌드된 이미지들을 저장하는 곳이 컨테이너 이미지 레지스트리이다. 대표적으로 컨테이너 플랫폼으로는 도커가 있고, 도커 이미지의 레지스트리로 도커 허브가 있다. 도커 이미지와 같은 컨테이너 표준 OCI 이미지의 저장소를 관리형 서비스로 제공하는 것이 AWS ECR이다.퍼블릭 레지스트리나 ECR 모두 기본적인 레지스트리 기능을 제공한다. 외부에서 pull 할 수 있는 이미지들을 모아놓을 수 있는 허브로서의 기능성이다. ECR은 이외에도 추가적인 기능을 제공한다.  Lifecycle PolicyECR 내의 오래된 이미지들을 자동으로 삭제할 수 있는 정책을 정할 수 있다. ECR은 보관된 이미지 용량만큼 비용이 부과되기..
· DevOps/AWS
Auto Scaling컴퓨팅 리소스의 규모나 사이즈(scale)를 조절하는 것을 스케일링이라고 한다. 사이즈를 키우거나(scale up), 줄이거나(scale down), 규모를 확장하거나(scale out), 축소하며(scale in) 컴퓨팅 리소스를 조절해 가용성과 안정성을 확보하고 비용을 효율적으로 관리할 수 있다.이러한 스케일링 작업 중 용량 확장과 축소를 클라우드 상에서 자동으로 수행하는 것을 오토스케일링이라고 하고, AWS에선 Auto Scaling Group(ASG)를 통해 EC2 인스턴스들을 하나의 논리적인 단위로 묶어 scale in/out을 자동으로 수행할 수 있다. ASG는 Multi-AZ이다. 여러 가용영역을 걸쳐 설정할 수 있지만 한 리전 내에서만 할 수 있다. 인스턴스 개수 한도..
· DevOps/AWS
Load Balancer서버나 인프라에 가해지는 작업량, 혹은 트래픽 부하를 로드라고 한다. 한 서버가 모든 로드를 다 부담할 때 트래픽이 너무 많다면 장애가 발생할 것이다. 이럴 때 이러한 로드를 여러 리소스에 분산시키는 것이 로드밸런서이다. AWS에는 로드밸런서 서비스로 ELB(Elastic Load Balancer)가 있다. 로드밸런서는 OSI 7계층에서 3, 4, 7계층에 존재할 수 있다. 각각 IP, TCP/UDP, 그리고 HTTP 기반으로 트래픽 분산을 수행한다. AWS에서는 3계층 로드밸런서로 GWLB(Gateway Load Balancer)가 2020년 쯤 출시되었는데, 시험에선 어쩌다 한 번 나오고 대부분 4계층 로드밸런서인 NLB(Network Load Balancer)와 7계층 로드밸..
· DevOps/AWS
EC2 - Elastic Compute CloudEC2란 AWS의 가상 컴퓨터 리소스이자 가장 기본적인 서버 리소스이다. 컴퓨터 하나 당 EC2 인스턴스라고 한다. 컴퓨터이니 OS가 필요하고, OS는 설정과 정보들을 담아둔 이미지인 AMI로 실행할 수 있다. 인스턴스의 상태는 여러가지가 있지만 종료와 중단은 특히 구분되어야 한다. 중단(Stop)은 인스턴스를 사용하진 않지만 삭제하지 않고, 종료(Terminate)는 인스턴스를 삭제하는 것이다. 디스크 역할을 하는 스토리지 볼륨으로는 네트워크 기반의 EBS(Elastic Block Storage)나 EFS(Elastic File System)를 연결해줄 수도 있고, 인스턴스 자체의 스토리지인 인스턴스 스토어를 사용할 수 있다. 네트워크 기반의 스토리지는 ..
· DevOps/AWS
클라우드에 대한 개념은 당연하고 각 CSP의 이해 또한 매우 중요해졌다. 그 중에서 가장 많이 사용하는 AWS의 자격증을 공부해야겠다고 항상 생각해왔는데, 양이 많고 시험료가 비싸 항상 망설이고만 있었다ㅠㅠ 그러던 중, 2024년 말까지 시험료 반값 할인에 대한 정보를 접해 얼른 신청해버리고 공부를 했다!! AWS SAA에 자격증을 공부했던 내용들을 기록해보려 한다. 반값 할인에 대한 정보는 아래 링크에서 확인할 수 있다. 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services aws.amazon.com 가장 첫 글로 AWS SAA에 대한 소개와 기본적인 정보들에 대해 기록해보겠다.AWS Certified Solution Architect - AssociateAWS SAA는 AW..
· DevOps/CICD
오늘은 트러블 슈팅이다.문제 상황내가 현재 진행하고 있는 프로젝트는 AWS의 프리티어를 이용해 개발 서버를 구축했다. 배포 방식은 Private ECR과 ECS with EC2를 이용해 배포 중이다. Private ECR은 Public ECR과 다르게 프리 티어에 제한이 상당히 적다. 우리의 개발 서버 이미지를 저장할 Private ECR이 잦은 배포로 사용량이 넘쳐서 프리티어 제공량을 넘을 것 같은 상황이었다.그렇게 Public ECR로 바꾸기로 결정했다. CD 파이프라인을 GitHub Actions를 이용해 구축했다. AWS의 공식 action인 amazon-ecr-login을 이용해 Private ECR과 Public ECR을 모두 간단하게 접근할 수 있다. 공식 레포 에서 언급한 것처럼 regis..
· DevOps/CICD
코드 품질을 분석하기 위한 도구는 여러가지가 있다. SonarQube 같은 대표적인 정적 코드 분석 도구를 사용해서 다양한 유형의 문제나 취약점 등을 지속적인 모니터링으로 찾아 일정 수준 이상의 코드 품질을 유지하는 것은 엔지니어로서 아주 바람직한 선택이라고 생각한다. 오늘은 SonarQube 같은 다양한 기능의 프로그램이 아닌 간단한 방식으로 코드 분석을 도와줄 수 있는 Checkstyle을 도입한 경험을 포스팅 해보겠다. Code Quality Tool & Secure Analysis with SonarQubeEmpower development teams with a code quality & security solution that deeply integrates into your enterpris..
· DevOps/CICD
수월한 애자일 개발을 위해 CI/CD는 필수적이라고 볼 수 있다. 이를 위한 DevOps팀이 존재해서 굉장히 전문적인 분야라고 생각이 될 수도 있지만, CI/CD는 어렵지않게 구현할 수도 있다. 내가 프로젝트를 진행하면서 도입했던 빌드 자동화에 대해 작성해보려 한다.CI - Continuous Integration직관적으로 CI는 지속적인 통합, CD는 지속적인 배포이다. 통합과 배포가 반복적으로 이루어질 때 귀찮은 반복 작업을 자동으로 이루어지도록 자동화를 해놓는 것이 CI/CD이다. CI에 집중해보자. 통합이란 무엇을 말하는걸까?애자일 방법론이 개발 방법론 중 대세가 되었다. 동시다발적으로 작업을 진행함으로써 작업 속도를 높이고 피드백을 더욱 빠르게 수용하는 것이 효과적이라고 생각한다. 이로 인해 전..