Guider/Infra/InfraDevGuide0007
Infra#07· 35분 읽기

InfraDevGuide0007

실전 프로젝트 & 취업 전략

list목차(46)
 
INFRA DEV GUIDE SERIES · 7단계 (최종)

🚀 실전 프로젝트 & 취업 전략 완전 정복

포트폴리오·이력서·기술 면접·연봉협상·커리어 로드맵
인프라 개발자로 취업하기 위한 모든 것을 A-Z까지 완전 정복

🎯 대상: 취업 준비 중인 인프라 개발자
⏱ 학습 기간: 4~8주
💼 실전 프로젝트 5개+
🏆 시리즈 완결판

🏆 Infra Dev Guide 시리즈 완주 현황

단계 가이드 주제 상태
1단계 InfraDevGuide0001 인프라 개념 완전 정복 (서버·네트워크·스토리지) ✅ 완료
2단계 InfraDevGuide0002 Linux 기초 완전 정복 (터미널·권한·서비스·스크립트) ✅ 완료
3단계 InfraDevGuide0003 네트워크 기초 완전 정복 (OSI·TCP/IP·DNS·VPC) ✅ 완료
4단계 InfraDevGuide0004 클라우드 AWS 완전 정복 (EC2·S3·RDS·IAM·Lambda) ✅ 완료
5단계 InfraDevGuide0005 Docker & 컨테이너 완전 정복 (이미지·Compose·보안) ✅ 완료
6단계 InfraDevGuide0006 CI/CD & 자동화 완전 정복 (GitHub Actions·Terraform·ArgoCD) ✅ 완료
7단계 InfraDevGuide0007 🏆 실전 프로젝트 & 취업 전략 ← 최종 완결! 🔥 학습 중

📋 전체 학습 목차

Ch 챕터 제목 핵심 내용 중요도
01 인프라 엔지니어 커리어 로드맵 직무 분류·연봉 범위·성장 경로·기술 스택 ★★★★★
02 실전 프로젝트 1 — AWS 3티어 아키텍처 VPC+ALB+EC2+RDS+S3 완전 구축 ★★★★★
03 실전 프로젝트 2 — Docker Compose 풀스택 Nginx+Node.js+PostgreSQL+Redis 완전 구현 ★★★★★
04 실전 프로젝트 3 — CI/CD 완전 자동화 GitHub Actions+ECR+ECS 완전 파이프라인 ★★★★★
05 실전 프로젝트 4 — Terraform IaC 코드로 AWS 인프라 전체 자동화 ★★★★★
06 실전 프로젝트 5 — 모니터링 대시보드 Prometheus+Grafana+AlertManager 구축 ★★★★☆
07 포트폴리오 & GitHub 전략 README·아키텍처 다이어그램·GitHub 프로필 ★★★★★
08 이력서 & 자소서 완전 정복 인프라 이력서 작성법·키워드·양식 ★★★★★
09 기술 면접 완전 정복 인프라·AWS·Docker·CI/CD 면접 Q&A 총정리 ★★★★★
10 연봉협상 & 오퍼 평가 연봉 시장가·협상 전략·오퍼 비교 방법 ★★★★☆
11 입사 후 첫 3개월 생존 가이드 온보딩·현업 적응·빠른 성장 전략 ★★★★☆
Chapter 01
나의 커리어 방향 설정

인프라 엔지니어 커리어 로드맵

직무 분류·연봉 현황·성장 경로·필요 기술 스택·자격증 전략

1.1 인프라 엔지니어 직무 분류

직무 주요 업무 핵심 기술 스택 연봉 범위(초)
DevOps 엔지니어 CI/CD 구축·자동화·SRE 역할 AWS·Docker·K8s·Terraform·GitHub Actions 4,000~5,500만
클라우드 엔지니어 AWS/GCP/Azure 인프라 설계·운영 AWS·네트워킹·보안·IaC·비용 관리 4,000~5,000만
SRE 신뢰성·가용성·SLO/SLA 관리 모니터링·온콜·장애 대응·자동화 4,500~6,000만
시스템 관리자 온프레미스·하이브리드 인프라 운영 Linux·VMware·네트워크·백업 3,500~4,500만
플랫폼 엔지니어 내부 개발자 플랫폼 구축·운영 K8s·Helm·ArgoCD·개발자 경험 5,000~7,000만

1.2 레벨별 성장 경로 & 기술 요구사항

Junior
0~2년 / 3,500~4,500만
Linux 기초
AWS 기본 서비스
Docker 기초
Git 사용
기본 스크립트
Mid
2~5년 / 4,500~6,000만
AWS 설계 능력
Docker Compose
CI/CD 구축
Terraform 기초
모니터링 구성
Senior
5~10년 / 6,000~9,000만
K8s 운영
아키텍처 설계
보안 내재화
비용 최적화
팀 리딩
Staff/Principal
10년+ / 1억+
조직 전략
플랫폼 설계
기술 로드맵
외부 발표
인재 육성

1.3 취업에 도움이 되는 자격증

자격증 특징 난이도 취업 효과
AWS SAA (Solutions Architect) AWS 가장 인기 자격증. 취업 공고 단골 요구사항 ★★★★★
AWS DVA (Developer Associate) 개발자 관점 AWS. CI/CD·Lambda·DynamoDB 중심 ★★★★☆
CKA (Certified Kubernetes Admin) K8s 관리자 자격증. 실기 시험으로 현업 신뢰도 높음 ★★★★★
HashiCorp Terraform Associate IaC 전문성 증명. DevOps 직군에서 인정 중하 ★★★☆☆
RHCSA (Linux 관리자) Linux 전문성. 전통적 인프라·기업 환경에서 선호 중상 ★★★☆☆
자격증 취득 순서 추천
① AWS CLF (Cloud Practitioner)
1~2개월, 기초 확인용
② AWS SAA
2~3개월, 취업 필수
③ CKA 또는 Terraform
3~4개월, 전문성 강화
Chapter 02
포트폴리오 프로젝트 #1

실전 프로젝트 1 — AWS 3티어 아키텍처

VPC 설계 · ALB · EC2 Auto Scaling · RDS Multi-AZ · S3 · CloudWatch 완전 구축

2.1 프로젝트 개요 & 아키텍처

프로젝트 목표
✅ 프로덕션 수준의 AWS 3티어 아키텍처 직접 구현
✅ 고가용성 (Multi-AZ, Auto Scaling) 적용
✅ 보안 (프라이빗 서브넷, 보안그룹 계층화)
✅ 비용 최적화 전략 적용
✅ Terraform으로 IaC 코드화
사용 기술 스택
🌐 VPC (Public/Private Subnet, NAT GW)
⚖️ ALB (Application Load Balancer)
🖥️ EC2 + Auto Scaling Group
🗄️ RDS PostgreSQL (Multi-AZ)
📦 S3 (정적 파일 + 백업)
📊 CloudWatch (모니터링 + 알람)

2.2 아키텍처 다이어그램

[ AWS 3-Tier Architecture ]
Tier 1 — Presentation (퍼블릭 서브넷)
Internet Gateway
ALB
AZ-a, AZ-c
Tier 2 — Application (프라이빗 서브넷)
EC2 (AZ-a)
t3.micro × 2
EC2 (AZ-c)
Auto Scaling
Tier 3 — Database (격리 서브넷)
RDS Primary
PostgreSQL (AZ-a)
⟷ sync
RDS Standby
Multi-AZ (AZ-c)

2.3 단계별 구축 가이드

# Step 1: VPC + 서브넷 구성
aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications "ResourceType=vpc,Tags=[{Key=Name,Value=prod-vpc}]"
# 퍼블릭 서브넷 (AZ-a, AZ-c)
aws ec2 create-subnet --vpc-id $VPC_ID --cidr-block 10.0.101.0/24 --availability-zone ap-northeast-2a
aws ec2 create-subnet --vpc-id $VPC_ID --cidr-block 10.0.102.0/24 --availability-zone ap-northeast-2c
# 프라이빗 서브넷 (앱)
aws ec2 create-subnet --vpc-id $VPC_ID --cidr-block 10.0.1.0/24 --availability-zone ap-northeast-2a
aws ec2 create-subnet --vpc-id $VPC_ID --cidr-block 10.0.2.0/24 --availability-zone ap-northeast-2c
# DB 전용 격리 서브넷
aws ec2 create-subnet --vpc-id $VPC_ID --cidr-block 10.0.201.0/24 --availability-zone ap-northeast-2a
aws ec2 create-subnet --vpc-id $VPC_ID --cidr-block 10.0.202.0/24 --availability-zone ap-northeast-2c
# Step 2: Internet Gateway + NAT Gateway
IGW_ID=$(aws ec2 create-internet-gateway --query "InternetGateway.InternetGatewayId" --output text)
aws ec2 attach-internet-gateway --internet-gateway-id $IGW_ID --vpc-id $VPC_ID
# NAT Gateway (퍼블릭 서브넷에 배치)
EIP=$(aws ec2 allocate-address --query "AllocationId" --output text)
NAT_ID=$(aws ec2 create-nat-gateway --subnet-id $PUB_SUBNET_A --allocation-id $EIP --query "NatGateway.NatGatewayId" --output text)
# Step 3: RDS Multi-AZ 생성
aws rds create-db-instance --db-instance-identifier prod-db --db-instance-class db.t3.medium --engine postgres --engine-version 16.1 --master-username admin --master-user-password $DB_PASS --allocated-storage 100 --multi-az --storage-encrypted --deletion-protection
포트폴리오 README에 꼭 포함할 내용
📌 아키텍처 다이어그램 (draw.io 또는 Lucidchart)
📌 해결한 문제/도전 과제 (단순 구축이 아닌 "왜"를 설명)
📌 비용 추정 (월 $XX → 최적화 후 $YY, XX% 절감)
📌 고가용성 검증 결과 (AZ 장애 시뮬레이션 테스트)
📌 보안 체크리스트 통과 여부
📌 Terraform 코드 링크
Chapter 03
포트폴리오 프로젝트 #2

실전 프로젝트 2 — Docker Compose 풀스택

Nginx · Node.js API · PostgreSQL · Redis · 모니터링 완전 구현

3.1 프로젝트 구조

# 프로젝트 디렉터리 구조
fullstack-app/
├── docker-compose.yml # 메인 서비스 정의
├── docker-compose.dev.yml # 개발환경 오버라이드
├── docker-compose.monitoring.yml # 모니터링 스택
├── .env.example # 환경변수 예시 (Git에 포함)
├── .env # 실제 환경변수 (Git 제외)
├── nginx/
│ ├── nginx.conf
│ └── ssl/
├── api/
│ ├── Dockerfile
│ ├── package.json
│ └── src/
├── db/
│ └── init.sql # DB 초기화 스크립트
└── scripts/
    ├── backup.sh # DB 백업 스크립트
    └── healthcheck.sh # 헬스체크 스크립트

3.2 완전한 docker-compose.yml

services:
  nginx:
    image: nginx:1.25-alpine
    ports: ["80:80", "443:443"]
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      api: { condition: service_healthy }
    networks: [frontend, backend]
    restart: unless-stopped

  api:
    build: { context: ./api, target: production }
    env_file: .env
    environment:
      - DB_HOST=postgres
      - REDIS_HOST=redis
      - NODE_ENV=production
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3
    deploy:
      resources: { limits: { cpus: "1.0", memory: 512M } }
    depends_on:
      postgres: { condition: service_healthy }
      redis: { condition: service_healthy }
    networks: [backend]

  postgres:
    image: postgres:16-alpine
    volumes:
      - pgdata:/var/lib/postgresql/data
      - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
    environment:
      POSTGRES_DB: ${DB_NAME}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASS}
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"]
      interval: 10s
    networks: [backend]

  redis:
    image: redis:7-alpine
    command: redis-server --maxmemory 256mb --maxmemory-policy allkeys-lru --requirepass ${REDIS_PASS}
    volumes: [redisdata:/data]
    healthcheck:
      test: ["CMD", "redis-cli", "--pass", "${REDIS_PASS}", "ping"]
    networks: [backend]

volumes:
  pgdata:
  redisdata:
networks:
  frontend:
  backend:
    internal: true
Chapter 04
포트폴리오 프로젝트 #3

실전 프로젝트 3 — CI/CD 완전 자동화

GitHub Actions + ECR + ECS + Slack 알림 + 보안 스캔 완전 파이프라인

4.1 완전한 CI/CD 파이프라인 구조

1️⃣ Trigger: Push to main 또는 PR 생성
2️⃣ CI Stage: Lint → Unit Test (Node 18/20/22 Matrix) → 커버리지 리포트
3️⃣ Security: gitleaks Secrets 탐지 → CodeQL SAST → npm audit
4️⃣ Build: Docker 멀티스테이지 빌드 → Trivy 이미지 스캔 → ECR Push
5️⃣ Staging: ECS Staging 자동 배포 → 통합 테스트 → 승인 대기
6️⃣ Production: Manual Approval → ECS Prod 배포 → Slack 성공 알림
# .github/workflows/full-pipeline.yml (핵심 부분)
jobs:
  test:
    strategy:
      matrix: { node: [18, 20, 22] }
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: "${{ matrix.node }}", cache: npm }
      - run: npm ci && npm run lint && npm test -- --coverage

  security:
    steps:
      - uses: gitleaks/gitleaks-action@v2
      - uses: github/codeql-action/init@v3
      - uses: github/codeql-action/analyze@v3

  build-push:
    needs: [test, security]
    if: github.ref == 'refs/heads/main'
    steps:
      - name: Build Docker + Trivy Scan + ECR Push
        run: |
          docker build -t $IMAGE .
          trivy image --exit-code 1 --severity CRITICAL $IMAGE
          docker push $IMAGE

  deploy-prod:
    needs: build-push
    environment: production # Manual Approval Gate
    steps:
      - name: Deploy to ECS Production
        uses: aws-actions/amazon-ecs-deploy-task-definition@v1
Chapter 05
포트폴리오 프로젝트 #4

실전 프로젝트 4 — Terraform IaC

AWS 전체 인프라를 Terraform 코드로 완전 자동화 — 재현 가능한 인프라 구현

5.1 Terraform 프로젝트 구조

terraform-aws-infra/
├── environments/
│ ├── dev/ # 개발 환경
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ └── terraform.tfvars
│ └── prod/ # 프로덕션 환경
│ ├── main.tf
│ ├── variables.tf
│ └── terraform.tfvars
├── modules/ # 재사용 가능 모듈
│ ├── vpc/
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ └── outputs.tf
│ ├── ec2-asg/ # EC2 + Auto Scaling
│ ├── rds/ # RDS 모듈
│ └── alb/ # ALB 모듈
├── backend.tf # S3 Remote State
└── README.md

5.2 커스텀 VPC 모듈 예시

# modules/vpc/main.tf
resource
"aws_vpc" "main" {

  cidr_block = var.vpc_cidr
  enable_dns_hostnames = true
  enable_dns_support = true
  tags = merge(var.common_tags, { Name = "${var.project}-${var.env}-vpc" })
}

resource
"aws_subnet" "public" {

  count = length(var.public_cidrs)
  vpc_id = aws_vpc.main.id
  cidr_block = var.public_cidrs[count.index]
  availability_zone = var.azs[count.index]
  map_public_ip_on_launch = false # 보안: 자동 퍼블릭IP 비활성화
  tags = merge(var.common_tags, { Name = "${var.project}-${var.env}-public-${count.index + 1}" })
}

# outputs.tf — 다른 모듈에서 참조
output
"vpc_id" { value = aws_vpc.main.id }

output
"public_subnet_ids" { value = aws_subnet.public[*].id }

output
"private_subnet_ids" { value = aws_subnet.private[*].id }
Chapter 06
포트폴리오 프로젝트 #5

실전 프로젝트 5 — 모니터링 대시보드

Prometheus + Grafana + AlertManager + Loki 완전 모니터링 스택 구축

6.1 모니터링 스택 구성

📊
Prometheus
메트릭 수집·저장
PromQL 쿼리
15초 간격 스크래핑
📈
Grafana
시각화 대시보드
Prometheus 연동
알림 채널 설정
🔔
AlertManager
알림 라우팅
Slack·이메일 연동
중복 방지·그룹핑
# docker-compose.monitoring.yml
services:
  prometheus:
    image: prom/prometheus:v2.49.0
    ports: ["9090:9090"]
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
      - ./prometheus/rules:/etc/prometheus/rules:ro
      - prom_data:/prometheus
    command:
      - --config.file=/etc/prometheus/prometheus.yml
      - --storage.tsdb.retention.time=30d

  grafana:
    image: grafana/grafana:10.3.0
    ports: ["3000:3000"]
    environment:
      GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASS}
      GF_SMTP_ENABLED: "true"
      GF_SMTP_HOST: smtp.gmail.com:587
    volumes:
      - grafana_data:/var/lib/grafana
      - ./grafana/provisioning:/etc/grafana/provisioning

  alertmanager:
    image: prom/alertmanager:v0.26.0
    volumes:
      - ./alertmanager/config.yml:/etc/alertmanager/config.yml:ro

  node-exporter: # 호스트 메트릭 수집
    image: prom/node-exporter:latest
    pid: host
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
Chapter 07
나를 보여주는 방법

포트폴리오 & GitHub 전략

README 작성법·아키텍처 다이어그램·GitHub 프로필·기술 블로그

7.1 GitHub 프로필 최적화

# GitHub 프로필 README.md 구조 (username/username 레포)
## 안녕하세요, 저는 [이름] 입니다 👋

### 💼 Tech Stack
![AWS](https://img.shields.io/badge/AWS-232F3E?style=flat&logo=amazonaws&logoColor=white)
![Docker](https://img.shields.io/badge/Docker-2496ED?style=flat&logo=docker&logoColor=white)
![Terraform](https://img.shields.io/badge/Terraform-7B42BC?style=flat&logo=terraform&logoColor=white)
![Kubernetes](https://img.shields.io/badge/K8s-326CE5?style=flat&logo=kubernetes&logoColor=white)

### 📊 GitHub Stats
![Stats](https://github-readme-stats.vercel.app/api?username=YOUR_USERNAME&show_icons=true&theme=dark)

### 🚀 주요 프로젝트
| 프로젝트 | 설명 | 기술 스택 |
|---------|------|---------|
| AWS 3-Tier | 고가용성 3티어 인프라 | AWS, Terraform, CloudWatch |
| CI/CD Pipeline | 완전 자동화 배포 | GitHub Actions, ECR, ECS |
| Monitoring Stack | 실시간 모니터링 | Prometheus, Grafana |

7.2 프로젝트 README 필수 구성요소

# 좋은 프로젝트 README 구조
# 프로젝트 제목
> 한 줄 설명 + 배지(빌드 상태, 라이선스)

## 🏗️ 아키텍처 다이어그램
[아키텍처 이미지] — draw.io, Lucidchart, excalidraw 사용

## ✨ 주요 기능 & 해결한 문제
- 문제: [기존에 어떤 문제가 있었나]
- 해결: [어떻게 해결했나]
- 결과: [정량적 성과 — 비용 30% 절감, 배포 시간 60분→5분]

## 🛠️ 기술 스택
[기술 배지들]

## 🚀 빠른 시작
git clone ... && cd ... && cp .env.example .env && docker compose up -d

## 📊 성능 & 비용
- RPS: 1,000 req/s @ p99 100ms
- 월 비용: $89 (최적화 전 $150 → 40% 절감)

## 🔐 보안 체크리스트
- [x] 비루트 컨테이너 실행
- [x] 이미지 취약점 스캔 (Trivy)
- [x] Secrets 환경변수 관리
채용담당자가 보는 GitHub 체크포인트
✅ 최근 6개월 이내 커밋 활동
✅ 의미 있는 커밋 메시지 (Conventional Commits)
✅ 완성된 README (스크린샷·다이어그램 포함)
✅ .dockerignore, .gitignore 존재
✅ Actions 빌드 배지 (CI 통과)
✅ 브랜치 전략 사용 흔적 (feature/*, hotfix/*)
✅ Pull Request 사용 흔적
✅ Issue 트래킹 사용
Chapter 08
서류 전형 통과 전략

이력서 & 자소서 완전 정복

인프라 직군 이력서 구조·키워드·정량화 표현·ATS 통과 전략

8.1 인프라 이력서 구조

섹션 내용 비중
기술 스택 AWS (EC2·S3·RDS·ECS·Lambda) | Docker·K8s | Terraform·Ansible | GitHub Actions·Jenkins | Python·Bash ★★★★★
경력/프로젝트 STAR 방식 + 정량적 성과 필수 (비용 X% 절감, 배포 시간 X배 단축) ★★★★★
자격증 AWS SAA, CKA, Terraform Associate 등 취득 자격증 ★★★★☆
링크 GitHub URL, 기술 블로그, LinkedIn (모두 최신 상태 유지) ★★★★☆
학력 인프라 직군은 학력 비중 낮음. 실무 경험이 훨씬 중요 ★★☆☆☆

8.2 정량화 표현 — 나쁜 예 vs 좋은 예

❌ 나쁜 예 (추상적)
AWS 인프라를 구축하고 운영했습니다.
CI/CD 파이프라인을 개선했습니다.
비용을 절감했습니다.
서비스 안정성을 향상시켰습니다.
Docker를 활용한 컨테이너화 진행
✅ 좋은 예 (정량적)
AWS Multi-AZ 아키텍처로 99.95% 가용성 달성
GitHub Actions 도입으로 배포 시간 60분→8분(87%↓)
Reserved Instance 전환으로 월 $3,200→$980(70%↓)
Terraform IaC 전환으로 인프라 재구성 시간 3일→30분
Docker 컨테이너화로 서버 10대→3대(70% 감소)
Chapter 09
최종 관문

기술 면접 완전 정복

인프라·AWS·Docker·CI/CD·Linux·네트워크 면접 Q&A 최종 총정리

9.1 면접 프로세스 이해

단계 내용 준비 포인트
서류 전형 이력서·포트폴리오 심사 정량화 표현, GitHub 최신화
코딩/과제 간단한 스크립트 또는 인프라 구성 Bash·Python·Terraform 실습
기술 1차 인프라 개념·도구 지식 확인 이 가이드 전체 복습
기술 2차/포폴 프로젝트 설명·설계 토론 STAR 방식 발표 준비
임원/컬처핏 협업 방식·팀 문화 적합성 회사 가치관 사전 조사

9.2 인프라 면접 핵심 Q&A 총정리

Q. 서비스 장애 시 대응 순서는?
①현상 파악(모니터링/알람) → ②영향 범위 확인 → ③즉각 임시 조치(롤백/트래픽 차단) → ④원인 분석(로그·메트릭) → ⑤근본 해결 → ⑥재발 방지 문서화(포스트모템)
Q. 고가용성 설계 원칙은?
단일 장애점(SPOF) 제거, Multi-AZ 배포, Auto Scaling, 헬스체크, 장애 격리(Circuit Breaker), 데이터 백업·복제, 정기적 DR 훈련(GameDay)
Q. VPC 설계 시 고려사항은?
CIDR 범위(미래 확장 고려), 서브넷 계층화(퍼블릭/프라이빗/격리), Multi-AZ 분산, NAT GW 비용, 보안그룹+NACL 계층 방어, VPC Peering/Transit GW 연결 계획
Q. 컨테이너 vs VM 언제 쓰는가?
컨테이너: 마이크로서비스, 빠른 배포, 자원 효율이 중요할 때. VM: 강한 격리가 필요하거나, OS 수준 커스터마이징, 레거시 앱 마이그레이션 시
Q. 인프라 보안 강화 방법은?
최소 권한 원칙(IAM), 네트워크 계층 방어(SG+NACL+WAF), 데이터 암호화(전송중+저장중), 취약점 스캔(Trivy·Inspector), Secrets Manager 활용, CloudTrail·GuardDuty 감사
Q. SLO/SLA/SLI 차이는?
SLI(Service Level Indicator): 실제 측정 지표(가용성 99.5%). SLO(Objective): 내부 목표(99.9%). SLA(Agreement): 고객과의 계약(99.5% 미달 시 환불). SLO는 SLA보다 엄격하게 설정
Q. 리눅스 부팅 순서를 설명하세요.
BIOS/UEFI → 부트로더(GRUB) → 커널 로드 → initramfs → systemd(PID 1) → 타겟(target) 실행 → 서비스 시작 → 로그인 프롬프트
Q. HTTP vs HTTPS 차이와 SSL 핸드셰이크는?
HTTP는 평문, HTTPS는 TLS 암호화. 핸드셰이크: Client Hello → Server Hello+인증서 → 클라이언트 검증 → Pre-master Secret 교환 → 세션키 생성 → 암호화 통신 시작
Chapter 10
내 가치를 정당하게 받기

연봉협상 & 오퍼 평가

연봉 시장가 파악·협상 전략·오퍼 비교·입사 결정 기준

10.1 인프라 엔지니어 연봉 시장가 (2025년 기준)

레벨 스타트업 중견기업 대기업 외국계/빅테크
Junior (0~2년) 3,000~4,200만 3,500~4,500만 4,000~5,000만 4,500~6,000만
Mid (2~5년) 4,500~6,500만 5,000~7,000만 5,500~8,000만 7,000~1억
Senior (5년+) 6,500만~1억 7,000만~1.2억 8,000만~1.5억 1억~2억+

10.2 연봉 협상 전략

협상 전 준비
✅ 시장가 조사 (잡플래닛·원티드·LinkedIn Salary)
✅ 자신의 레드라인(최저선) 설정
✅ 목표 연봉 = 현재 + 20~30%
✅ 경쟁 오퍼 있으면 활용
✅ 협상 가능한 항목 파악 (주식·사이닝보너스)
협상 시 스크립트
"이 포지션에 매우 관심이 있습니다. 시장 조사 결과와 제 경력을 고려하면 [X원]이 적절하다고 생각합니다. 조정 가능한지 여쭤볼 수 있을까요?"

→ 절대 첫 제시를 바로 수락 X
→ "검토 시간을 주실 수 있나요?" 는 항상 OK
CHAPTER 11

🚀 입사 후 첫 3개월 생존 가이드

온보딩부터 팀 적응, 빠른 성장 전략까지

⚡ 이 챕터에서 배우는 것

입사 후 첫 3개월은 직장 생활 전체를 결정짓는 황금기입니다. 온보딩을 빠르게 끝내고, 팀에서 인정받으며, 인프라 엔지니어로서 빠르게 성장하는 전략을 A-Z까지 알려드립니다.

11-1. 첫날 체크리스트 — 준비가 반이다

📋 출근 전날 밤
  • ☑ 노트북/장비 충전 완료
  • ☑ 이동 경로·시간 재확인
  • ☑ 복장 준비 (Business Casual)
  • ☑ 명함 수령 준비 (인사 멘트 연습)
  • ☑ 수첩 + 펜 준비 (메모 습관)
🖥️ 첫날 오전
  • ☑ HR 서류 제출 완료
  • ☑ 사내 계정 (이메일, Slack, Jira) 세팅
  • ☑ VPN / SSH 키 발급
  • ☑ 팀원 소개 및 조직도 파악
  • ☑ 팀장/멘토와 1:1 미팅 요청
🏗️ 인프라 환경 파악 (필수)
  • ☑ 클라우드 콘솔 접근 권한 확인
  • ☑ 인프라 구성도/다이어그램 요청
  • ☑ 배포 프로세스 문서 확인
  • ☑ 모니터링 대시보드 접근
  • ☑ 온콜(On-call) 로테이션 파악
📖 문서화 시작
  • ☑ 온보딩 일지 작성 시작
  • ☑ 모르는 것 질문 목록 정리
  • ☑ 팀 위키/Confluence 탐색
  • ☑ 코드 리포지토리 클론 & 빌드
  • ☑ 로컬 개발 환경 세팅

11-2. 첫 달 전략 — 경청하고 관찰하라

💡 첫 달의 황금 원칙

"먼저 파악하고, 나중에 바꿔라"

첫 달에 가장 흔한 실수는 "제가 이전 회사에서는 이렇게 했는데요…"입니다. 먼저 왜 지금의 방식을 사용하는지 이해하고, 충분한 컨텍스트를 쌓은 뒤에 개선안을 제시하세요.

주차 핵심 목표 인프라 관련 작업 소프트 스킬
1주차 환경 세팅 & 파악 인프라 구성도 이해, 서비스 흐름 파악 팀원 이름 외우기, 점심 같이 먹기
2주차 프로세스 습득 배포 프로세스 follow, 첫 PR 리뷰 참여 팀 스타일/문화 관찰, 질문 기록
3주차 첫 기여 시작 간단한 인프라 수정 작업 맡기 요청 첫 스탠드업 발표, 일일 업무 보고 시작
4주차 첫 성과 만들기 담당 업무 독립적으로 처리 시도 팀장과 1달 피드백 미팅 요청

📚 첫 달 필수 학습 목록

# 회사 시스템 이해 체크리스트
## 기술 스택 파악
    - [ ] 사용 중인 클라우드 (AWS/GCP/Azure) 버전 및 리전
    - [ ] 컨테이너 오케스트레이션 (ECS/EKS/K8s 등)
    - [ ] CI/CD 파이프라인 구조 (Jenkins/GitHub Actions 등)
    - [ ] IaC 도구 (Terraform/CloudFormation 등)
    - [ ] 모니터링 스택 (Datadog/Prometheus/CloudWatch)
    - [ ] 로그 집계 도구 (ELK/Loki/Splunk)
    
    ## 운영 프로세스 파악
    - [ ] 배포 주기 및 방식 (블루-그린/카나리/롤링)
    - [ ] 장애 대응 프로세스 (Runbook 위치)
    - [ ] 온콜 로테이션 및 알림 체계
    - [ ] 변경 관리 프로세스 (Change Request 절차)
    
    ## 팀 문화 파악
    - [ ] 코드 리뷰 문화 (몇 명 approval 필요?)
    - [ ] 스크럼/스프린트 방식 이해
    - [ ] 문서화 수준 및 위치 (Confluence/Notion/Wiki)
    - [ ] Slack/메신저 채널 구조 파악

11-3. 두 번째 달 — 성과를 만들기 시작하라

🎯 2개월차 목표: "없으면 곤란한 사람"이 되어라

2개월차에는 작은 것이라도 팀에 기여하는 것이 핵심입니다. 자동화 스크립트 하나, 문서 개선 하나, 모니터링 알림 튜닝 하나 — 이런 작은 기여들이 쌓여 신뢰를 만듭니다.

🛠️ 신입 인프라 엔지니어가 바로 시작할 수 있는 기여 유형

📝
문서 개선

온보딩 하면서 불명확했던 내용을 문서화. "내가 헤맸던 것"을 남기면 팀 전체 효율이 올라감

🤖
단순 작업 자동화

반복적인 수동 작업을 Shell Script나 Python으로 자동화. 10분 작업을 10초로 줄이면 팀의 영웅

🔔
알림 튜닝

알림 노이즈 줄이기, 중요 알림 추가. 팀원들이 정말 고마워하는 작업 유형

# 실제로 기여할 수 있는 자동화 스크립트 예시 (Bash)
#!/bin/bash
    # EC2 인스턴스 상태 모니터링 및 Slack 알림 스크립트
    # 신입 엔지니어가 첫 기여로 만들기 좋은 예시
    
    SLACK_WEBHOOK="https://hooks.slack.com/services/YOUR/WEBHOOK"
    THRESHOLD_CPU=80
    THRESHOLD_MEM=85
    
    check_instance_health() {
        local instance_id=$1
        local cpu_util=$(aws cloudwatch get-metric-statistics \
            --namespace AWS/EC2 \
            --metric-name CPUUtilization \
            --dimensions Name=InstanceId,Value=$instance_id \
            --start-time $(date -u -d "5 minutes ago" +%Y-%m-%dT%H:%M:%S) \
            --end-time $(date -u +%Y-%m-%dT%H:%M:%S) \
            --period 300 \
            --statistics Average \
            --query "Datapoints[0].Average" \
            --output text)
    
        if (( $(echo "$cpu_util > $THRESHOLD_CPU" | bc -l) )); then
            send_slack_alert "CPU 경고" "$instance_id" "$cpu_util%"
        fi
    }
    
    send_slack_alert() {
        local title=$1
        local instance=$2
        local value=$3
        curl -s -X POST $SLACK_WEBHOOK \
            -H "Content-type: application/json" \
            -d "{\"text\":\"[경고] $title\n인스턴스: $instance\n값: $value\n시간: $(date)\"}"
    }
    
    # 모든 running 인스턴스 체크
    for id in $(aws ec2 describe-instances \
        --filters "Name=instance-state-name,Values=running" \
        --query "Reservations[].Instances[].InstanceId" \
        --output text); do
        check_instance_health $id
    done
    
    echo "Health check completed at $(date)"

11-4. 세 번째 달 — 인정받는 엔지니어가 되어라

🌟 3개월 목표
  • ✅ 독립적으로 업무 처리 가능
  • ✅ 팀의 워크플로우 완전 이해
  • ✅ 최소 1개 이상 가시적 성과
  • ✅ 다음 기여 계획 수립
  • ✅ 팀 내 신뢰 구축 완료
🚫 3개월 내 절대 하지 말 것
  • ❌ 검토 없이 프로덕션 변경
  • ❌ "이전 회사에서는..." 발언
  • ❌ 혼자 모든 것 해결하려 함
  • ❌ 야근 자랑 / 번아웃 방치
  • ❌ 팀 문화 무시한 독단적 결정

11-5. 장애 대응 — 현업 인프라의 핵심

⚠️ 중요

장애는 언제든 발생합니다. 신입 때 장애를 맞닥뜨리면 당황하지 말고 아래 프로세스를 따르세요. 장애를 잘 처리하는 사람이 인프라 팀에서 가장 인정받습니다.

🚨 장애 대응 5단계 (OODA Loop)

👀
OBSERVE
상황 파악
알림 확인
🧭
ORIENT
원인 분석
로그 확인
🎯
DECIDE
대응 방안
결정
ACT
조치 실행
복구
📋
REVIEW
Post-mortem
재발 방지
# 장애 발생 시 즉시 실행할 명령어 모음 (Runbook)
## 1. 시스템 상태 빠른 확인
    # CPU, Memory, Disk 한번에 확인
    top -bn1 | head -20
    free -h
    df -h
    
    ## 2. 서비스 상태 확인
    systemctl status nginx  # 웹서버
    systemctl status mysql  # DB
    docker ps -a            # 컨테이너
    kubectl get pods -A     # K8s
    
    ## 3. 로그 실시간 확인
    tail -f /var/log/nginx/error.log
    tail -f /var/log/syslog
    journalctl -u nginx -f --since "10 minutes ago"
    kubectl logs -f pod/이름 -n namespace
    
    ## 4. 네트워크 확인
    netstat -tlnp            # 포트 리스닝 확인
    ss -tulnp                # 소켓 상태
    curl -I http://서비스URL  # HTTP 응답 확인
    
    ## 5. AWS 상태 빠른 확인
    aws ec2 describe-instance-status --output table
    aws elbv2 describe-target-health --target-group-arn ARN
    aws cloudwatch get-metric-data  # 메트릭 확인
    
    ## 6. 빠른 롤백 (ECS)
    aws ecs update-service \
        --cluster prod \
        --service my-service \
        --task-definition my-task:이전버전번호
    
    ## 7. 빠른 롤백 (Kubernetes)
    kubectl rollout undo deployment/my-app -n production
    kubectl rollout status deployment/my-app

📝 Post-Mortem 작성 방법

장애가 해결된 후에는 반드시 Post-Mortem(사후 분석 보고서)을 작성합니다. 이것을 잘 하면 팀에서 크게 인정받을 수 있습니다.

섹션 내용
장애 요약 언제, 무엇이, 얼마나 영향을 미쳤는지 (1~2문장)
타임라인 장애 발생부터 해결까지 시간순 기록
근본 원인 Why-Why-Why (5 Whys) 분석
재발 방지 구체적인 액션 아이템 + 담당자 + 기한
교훈 팀 전체가 배울 수 있는 인사이트

11-6. 빠른 성장을 위한 학습 전략

📚 매일 하면 좋은 것들
  • 30분AWS/K8s 공식 문서 1섹션 읽기
  • 20분TIL(Today I Learned) 기록
  • 10분팀 Slack/메신저 채널 흐름 파악
  • 15분업무 일지 작성 및 내일 계획
🗓️ 매주 하면 좋은 것들
  • 월요일주간 목표 설정 & 우선순위 정리
  • 수요일개인 프로젝트/공부 진척도 점검
  • 금요일주간 회고 & 다음 주 계획
  • 주말사이드 프로젝트 or 자격증 공부

🏆 6개월 후 목표 — 시니어로 가는 길

시점 기술적 목표 팀 기여 목표 자격증/외부 목표
1개월 환경 세팅 & 팀 프로세스 이해 완료 문서 1개 개선, PR 리뷰 참여 AWS CCP 공부 시작
3개월 독립적 업무 처리, 소규모 인프라 변경 담당 자동화 스크립트 1개 배포 AWS SAA 취득 목표
6개월 CI/CD 파이프라인 개선, 비용 최적화 제안 신규 입사자 온보딩 도움 AWS SAA or CKA 취득
1년 주요 인프라 프로젝트 리드, 아키텍처 제안 팀 스탠더드 문서 작성 참여 CKA + 테크 블로그 운영
💌

인프라 엔지니어로서의 첫 걸음을 응원합니다

처음엔 모든 것이 낯설고 어렵게 느껴집니다. 하지만 이 시리즈를 끝까지 따라온 여러분은 이미 일반적인 신입보다 훨씬 많은 것을 알고 있습니다. 꾸준히 성장하세요. 인프라 세계에서 여러분을 기다립니다. 🚀

✅ InfraDevGuide0007 완료 체크리스트

이 항목들을 모두 완료했다면 실전 투입 준비 완료!

🏗️ 실전 프로젝트
  • AWS 3티어 아키텍처 직접 구축
  • Docker Compose 풀스택 앱 배포
  • CI/CD 파이프라인 완전 자동화
  • Terraform으로 인프라 IaC 구현
  • Prometheus+Grafana 모니터링 구축
📁 포트폴리오 & 이력서
  • GitHub 프로젝트 3개 이상 완성
  • README.md 아키텍처 다이어그램 포함
  • 이력서 STAR 기법으로 수치화 작성
  • 기술 블로그 or 노션 포트폴리오
  • LinkedIn 프로필 최신화
🎤 면접 & 협상
  • 기술 면접 필수 50문항 준비
  • 시스템 설계 문제 5가지 연습
  • 현재 시장 연봉 조사 완료
  • 연봉 협상 멘트 3가지 준비
  • 오퍼 평가 체크리스트 작성
🚀 입사 후 성장
  • 온보딩 체크리스트 완료
  • 첫 달 팀 문화 파악 완료
  • 자동화 기여 1개 이상 완료
  • 장애 대응 Runbook 이해
  • 6개월 성장 로드맵 수립
🎉
🏆 SERIES COMPLETE

InfraDevGuide 시리즈 완결!

인프라 개발자 완전 정복 A-Z — 7편 모두 완료

Guide 01
인프라
개념
Guide 02
Linux
기초
Guide 03
네트워크
기초
Guide 04
AWS
클라우드
Guide 05
Docker
컨테이너
Guide 06
CI/CD
자동화
Guide 07
취업
전략
🌟
📊 시리즈 완독 통계
7
총 가이드 수
11
챕터/편
100K+
자 분량/편
가능성

⭐ 이 시리즈가 도움이 되었다면 구독과 공감 부탁드립니다!

여러분의 인프라 엔지니어 도전을 항상 응원합니다 🚀