CIDR
물리
Network IP (시작 아이피)
Broadcast IP (마지막 아이피) -> 해커들이 주로 접근하는 아이피IDR
물리
Network IP (시작 아이피)
Broadcast IP (마지막 아이피) -> 해커들이 주로 접근하는 아이피
두개를 제외함.
BYOIP(Bring Your Own IP) : 많은 기업이 충돌을 피하기 위해 IPv4 공간을 AWS로 가져오고 있음.
IAC Tool
1. Terraform: IaC (Infrastructure as Code)
Terraform은 인프라를 프로비저닝하는 데 사용. 즉, 서버, 네트워크, 데이터베이스 등 클라우드 자원 자체를 생성, 변경, 삭제하는 역할을 함 인프라의 최종 상태를 선언적으로 정의하며, "무엇을 만들지"에 초점을 맞춤
- 주요 기능: 인프라 생성, 관리, 배포.
- 핵심 개념: 선언적(Declarative).
- 비유: 건물의 기초 공사와 건축을 담당하는 도구
2. Ansible: 구성 관리
Ansible은 이미 프로비저닝된 인프라의 구성을 자동화하는 데 사용. 즉, 서버에 소프트웨어를 설치하거나, 파일을 복사하거나, 서비스를 시작하는 등 "어떻게 운영할지"에 초점을 맞춤.
- 주요 기능: 소프트웨어 설치, 설정, 운영체제 구성.
- 핵심 개념: 절차적(Procedural).
- 비유: 지어진 건물 내부에 가구를 배치하고, 전기를 연결하고, 내부를 꾸미는 역할을 하는 도구.
간결한 요약
- Terraform: 인프라를 만듭니다 (Create).
- Ansible: 인프라를 설정합니다 (Configure).
대부분의 프로젝트에서는 두 도구를 함께 사용합니다. 먼저 Terraform으로 클라우드 서버를 만들고, 그 서버에 Ansible을 사용하여 애플리케이션을 배포하고 설정을 완료하는 식
3. IaC는 "Infrastructure as Code"의 약자로, 인프라를 코드로 관리하고 자동화하는 방법론
핵심 개념
서버, 데이터베이스, 네트워크 등 IT 인프라를 수동으로 설정하는 대신, 코드 파일에 정의하고 관리하는 것을 의미, 이 코드를 실행하면 필요한 인프라가 자동으로 생성되고 구성됨
장점
- 자동화: 수작업을 줄여 인프라 구축 시간을 단축하고 휴먼 에러를 방지함
- 일관성: 동일한 코드를 반복적으로 사용하여 모든 환경(개발, 테스트, 운영)의 인프라를 일관되게 유지할 수 있음
- 버전 관리: 코드이므로 Git 같은 도구로 변경 이력을 추적하고 협업할 수 있음
주요 도구
- 프로비저닝: Terraform과 같이 인프라 자원을 생성하는 데 사용됨
- 구성 관리: Ansible과 같이 생성된 서버에 소프트웨어를 설치하고 설정하는 데 사용됨
간단히 말해, IaC는 인프라를 문서가 아닌 코드로 만들어 효율적이고 반복 가능한 관리를 가능하게 하는 기술
4. YAML (클라우드 포메이션의 스택을 생성할 때 사용하는 파일을 이 방식으로 만듬.)
YAML은 'YAML Ain't Markup Language'의 약자로, 데이터를 사람이 읽기 쉬운 형태로 표현하기 위해 만들어진 형식, 주로 설정 파일이나 데이터 교환에 사용됨
특징
- 가독성: 들여쓰기(indentation)를 기반으로 구조를 표현하기 때문에 XML이나 JSON보다 훨씬 가독성이 좋음.
- 단순성: 태그나 괄호 없이 -(하이픈)과 :(콜론)을 사용하여 리스트와 키-값 쌍을 나타냄
- 다양한 자료형: 문자열, 숫자, 불리언, 리스트(배열), 딕셔너리(객체) 등 다양한 자료형을 지원
예시
# 주석은 #으로 시작합니다.
apiVersion: v1
kind: Pod
metadata:
name: my-app
spec:
containers:
- name: web-container
image: nginx
ports:
- containerPort: 80
위 예시는 쿠버네티스(Kubernetes)에서 사용하는 YAML 파일로, my-app이라는 이름의 컨테이너를 정의하고 있음. 이처럼 복잡한 설정을 간결하고 직관적으로 나타내는 데 YAML이 널리 활용
여러 템플릿 사용
5. 계층형 아키텍처
- 기본 네트워크 계층: 가장 기초적인 인프라 구성 요소
- VPC(Virtual Private Cloud): AWS 클라우드 내의 나만의 가상 네트워크
- 인터넷 게이트웨이(Internet Gateway): VPC와 인터넷 간의 통신을 가능하게 함
- 가상 프라이빗 네트워크(VPN): 원격 네트워크를 VPC에 안전하게 연결함
- NAT 게이트웨이(NAT Gateway): 프라이빗 서브넷의 인스턴스가 인터넷에 접속할 수 있도록 함
- 공유 서비스 계층: 여러 애플리케이션이 공통적으로 사용하는 자원
- 데이터베이스: 애플리케이션 데이터를 저장하고 관리함
- 모니터링 또는 경보: 시스템의 상태를 감시하고 이상 발생 시 알림을 보냄
- 서브넷: VPC 내에서 네트워크를 논리적으로 분할한 영역 (퍼블릭, 프라이빗 등).
- 보안 그룹: 인스턴스에 대한 네트워크 트래픽을 제어하는 가상 방화벽
- 백엔드 계층: 데이터를 처리하고 비즈니스 로직을 수행함
- 고객, 캠페인, 제품 분석: 고객 행동, 마케팅 성과, 제품 관련 데이터를 분석함
- 마케팅 자료: 분석 결과를 바탕으로 마케팅에 필요한 자료를 생성함
- 프론트엔드 웹 인터페이스 계층: 사용자가 직접 상호작용하는 부분
- 사용자가 웹 브라우저를 통해 접근하는 웹 애플리케이션이나 인터페이스
- 자격 증명 계층: 인프라와 애플리케이션에 대한 접근 권한을 관리함
- IAM(Identity and Access Management): AWS 리소스에 대한 접근을 안전하게 제어함
- 사용자, 그룹, 역할: IAM의 구성 요소로, 누구에게 어떤 권한을 줄지 정의함
인프라 도구
1) 배포(아래로 갈수록 편의성은 떨어지지만 제어가 편함.)
AWS Elastic Beanstalk
AWS 솔루션 라이브러리
AWS Cloud Development Kit(AWS CDK)
AWS CloudFormation
2) 관리
AWS Systems Manager
AWS Elastic Beanstalk
- 인프라 프로비저닝 및 운영
- 애플리케이션 스택 자동 관리
- 생성된 모든 항목
- 애플리케이션 자동 확장 및 축소
사용자가 제공 -> 코드
Elastic Beanstalk에서 제공 및 관리 -> HTTP서버, 애플리케이션 서버, 언어 인터프리터, OS, 호스트
OS가 있다는 것은 PaaS라는 소리.
배포 방법론
Rolling
blue green
canary
AWS Config : 사용 사례
변경 관리
규정 준수
Amazon Q
비지니스, 데이터, 코드, 운영 상황에 맞게 사용할 수 있도록 설계된 생성형 AI 기반 Assistant 서비스
Amazon Q Developer와 Amazon Q Business는 모두 Amazon의 생성형 AI 비서이지만, 사용 대상과 목적이 다름
- Amazon Q Developer는 개발자 및 IT 전문가를 위한 도구입니다. 코드 작성, 디버깅, 문서화, 테스트, 그리고 AWS 리소스 최적화와 같은 소프트웨어 개발 수명 주기(SDLC) 전반의 작업을 가속화하는 데 초점을 맞춤
- Amazon Q Business는 기업의 최종 사용자를 위한 도구입니다. 회사 내부의 다양한 데이터(문서, 파일, 보고서 등)에 연결하여 질문에 답변하고, 요약 정보를 제공하며, 콘텐츠를 생성하고, 특정 작업을 완료하는 등 업무 생산성을 향상시키는 데 중점을 둠
결론적으로, Amazon Q Developer는 "코드를 만들고 관리하는" 전문가를 돕고, Amazon Q Business는 "비즈니스 데이터를 활용하는" 일반 직원을 돕는 데 특화되어 있음
Amazon Q Developer를 활용한 개발자 생산성 향상 이 영상은 Amazon Q Developer가 개발자 생산성을 어떻게 향상시키는지 설명하고 있어 관련이 있음
Amazon Bedrock -> AWS AI Service -> 모델을 적용해 AI 기능을 사용할 수 있음
Deepseek
주요 특징
- 오픈 소스 전략: DeepSeek은 자사의 AI 모델을 공개하여 연구자와 개발자들이 자유롭게 모델을 활용하고 개선할 수 있도록 함 이는 AI 생태계 확장에 기여
- 고성능 모델: DeepSeek은 자체적으로 훈련시킨 고성능 대규모 언어 모델(LLM)을 개발하여 다양한 AI 벤치마크에서 뛰어난 성능을 보임
- 다양한 모델: 언어 모델 외에도 코드 생성, 이미지 생성 등 여러 분야의 AI 모델을 연구하고 있음
DeepSeek은 오픈 소스를 기반으로 고품질 AI 모델을 개발
실습 : 외부에서 SSH키를 가지고 원격으로 접속해 보기
VS Code를 이용한 접속 -> 실패
Putty를 이용한 접속 -> 성공
MobaXterm을 이용한 접속 -> 성공
Session Manager -> 성공?

'AWS 광주 개발일지(25.08.19~25.01.20) > 교육 25년 9월 일지' 카테고리의 다른 글
| 25.09.24 수요일 28일차 (LBS, Auto Scaling) (0) | 2025.09.25 |
|---|---|
| 25.09.23 화요일 27일차 (S3 스토리지) (0) | 2025.09.23 |
| 25.09.19 금요일 25일차 (0) | 2025.09.19 |
| 25.09.18 목요일 24일차 (AWS 네트워킹) (0) | 2025.09.18 |
| 25.09.17 수요일 23일차 ( 개인 프로젝트 설명 ) (0) | 2025.09.17 |
