| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- Container
- VPC
- VPN
- zerotrust
- CICD
- secretmanager
- KISA
- docker
- CI/CD
- devops
- DevSecOps
- security
- 보안
- cloiud
- eks
- docekr
- cloud
- saa-c03
- AWS
- docker-compose
- ECS
- IAC
- devop
- kubernetes
- cloud trail
- client-vpn
- fargate
- Network
- git
- 클라우드 보안
- Today
- Total
목록Devops (18)
Devsecops로 발전하는 엔지니어
Service Mesh란?-> 애플리케이션의 서비스간 모든 통신을 처리하는 소프트웨어 계층이며, 해당 계층은 container화된 MSA로 구성되어있다. 트래픽 라우팅,보안, 관측성 및 복구 기능을 처리하는 동시에 개별 서비스에서 복잡성을 추상화 가능하다. (application runtime 환경에 새로운 기능을 도입하지 않는다.)핵심 개념중에 mTLS 의 목적은 서비스 간 암호화된 통신이며, 작동 원리는 각 서비스가 클라이언트이자 서버 인증서를 모두 보유하여 인증을 하는것이다. 작동 원리DataPlane + ControlPlane 사용하여 서비스간의 커뮤니케이션 관리 한다.ex> 아키텍쳐 내부에서 A(container) -> B(container)로 가는 전달방식 지정해야하는데, 서비스 메시의 차이점..
내용 정리 목적WordPress와 MySQL을 ECS에 Multi-container 구조로 배포하면서 겪은 다양한 시행착오를 정리합니다. 처음 도전하는 사람이라면 반드시 한 번쯤 마주칠 수 있는 이슈들이고, 반복하지 않기 위해 기록으로 남겨둡니다.🔥 삽질 포인트와 해결 과정GitLab CI/CD Variables 실종 사건문제 상황.gitlab-ci.yml 파일을 이용하여 아래의 명령어가 실행이 되었으나,aws ecs update-service --cluster $ECS_CLUSTER --service $ECS_SERVICEServiceNotFoundException:-> 에러 발생원인GitLab의 CI/CD Variables인 ECS_CLUSTER, ECS_SERVICE가 누군가에 의해 삭제됨GitL..
📁 GitLab 프로젝트 구조 1. Multi-container TaskDefinition→ ecs 한개당 mysql, wordpress두개를 컨테이너로 업데이트 하기 위한 과정WordPress 컨테이너 (공식 이미지)MySQL 8.0 컨테이너Bridge 네트워크 모드 with links볼륨 마운트로 MySQL 데이터 영속성{ "family": "devops-test-task", "networkMode": "bridge", "containerDefinitions": [ { "name": "devops-test-container", "image": "wordpress:latest", "links": ["mysql"], "environment": [ ..
📁 GitLab 프로젝트 구조1. Terraform 인프라 구성주요 리소스VPC 및 네트워킹 (Public/Private Subnets)ECS Cluster (EC2 Launch Type)Application Load BalancerAuto Scaling Group (t3.medium × 2)IAM Roles 및 Security Groups# ─────────────────────────────────────────────────────────────# DevOps 이름지정 Environment - AWS Seoul Region (ap-northeast-2)# ─────────────────────────────────────────────────────────────terraform { requir..
Blue/Green 배포 전략 -> 무중단 배포의 대표적인 방식-서비스 운영 중, 새로운 버전을 배포하면서도 중단 없이 전환할 수 있는 방법으로 많이 활용되는 전략이 바로 Blue/Green Deployment입니다.이 글에서는 Blue/Green 배포의 개념, 동작 방식, 장단점, 그리고 실무에서 고려해야 할 사항을 정리했습니다. Blue/Green 배포란?-Blue/Green 배포는 두 개의 동일한 환경(Blue, Green)을 번갈아 가며 운영하여 무중단 배포와 빠른 롤백을 가능하게 하는 전략입니다.Blue 환경 : 현재 운영 중인 서비스 환경 (Production)Green 환경 : 새로운 버전을 배포하여 검증하는 환경동작 방식Blue 환경 운영 중현재 서비스는 Blue 환경에서 정상적으로 사용자..
컨테이너 도입을 위한 방법으로는 Docker, Kubernetes 등 다양한 접근이 있습니다. 하지만 이번에는 처음 컨테이너 기반 서비스 배포를 시작하는 단계로,AWS EC2 + Bastion + GitHub Actions + Docker를 활용하여 Private EC2에 안전하게 WordPress를 배포하는 흐름을 구축했습니다. 🧩 [1편] CI/CD 환경 구축 준비 및 인프라 구성🧱주요 내용1. 프로젝트 목표GitHub Actions → Bastion → Private EC2에 WordPress 자동 배포Docker + ECR을 활용한 컨테이너 기반 구성보안상 privaet EC2는 직접 접근 금지, Bastion 경유 하여 접근제어2. 네트워크 아키텍처VPC 및 서브넷 구성Public Subne..
1. Docker Compose를 활용한 배포-> Docker Compose의 경우 https://devopsrecording.tistory.com/11 Docker 사항 4에서 먼저 소개를 하였기에 docker 와의 차이에 대해서는 제외하고 바로 진행 할 예정이다.docker-compose.yml 생성 # docker-compose.yml version: '3.8' services: web: image: apache:latest ports: - "80:3000" environment: - DB_HOST=documentdb.cluster-xxx.docdb.amazonaws.com - DB_PORT=27017 - DB_USER=myuser..
1. 구성 시나리오 -> Vpc(10.0.0.0/16) Public Subnet A (10.0.1.0/24) Public Subnet B (10.0.2.0/24) Private Subnet A (10.0.11.0/24) Private Subnet B (10.0.12.0/24) Database Subnet A (10.0.21.0/24) Database Subnet B (10.0.22.0/24) 각 대역 사용 IP 갯수의 경우 251개 로 사용 예정이다. 또한, Bastion host를 사용하여 Ec2 내부 접근을 불가능하게 설계 예정이다. 2. 구성도(구성도 상세 설명은 3번에서 진행 예정) 3. 구성도 설명 Ec2 인스턴스는 각각 1개의 IP를 사용 할 것.Docker container는 호스트 네트워..
Pod란 무엇인가- Pod는 하나 이상의 container를 감싸는 논리적 단위로, 동일한 network와 volume을 공유하며 Kubernetes에서 배포되고 관리되는 최소 단위이다. 1. Pod 특징Pod의 IP는 Pod가 생성 될때 자동으로 할당되고, Pod가 삭제 될 경우 자동으로 Ip가 변경 된다.Pod의 Ip는 Cluster 내부에서만 연결이 가능하며, 외부에 통신을 하려고 하면 Service를 통하여 연결하여 통신이 가능하다.Pod 내부에 여러개의 container가 생성 가능하며 하나의 container별로 App이 실행 되며 pod내부의 container 끼리 통신은 내부 port를 지정해서 가능하다.2. Pod 구성요소컨테이너실제 애플리케이션이 실행되는 단위 (보통 Docker)네트워..
Kubernetes란 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 지원 그리고 도구들은 광범위하게 제공하며 여러대의 서버에 container를 배포,관리,확장등의 기능을 제공하는 플랫폼이다. 1. Kubernetes 를 사용 하는 이유자동화된 배포와 복구 -> container가 중지 혹은 죽을경우 자동으로 failover기능을 제공, Rolling update를 지원한다.수평적 확장이 가능 -> container에 사용량에 따라 Pod의 갯수 및 스팩을 자동으로 조정이 가능하다.Load balnacing 가능 -> cluster 내에..