☀️ 인프라 관련 경험

<aside>

개인 프로젝트

자체 홈 서버를 구축하여 사용

기술 AWS Docker Minikube
사용1 개인 포트폴리오 구성
기술: Docker 사용
목적: 커뮤니티, 숏링크, n8n, DocuSeal 등
구성: 미들웨어(Nginx), Certbot, 저장소(Postgres, Redis), 각 프로젝트 컨테이너
사용2 개인 프로젝트 구성
기술: Minikube 사용
목적: 메시징 시스템
구성: API Gateway, 메세지 브로커(Nats Jetstream), 컨슈머 + 샌더, 모니터링 등
그 외 • Lambda, RDS, ElasticCache, EC2, AWS Codepipeline, S3, SES, SNS 등 개인 목적으로 사용
</aside>

<aside>

소규모 프로젝트

하나의 프로젝트와 관련된 서비스들의 배포

기술 AWS Docker
목적 백오피스 배포
AWS 서비스 • CodeCommit: 형상 관리
• CodePipeline: CI/CD 배포 파이프라인 구축
• Beanstalk: 메인 프로젝트
• Lambda: 스케쥴링 및 개별 함수
• S3/RDS/ElasticCache: 저장소
• Secrets Manager, Parameter Store: 시크릿 관리
• Route53/CloudFront
참여 콘솔을 이용한 서비스별 구성 및 설정 등 전체, 모니터링 및 비용 관리, 계정 관리
</aside>

<aside>

최근 프로젝트

테라폼을 이용한 체계적인 인프라 관리

기술 AWS Terraform k8s
목적 전체 서비스 운영
AWS 서비스 • ECS, EKS: 컨테이너, 쿠버네티스 관리
• CodePipeline: 컨테이너 빌드
• Lambda: 스케쥴링 및 개별 함수
• S3/RDS/ElasticCache/OpenSearch: 저장소
• Secrets Manager, Parameter Store: 시크릿 관리
• Route53/CloudFront
• SNS/SES: 메세징 서비스
• VPN
쿠버네티스 서비스 • ArgoCD
• Grafana, Prometheus
• FluentBit, AlertManager
• Keycloak
참여 구성된 상태에서의 관리, 구성 지원, 세부 설정, 서비스 추가 등
기타 비용 최적화를 위한 세부 설정(최소한의 리소스로 서비스 운영), 클러스터 등 서비스 버전 업데이트 등의 유지보수
</aside>

🔒 보안 관련 경험

<aside>

개인 패스워드 관리

모든 서비스의 패스워드를 다르게, 주기적 업데이트 등

서비스 Bitwarden
관리 방식 • 모든 패스워드를 어렵게 설정, 2차 인증 필수 적용
• 서비스별로 다른 패스워드를 사용
• 2~3개월 주기로 패스워드 변경
• SSH 키나 암호키 정보들도 안전하게 관리
추가 • 중요한 파일 전달 시 암호화 필수
• 전달 방식도 횟수 제한, 패스워드 접근 제어 등
• 정기적인 PC 초기화
</aside>

<aside>

보안 키 관리

중요한 키들은 최대한 안전하게 관리

서비스 Secrets Manager Parameter Store HashiCorp Vault
사용 방식 • 기본 환경 변수 값들은 Parameter Store 사용
• 암호화 키나 중요한 값들은 Secrets ManagerHashiCorp Vault 사용
• RDS 패스워드 같은 경우 Secrets Manager 의 로테이션 기능을 활용하여 특정 주기로 자동 업데이트
기타 코드에 포함하지 않고 환경별로 구분하여 관리, 빌드 과정이나 프로젝트 실행 시 반영, 이중 암호화 등으로 보안 강화 등
</aside>

<aside>

지적 재산권 보호

도서, 소프트웨어 등 지적 재산권 보호 조치

| 기술 | • DRM • 패키징, 코드 난독화 등 | | --- | --- | | 상세 | • 파일 암호화 및 청크 단위 암호화 스트리밍 등 • 난독화된 소프트웨어 빌드 • 서명을 통한 무결성 보장 및 라이선싱 등 | </aside>

<aside>

기타