전체 글 235

Github Actions

👣 특이 사항 장점 무료로 CI 과정을 수행할 수 있음. 별도의 서버가 필요하지도 않고 사용 비용을 내지 않아도 됨. Github와 쉽게 통합됨. 이미 마켓에 많이 공유되는 작업들이 존재함. 단점 해당 방식은 원래 CI만 수행할 수 있음. 환경 변수 관리가 어려움. 👣 구성 요소 Workflow Job을 포함하는 프로세스 Event workflow를 동작시키는 trigger Job 동일한 runner에서 실행되는 step 모음 Runner workflow를 수행하는 서버 Artifact 작업 완료 후 보관하는 결과물

DevOps 2024.01.12

Terraform

👣 특징 - Hashicorp 회사에서 오픈 소스로 개발 중인 laC 도구 - HCL 언어를 사용해서 리소스 선언 - CloudFormation과 달리 AWS, Azure, GCP와 같은 클라우서 서비스에 대해 Provider 방식으로 제공 - 인스턴스, 네트워크와 같은 Low-Level 뿐만 아니라 DNS, SaaS와 같은 High-Level 요소도 관리 가능. - 변경 계획과 변경 적용을 분리해서 실수를 줄일 수 있다. - Execution Plan - 종속성 그래프를 작성해서 해당 변경이 인프라에 어떤 영향을 줄 수 있는지 확인 가능 - Resource Graph 👣 배포 workflow 1. Refresh - 현재 인프라 확인. 2. Plan - 예상되는 변경점 미리 확인 3. Apply - 선후..

DevOps 2024.01.12

코드형 인프라

👣 laC - Infrastructure as Code AWS를 운영하면서 어떤 절차에 의해 서버 및 인프라를 구축했는지 문서화가 어려운 경우가 많다. 이런 경우, 운영 기록을 코드로 남길 수 있다면 다음과 같은 이점을 가질 수 있다. 1. 버전 관리 가능 코드로 인프라 운영 기록을 남길 수 있다면 Git을 이용해서 버전관리를 할 수 있다. 버전 관리가 가능하다는 것은 롤백이 쉽다는 것이며 문서화가 용이하다는 뜻이다. 2. Human Error 감소 한번 설정한 인프라 운영 방법을 문서화 한다고 한들 누락에 의해서 혹은 UI 변경에 의해서 재현하기 어려운 경우가 발생한다. 코드로 정의하고 나면 굳이 다시 해석할 것 없이 그대로 코드를 실행시키면 된다. 하지만, 언제나 그렇듯 항상 이점만 있는 것은 아니다..

DevOps 2024.01.12

CI/CD 정리

👣 CI/CD란? CI : 지속적 통합이라는 의미로, '코드 변경 사항'이 빌드 및 테스트 되어 공유 레포지토리에 통합하는 것. 기능 추가 혹은 수정을 매우 빈번하게 하는 경우 코드 검증 시간을 단축. CD : 지속적 배포라는 의미로, 개발자의 변경 사항이 프로덕션 환경까지 릴리즈 되는 것. - continuous delivery : 자동으로 배포 X - continuus deployment : 자동으로 배포 O 👣 CI/CD LifeCycle 1. Design 2. Develope 3. Build 4. Test 5. Deploy 6. Monitor 👣 무중단 배포 전략 Blue-Green 배포 Blue는 새롭게 생성한 어플리케이션 인스턴스, Green은 기존에 사용하던 인스턴스. Blue가 서버에 완전..

DevOps 2024.01.12

AWS AutoScaling Group

👣 Autoscaling Group 트래픽에 따라 Scale In, Out하는 EC2 인스턴스 그룹 👣 Launch template & Golden AMI 인스턴스의 구성 정보를 템플릿화한 것. Golden AMI[Amazon Machine Image]는 OS를 포함한 필수 패키지를 의미하며 이것이 설정되어 있으면 편히 AutoScaling을 수행할 수 있다. 👣 Policy 단순 조정 정책 - Simple Scaling Cloudwatch 경보 위반을 트리거로 Scale Out/In 하는 정책. 대상 추적 조정 정책 - Target Tracking Scaling 특정 지표값이 유지되도록 Scale Out/In 하는 정책. 예를 들어, CPU 80%을 유지하도록 조정할 수 있음 단계 조정 정책 - Ste..

DevOps 2024.01.11

네트워크 기초

👣 CIDR - Classless Inter-Domain Routing 클래스 없이 네트워크를 구분지을 수 있어서 더 유연하게 IP주소를 여러 네트워크 영역으로 나눌 수 있다. 위 이미지처럼 나누면 IP 낭비가 너무 많기 때문에 CIDR 방식이 나오게 되었다. 위 표시 내용에서 "/24"는 24번째 비트 이후에 오는 모든 비트를 할당한다는 뜻이다. 때문에 위 에서 사용할 수 있는 IP 주소는 "10.0.0.0 ~ 10.0.0.255"가 된다. 👣 대역폭과 트래픽 트래픽이란? 회선을 지나가는 데이터량. 대역폭이란? 회선을 지나가는 초당 데이터량. 👣 웹 브라우저에 URL(www.google.com) 입력 시, 수행되는 일들 1. 웹 브라우저가 URL 분석 2. HSTS 목록을 뒤져서 URL을 찾으면 HTT..

DevOps 2024.01.10

AWS 아키텍처 설계 기초

👣 설계 시, 고려해야 하는 것들 운영 우수성 - 장애 시나리오 만들기 - 모든 장애 리뷰 및 회고 - 롤백을 고려한 변경작업 수행 보안 - 시스템 접근에 대한 추적[Cloudtrail 등] - 모든 OSI 7 Layer에 대해 보안 적용 안정성 - 장애 자동 복구 구축 - 장애 복구 훈련 수행 - 가용성 있는 수평 확장 설계 성능효율성 - 빠른 글로벌 접근 가능한 설계 [Cloudfront 등] - 서버리스 아키텍처 활용 [Lambda, Fargate, S3 등] 비용최적화 - 적절한 약정 채택 - 클라우드 마이그레이션을 통한 온프레미스 운영비 최소화 - 관리형 서비스를 통한 운영비용 최소화 - 월 비용 분석을 통한 비용 최적화 수행 👣 AWS 인프라 확장 과정 1. 단일 EC2 + 단일 RDS + R..

DevOps 2024.01.10

AWS 계정 관련 기초 지식

👣 MFA - Multi-Factor Authentication 계정 인증 과정 이외에도 추가적인 보안 과정을 씌우는 것. 👣 IAM - Identity and Access Management 특정 계정의 리소스에 대한 접근 권한을 정의하는 장치. RBAC - 역할 기반 접근 제어 정책 개개인의 권한을 일일이 지정. ABAC- 속성 기반 접근 제어 정책 역할이라는 것으로 추상화해서 개개인의 권한을 지정하는 것이 아닌 역할 군마다 권한을 지정하는 것. 👣 AWS Organization 여러 AWS 계정을 조직으로 통합시켜서 관리하는 서비스. 이것을 이용하면 여러 계정의 비용 지출을 한꺼번에 처리할 수도 있고 보안 및 규정 준수 요구 사항을 일괄 관리할 수도 있다.

DevOps 2024.01.09

AWS 보안 규정 및 비용 체계

👣 공동 책임 모델 AWS는 일부 객체에 대한 보안만 책임짐. 나머지 보안은 고객에 책임져야 함. AWS는 인프라 내의 결함을 패치하고 수정할 책임만 질 뿐 게스트 OS 및 애프릴케이션에 패치를 적용할 책임을 지지 않음. AWS는 인프라 장치의 구성을 유지 관리하지만 OS, DB, Application을 구성할 책임은 지지않음. 👣 가격 약정 할인 정책 오로지 사용량 기반 과금인 'On-Demand' 방식으로만 비용을 지불하는 것이 아닌 일정 기간동안 사용하겠다는 약정을 체결하면 미리 선납을 통해 비용 할인받을 수 있다. 그러한 약정에는 RI와 SP 방식이 존재한다. RI는 매우 저렴한 가격으로 서비스를 누릴 수 있지만 지역, 크기, 인스턴스 패밀리를 정하면 변경이 불가능하다는 단점이 있다. SP는 RI..

DevOps 2024.01.09

AWS 서비스 기초

👣 AWS 리전 코드 규칙 Ex) ap-northeast-2 => 서울 AWS 인프라 [지역] - [지리적 위치] - [순번] 👣 AWS 가용 영역(Availability Zone) 1개의 리전은 최소 2개 이상의 가용 영역으로 구성되어 있고 가용 영역은 1개 이상의 데이터 센터로 구성되어 있다. 때문에 화재, 정전, 자연재해 등등의 문제로 서버가 다운되더라도 문제없이 서비스를 이어나갈 수 있다. 👣 AWS 엣지 로케이션 (Edge Location) AWS의 CDN들의 여러 서비스를 빠른 속도로 제공하기 위한 Cache Server라고 볼 수 있다. 정확히 말하면 AWS의 CDN인 CloudFront와 DNS 서비스인 Route53의 캐시 서버를 의미한다. 👣 AWS 컴퓨팅 서비스 EC2 - Elasti..

DevOps 2024.01.09