본문 바로가기
Development(Web, Server, Cloud)/22) DevOps

DevOps 1일차

by tonyhan18 2022. 1. 5.
728x90

AWS CLOUD입문 기초 자료. AWS 를 배우기 위해서 개발자이 막상 시작을 하지만 어디서부터 공부를… | by nuax | Medium

 

AWS CLOUD입문 기초 자료

AWS 를 배우기 위해서 개발자이 막상 시작을 하지만 어디서부터 공부를 해야될지 무엇부터 봐야 하는지 막막해 하는 경우가 많았다.

medium.com

DevOps

DevOps = dev + ops

 

DevOps가 필요한 이유

개발 사이클이 이렇게 된다. 큰 규모의 조직에서는 위와같은 전문가들이 붙게 된다. 병목현상이 발생할 가능성이 크다.

 

그래서 개발과 운영중에 생기는 이슈들에 모두 개발자가 참여

 

개발과 운영의 벽을 허물어 더 빨리 자주 배포가 목표

 

데브옵스 실천방법 : AWS

*지속적 통합(CI) : 개발자 변경물을 테스트하고 빠르게 저장소에 통합 -> 서비스 품질 보장

*지속적 배포(CD) : 개발결과 산출물을 자동으로 개발환경이나 운영환경까지 배포하도록 만든 자동화된 파이프라인

마이크로서비스 : 어느정도 규모, 서비스가 너무 크면 빌드가 오래걸림 그래서 병목현상이 생김 -> 큰 서비스를 작은 마이크로 서비스로 쪼갬

IaC : 인프라스트럭처를 코드로 관리하는 방법, 인프라변경사항을 자동화시키는 방법

모니터링과 로깅 : 개발자들에게 메트릭과 로그를 중간에 확인하게끔 함

소통 및 협업 : 의사소통좀 잘 해라

 

DevOps vs DevOps 엔지니어

데브옵스 : 문화

데브옵스 엔지니어 : 조직에 데브옵스를 정착시키는 역활. 개발 + 운영할 수 있는 환경 구축 -> 개발자들의 환경 구축/운영 시간을 단축시키어주는것이 목적. 이렇다보니 하는 일이 많음.

 

- 네트워크 도메인

가상 네트워크 및 물리 네트워크 구성

프록시/VPN 서버 운영

DNS 서버 운영

 

- 개발 및 배포 플랫폼

깃랩/깃헙과 같은 버전관리 및 개발 협업 플랫폼 운영

CI/CD 파이프라인 시스템 구축 및 운영

QA 테스트 및 성능 테스트를 위한 환경 제공

패키지 저장소 운영 및 배포 산출물 관리

 

- 오케스트레이션 플랫폼

쿠버네티스/ECS/Nomad 와 같은 오케스트레이션 시스템 구축 및 운영

Airflow / Argo Workflows와 같은 워크플로우 엔진 구축 및 운영

 

- 관측 플랫폼

로그 / 메트릭 / 업타임 / APM 정보를 관측할 수 있는 중앙화된 시스템 구축 및 운영

주요 이벤트에 대한 알림 시스템 구축

 

- 클라우드 플랫폼

개발자들이 활용할 수 있는 클라우드 환경 운영

 

- 보안 플랫폼

LDAP/ AD /SAML 등을 활용하여 통합된 임직원 계정계 운영

서버 및 데이텁이스 접근제어 시스템 구축 및 운영

네트워크 방화벽 정책 관리

 

- 데이터 플랫폼

MySQL/ DynamoDB / Redis와 같은 DB 구축 및 운영

RabbitMA / Kafka / SQS 등과 같은 메시징 서비스 구축 및 운영

데이터 웨어하우스 / BI 대시보드 구축 및 운영

 

- 서비스 운영

개발자들과 협업하여 서비스 공동 운영

 

데브옵스 팀의 업무 도메인

데브옵스 팀의 핵심 지표

Go > Python > Node.js

OS Concepts는 그냥 다 공부해야함

Linux - Debian 계열과 Ubuntu 계열 각각 공부 / FreeBSD인데... 자주 안씀

live in Terminal - Bash Scripting, Vim/Nano/PowerSHell/Emoos  등등 있는데 그냥 공부하셈

Networking, Security and Protocols

Setup 목록 다 배우기

Web Server - Nginx, Tomcat

IaC - Service Mesh(Istio, Envoy)

- CI/CD (Gitlab CI, Jenkins, Github Actions, CIrcle CI - 스타트업에게 좋음)

- Containers(Docker)

- Configuration Management(Ansible)

- Conatiner Orchestration(Kubernetes)

- Infrastructure Provisioning(Terraform)

monitor - Infratstructure Monitoring(Prometheus, Grafana)

- Application Monitoring(Jaeger, New Relic)

- Logs Management(Elastic Stack)

Cloud Providers - AWS

CLoud Design Patterns

 

 

01. AWS 기초와 VPC

AWS 네트워킹의 동작원리

- Amazon Virtual Private Cloud(Amazon VPC) -> 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있다.

- VPC의 특징

계정 생성 시 default VPC 만들어줌

서비스 사용가능

서브넷 구성가능

보안 설정(IP block, inbound, outbound 설정)

VPC Peering(VPC간의 연결)

IP 대역 지정

VPC는 하나의 Region에만 속할 수 있음

 

 

- Availability Zone

인프라가 모여 있는 데이터 센터

하나의 리전은 2개 이상의 AZ로 구성됨

 

- Subnet

VPC의 하위 단위

하나의 AZ에서만 여러 개의 subnet 생성 가능

-> private subnet

-> public subnet

 

- Internet Gateway(IGW)

private subnet은 IGW로 연결되어 있지 않음

 

- Route table

 

- NACL(Network Access Control List)/Security Group

NACL은 현재 잘 안쓰나보다.

AWS의 Security Group와 NACL의 차이 : 네이버 블로그 (naver.com)

 

AWS의 Security Group와 NACL의 차이

두개를 적절하게 배합하면 좋은 보안 요건을 만들 수 있으나, 트러블 슈팅이 어렵고, 왜냐하면 두가지 요소...

blog.naver.com

Security Group? NACL? — will.log (tistory.com)

 

Security Group? NACL?

1. Security Group vs NACL 개념 Security Group 이란? 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할. 인스턴스 단위로 설정이 가능 ⇒ VPC에 있는 서브넷의 각 인스턴스를

willseungh0.tistory.com

 

 

- NAT(Network Access Translation) instance/gateway

• Private subnet 안에 있는 private instance가 외부의 인터넷과 통신하기 위한 방법

  -> NAT Instance는 단일 Instance(EC2)

  -> NAT Gateway는 aws에서 제공하는 서비스(서비스)

• NAT Instance는 Public Subnet에 있어야 함

 

- Bastion host

bastion host

-> private instance에 접근하기 위한 수단

-> public subnet 내에 위치하는 EC2

 

- VPC Endpoint

• Aws의 여러 서비스들과 VPC를 연결시켜주는 중간 매개체 • Aws에서 VPC 바깥으로 트래픽이 나가지 않고 aws의 여러 서비스를 사용하게끔 만들어주는 서비스 • Private subnet 같은 경우는 격리된 공간인데, 그 상황에서도 aws의 다양한 서비스들(S3,dynamodb, athena 등)연결할 수 있도록 지원하는 서비스 • Interface Endpoint : Private ip를 만들어 서비스로 연결해줌(SQS, SNS, Kinesis, Sagemaker 등 지원) • Gateway Endpoint : 라우팅 테이블에서 경로의 대상으로 지정하여 사용(S3, Dynamodb 지원)

 

 

7. (VPC) VPC 와 Private, Public Subnet 만들기

 

728x90

'Development(Web, Server, Cloud) > 22) DevOps' 카테고리의 다른 글

22.07.19 연구조사  (0) 2022.07.19
Confluence  (0) 2022.07.19