Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 개발자 전직
- index in
- token 탈취
- 라즈베리바이4 mongo
- 신입 개발자 면접
- mongo 4.4.18
- nestjs
- git
- ECS
- 신입 면접 팁
- kubernetes
- 개발자 취업 준비
- 개발자 회고록
- aws m2
- mysql index 속도차이
- docker m2
- 쿠버네티스
- 팩토리 패턴 예제
- 회고록
- mongo 4.4
- github accesstoken
- mysql like
- 인텔리제이 github 로그인
- OSI 7계층
- 퇴사
- 팩토리 패턴 언제
- VUE
- 개발자 면접 팁
- 밸런스 게임
- index like
Archives
- Today
- Total
주니어 개발자 1호
[ Devops PT ] 클라우드, AWS의 다양한서비스, Terraform 관련 정리 본문
목차
1️⃣AWS 클라우드의 이해 및 서비스 소개
AWS 클라우드의 이해
클라우드란 무엇인가?
- 클라우드란 하드웨어나 소프트웨어 등을 직접 구축하지 않고, 제 2의 전문 업체로 인터넷을 통해 필요한 IT자원을 원하는 만큼 받아 즉시 사용할 수 있으며, 사용한 시간 만큼 비용을 지불하면 되는 서비스를 의미
- 가상화 기술을 토대로, 자원의 확대와 축소를 가능하게 하며 필요한 자원을 제공할 수있는 IT환경을 의미
- 용이, 유연하게, 주문형 셀프서비스로 제공, 사용량을 기반으로 과금됨
- 장점: IT자원의 소유가 아닌 대여로 비용 절감, 완성형 서비스 활용으로 시간 절감
- 어디서든 접속 가능으로 인한 생상성 향상, 자원의 유연성 향상
클라우드 제공 업체
- AWS, MS Azure, GCP등이 있음
- 전 세계적으로 많이 사용하는 클라우드는 AWS임
- 2021년 기준 전체 클라우드 시장중 38.9% 차지
- 글로벌 서비스 확대
- 사용자 Needs에 알맞는 서비스 출시
- AWS는 클라우드의 최초 선도자로 IT관련 기업의 대부분이 사용함
AWS 클라우드 소개
- AWS 클라우드란 Amazon에서 제공하는 클라우드 서비스
- 2000년대 도서구매 사이트를 만들었는데, 사용하고 남은 서버등 컴퓨팅 자원들에 대한 활용에 대해 고민이 있었음
- 남는 서버 자원들을 사용자들에게 빌려주면 어떨까? 하는 아이디어에서 시작
- 초기에는 가장 기본적인 서비스만 존재하였음
- 컴퓨팅: EC2
- 스토리지: EBS, S3
- 데이터베이스: RDS, DocumentDB
AWS의 장점
- 타사대비 서비스, 기술등이 많음
- 시장 점유율이 높기 때문에 사용 경험, 기술력을 가진 사람들이 많음
- 저렴한 가격으로 많은 고객을 확보
- 대규모 자원을 바탕으로 컴퓨팅 자원의 활용률을 높게 유지해 단위당 비용이 낮아짐
AWS 클라우드 서비스 소개
- 컴퓨팅: 컴퓨팅 가능한 자원 제공하며, VM 형태로 제공
- 컨테이너: 컴퓨팅 가능한 자원을 제공하며, VM 위에 실행되는 컨테이너 형태로 제공
- 스토리지: 컴퓨팅 자원 사용중 생성되거나 사용되는 파일등을 저장 할 수 있는 저장소 제공
- 네트워크: 인터넷망 및 컴퓨팅 자원간 통신 및 연결, 서비스 제공을 위한 네트워크 제공
- 데이터베이스: 데이터를 저장, 관리하고 활용 할 수 있는 데이터베이스나 저장소 제공
- 보안: 각종 자원이나 데이터를 안전하게 관리하고 특정 접속자에 대해서만 접근하도록 제어
- 기타: 위에서 명시된 서비스들을 관리할 수 있는 보조적인 서비스 제공
AWS 네트워크 서비스
- AWS 네트워크: VPC, Subnet, Gateway, Routing, LoadBalancer
- VPC: 특정 IP 대역으로 할당 가능한 가상의 네트워크 범위
- Subnet: VPC 네트워크 범위를 특정 CIDR로 구분해서 분리한 영역 → 논리적인 그룹핑된 모음, 네트워크 범위
- Gateway: 인터넷망이나 다른 네트워크등 외부망과 연결을 위해 사용되는 요소
- Routing: 특정 네트워크 대역으로 연결을 하기 위한 연결 정보를 설정
- LoadBalancer: 트래픽의 부하 분산을 위해 여러 엔드포인트로 연결을 나누어서 처리
AWS 컴퓨팅 서비스
- AWS 컴퓨팅: EC2, EKS
- EC2 : 서버 구축을 위해 필요한 컴퓨팅 자원을 제공, VM형태로 OS 및 HW 자원
- EKS: 컨테이너 구축을 위해 VM위에 컨테이너를 배포/실행 가능한 컴퓨팅 자원을 제공, Kubernets 기반으로 컨테이너 운영/관리를 위한 플랫폼 제공
AWS 기타 서비스 목록
- EBS: 컴퓨팅 자원의 파일 저장 관리를 위한 디스크 볼륨
- ECR: 컨테이너 이미지 저장/관리 Push및 Pull을 위한 저장소
- S3: 다양한 자원의 파일(문서, 동영상, 이미지등)을 저장하고 웹상에서 제공하기 위한 저장소
- RDS: 관계형 데이터베이스 제공, CRUD등 다양한 SQL 쿼리로 데이터 저장/관리 기능
- Security Group:특정 AWS 자원 대상 방화벽과 같은 접근 제어 기능
- IAM: AWS를 사용하는 특정 사용자나 시스템에 대한 인증, 권한 관리등을 제공
2️⃣Infrastructure as Code 소개
GUI 및 CLI를 통한 관리 방법의 장단점
- 장점
- GUI 콘솔은 직관적으로 그래픽 화면에서 메뉴 및 기능을 실행할 수 있음
- CLI 콘솔은 빠르게 다수의 항목이나 출력 정보에 대한 필터링 가능
- 상호 작용을 통한 적용 여부등 처리 내역에 대한 부분을 바로 확인 가능
- 복잡한 코드를 학습하지 않고도 직관적으로나 문서 확인후 바로 적용 간으
- 단점
- GUI 콘솔은 적용 정보를 확인하기 위해 일일이 화면에서 확인을 해야함
- CLl 는 메뉴 및 기능의 한정에 따라 기능 적용되는 부분과 출력되는 부분이 한정
- GUI, CLI 모두 연관관계 있고 의존성 있는 서비스를 동시 혹은 순차적으로 적용하기 어려움
- GUI, CLI의 경우 클라우드 서비스 생성, 변경, 삭제를 자동화 하기 어려움
Infrastructure as Code
- 클라우드 인프라를 코드 기반으로 관리
- AWS CloudFormation을 통해 Infrastructure as Code가 나오게 됨
- GUI 및 CLI 관리시 구현하기 어려운 자동화 및 한번에 여러 서비스를 동시에 추가/변경/삭제 하는 기능을 구현하고자 나옴
- 클라우드 인프라에 반영된 서비스 자원들을 모두 코드로 작성된 형상과 일치하므로, 클라우드 자원을 코드 기반으로 형상 관리 가능
관련 툴
- AWS CloudFormation
- AWS에서 제공하는 대표적인 Infrastructure as Code 서비스
- 독창적인 코드로 AWS 클라우드 모든서비스를 Code기반으로 추가/변경/삭제 가능
- AWS 서비스 대상에만 한정되어 사용할 수 있으며, AWS CLI를 통해 실행
- GUI로 아키텍처를 구성하면, 그대로 프로비저닝 할 수 있는 모델러를 제공
- TerraForm
- AWS에 한정되지 않고, 다양한 클라우드에서 사용 가능
- 레퍼런스가 다양함, 코드를 익혀두면 다른 클라우드에서 동일 코드로 사용 가능
- 커스텀한 설정 및 다양한 서비스를 동시나 순차적으로 연동해 처리 및 관리 가능
3️⃣Terraform 소개 및 적용
Terraform을 통한 Iac( Infrastructure as Code ) 구현
- AWS의 VPC, Subnet 등 인터넷 망 혹은 내부망 연결을 위한 네트워크 연결 및 구현
- AWS의 EC2 VM 형태의 컴퓨팅 자원을 생성 및 관리하기 위한 템플릿 코드 제공
- 구축시 복잡하고 연관 관계가 AWS EKS 서비스를 생성 및 관리 하기 위한 템플릿 코드 제공
- 자원 스펙 변경이나 증설에 경우, Terraform을 통해 쉽게 업데이트가 가능
- 생성/변경/삭제 AWS 서비스 자원에 대한 정보는 코드에 작성이 된 상태 그대로 클라우드 인프라에 반영
- Github등 버전 관리 시스템에 코드를 버전 및 형상 관리 가능
Terraform을 통한 운영/관리 사례
- Terraform을 이용해 네트워크 부터 컴퓨팅 자원까지 하나의 실행으로 한번에 많은 서비스를 한번의 프로비저닝 실행으로 순차적으로 생성가능
[ 참고 ]
-> 코멘트 PT 자료
'Server 관련' 카테고리의 다른 글
NestJs CacheModule 사용기 (0) | 2023.04.25 |
---|---|
네트워크 CS ( OSI 7계층 / TCP,UDP,IP,패킷 / LAN ) (0) | 2023.03.19 |
[Chapter 5]쿠버네티스 스터디 4주차 - ( CD - 지속적배포 ) (0) | 2022.07.22 |
[Chapter 4]쿠버네티스 스터디 3주차 - ( 배포 관리 ) (0) | 2022.07.16 |
[Chapter 3]쿠버네티스 스터디 2주차 - ( 클라우드 조정 ) (0) | 2022.07.10 |