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 만들기
'Development(Web, Server, Cloud) > 22) DevOps' 카테고리의 다른 글
22.07.19 연구조사 (0) | 2022.07.19 |
---|---|
Confluence (0) | 2022.07.19 |