정글 - AWS 강의
AWS 글로벌 인프라
AWS VPC
- VPC 개요
- VPC 구성
- 운영환경을 위한 VPC 디자인
AWS 글로벌 인프라
REGION(리전) - 데이터 센터를 클러스터링하는 물리적위치
Availability Zone - AWS 리전 내 중복 전력
Local Zones
Points of Presence
Wavelength Zones
Direct Connect Locations
Outposts
Virtual Private Cloud VPC
사용자가 정의한 논리적으로 격리된 가상의 프라이빗 네트워크 환경
VPC > 가용영역 > 서브넷
VPC = 리전 레벨
VPC 구성 절차
VPC 네트워크 IP 대역 정의
가용 영역(AZ) 별 서브넷 지정
라우팅 테이블 생성 및 연결
트래픽 접근 제어
VPC IP 대역 정의
172.31.0.0/16 (권장 대역: RFC1918 대역) (권장 프리픽스: /16, 65536개 주소)
VPC 서브넷
-
용도에 따른 분리 - A 서비스, B 서비스
-
여러 가용영역 배포 - 고가용성 확보
라우팅 테이블
10.0.0.0/16 - local
0.0.0.0/0 - lgw-12345
라우팅 테이블 -> 인터넷 게이트웨이 - 외부 인터넷
프라이빗 라우팅 테이블 - 인터넷 게이트웨이 직접 연결 X
퍼블릭 라이퉁 테이블 - 직접 연결 O
퍼블릭 서브넷의 NAT gateway로 프라이빗 서브넷의 데이터를 외부로 보낼 수 있음
VPC 엑세스 제어
VPC에서 엑세스를 제어하는 방법
-
NACL(Network Access Control List)
- 서브넷 단위 방화벽
- 상태 비정자(Stateless)
- Allow, Deny 설정 가능
-
보안 그룹
- 인스턴스(ENI) 단위 방화벽
- 상태 저장(Stateful)
- Allow만 설정 가능
NACL
요청과 응답을 아웃 바운드, 인 바운드 양쪽 다 허용해야 함
보안 그룹
인바운드로 허용된 트래픽의 아웃바운드 자동 허용
다른 보안그룹을 참조하여 Source로 지정 가능
Amazon EC2
Linux, Windows, Mac
Arm 및 x86 아키텍처
범용 및 특정 워크로드 최적화
베어 메탈, 디스크, 네트워킹 기능
Packaged, Custom, Community AMI
다양한 구매 옵션, 온디맨드 인스턴스, 스팟 인스턴스, 예약 인스턴스
EC2의 호스트 가상화
Amazon Machine Image(AMI)
-
인스턴스 시작에 필요한 정보 제공
-
동일한 구성으로 한 AMI에서 여러 인스턴스 시작
Custom AMI
-
기본 AMI로 인스턴스 생성
-
변경 및 구성 후, 사용자 정의 AMI 작성
-
사용자 정의 AMI로 설치
AMS Marketplace에서 AMI 선택 후 사용 가능
Amazon EC2 인스턴스 스토어
- 블록 수준 임시 스토리지
- 인스턴스 수명 기간 동안만 지속
- 물리적으로 연결된 디스크
Amazone Elastic Block Store(Amazon EBS)
- 블록 수준 영구 스토리지
- 인스턴스 수며에 관계없이 지속
EC2 인스턴스 수명 주기
- 실행중(Running) - 과금 발생
- 정지됨(Stopped) - 과금 안 됨
- 종료됨(Terminated) - 과금 안 됨, 시작이나 정지 불가능
c7GN.XLARGE
- c - 인스턴스 패밀리
- 7 - 인스턴스 세대
- gn - 추가 기능
- xlarge - 인스턴스 크기
Elastic Load Balancing(ELB)
- 네트워크 트래픽 분산을 통한 애플리케이션 확장성 개선
- 여러 가용 영역을 기반으로 고가용성 제공
종류
App, Network, Gateway
Auto Scaling
- 변화하는 수요에 동적으로 대응하고 비용을 최화
EC2 연결으르 위한 자격 증명
- EC2 키 페어
- 표준 SSh RSA 키 페어
실습
- 부하 테스트: EC2에서 t3 -> C 이상 인스턴스
Database
Amazon Aurora
- 클라우드용으로 구축된 MySQL 및 PostgreSQL 호환 관계형 Database
- RDS보다 Aurora가 훨씬 좋음
- Database용으로 설계된 Log 기반의 분산형 스토리지
- 최대 15개의 읽기 복제본을 여러 가용 영역(AZ)에 배치 가능
- Redo 로그 기반 복제로 지연 시간 10ms 미만
- 장애 조치 순서를 지정할 수 있는 사용자 정의 리더 엔드포인터 지원
- 최대 128TB의 스토리지 - 10GB 단위로 자동 증분
다양한 Database Feature 제공
- Backup과 Restore 없이 Database의 시점 복구 기능 사용
Aurora Serverless
- 다양한 워크로드를 위한 On-demand, auto-scaling 데이터베이스
- 필요할 때만 사용하고 사요아지 않을 때는 Shutdown
Performance Insights
- 성능 문제를 분석하여 해결하기 위한 Database 성능정보 표시
- 로드를 유발하는 SQL문과 이유 파악
- 부하 필터링 기준
- 적용 가능한 Time frame 단위
- 모든 RDS DB 엔진에 사용 가능
Amazon SImple Storage Service (S3)
- 무제한에 가까운 스토리지 용량과 오브젝트
- S3 기반의 데이터 레이크 구축
- S3 Intelligent-Tiering을 통한 자동화된 비용 절감
- S3 Glacier Deep Archive를 사용해 비용 효율적인 스토리지 제공
라이프사이클 정책으로 스토리지 클래스 전환
- 객체 생성 시점을 기준으로 라이프사이클 규칙 동작
Amazon S3 데이터 복제
- 동일한 AWS 리전 내 복제
- 여러 AWS 리전으로 복제
Amazon S3 관리 기능
- 구성
- 모니터링
- 복제 및 계층화
- 기본
필요 자료: 시큐리티 그룹, vpc, 타겟 그룹
Amazon Q Developer CLI
AWS를 사용하는 사람들에게 도움이 더 되는 AI 툴
동일 Prompt 실행 결과도 다르게 나옴
프롬프트의 요소: 입력, 지시사항, 맥락, 출력 지시자
아키텍처 자동 생성
인스턴스, 로드 밸런서, 테스트 등 전부 자동으로 구성해줌
인프라 리소스 삭제
리소스들도 자동으로 삭제해줌
사용하지 않는 S3 검색 및 티어링 적용
안쓰는 DB 검색 후 티어링 가능
비용 분석
블로그 내용 테스트
AI Chatbot 구현
-
개발 명세서 작성 요청
-
개발 요청
-
추가 요청
더 많은 사용법
- PHP 프로젝트를 Python으로 변환
- 대화 기록을 파일로 저장
- API를 통한 자동화 작업 실행
Q CLI MCP
GitHub MCP Server
- Github 리포지토리 조회
- 이슈 목록 조회
- 새 PR을 생성
- Commit/Push 작업
- GitHub내 코드 검색
- PR 코드 리뷰
- 코드 저장소, issue, pull requests 관리
Blender MCP 연동
블랜더도 연동 가능