전체보기

CloudGoat 클라우드 환경의 서비스에서 발생할 수 있는 취약점을 공부하기 위한 시나리오들을 모아둔 훈련장 CloudGoat는 AWS에서 발생할 수 있는 취약점 Exploit 시나리오만 제공하고 있으며, Terraform을 통해 각 시나리오별 리소스를 생성할 수 있도록 코드를 제공한다. = 0.14 installed and in your $PATH The AWS CLI installed and in your $PATH AWS account with sufficient privileges to create and destroy resources. jq 먼저 리소스를 만드는데에 사용할 AWS 사용자를 하나 생성해준다. AdministratorAccess 권한을 갖는 IAM 사용자를 생성하도록 한다. 생성..
· Study/K8s
Helm kubernetes의 패키지 매니저, 배포하는 환경에 따라 설정값을 따로 정의해서 배포할 수 있도록 패키지 매니저 역할을 한다. Helm에서 패키지는 ‘Chart’라고 하며, chart는 kubernetes 애플리케이션의 리소스 정의로 이루어진다. Helm을 통해 Chart를 설치하는 과정은 Chart가 정의된 helm repo를 추가하고, 해당 repo를 통해 install한다. Helm 아키텍쳐 Helm 아키텍쳐의 구성요소에는 쿠버네티스 클러스터, Helm 클라이언트, Helm Chart Repository가 있다. Helm 클라이언트가 Chart Repository로부터 Chart를 다운로드받고, 이 Chart를 기반으로 쿠버네티스 클러스터의 API 서버와 통신해 Chart를 적용하게 된다..
· Cloud
이번에는 EC2 인스턴스의 Metric을 Prometheus로 수집하고, Grafana까지 연동까지 진행해보도록한다. Prometheus와 Grafana가 연동된 아키텍쳐 구조를 먼저 보도록한다. 각 노드들의 node-exporter로 부터 Prometheus 서버가 metric을 Pull해오고, Grafana가 Prometheus 서버에 PromQL을 날려 쿼리 결과를 가져와 Dashboard 형태로 보기좋게 구성을 해주게 된다.  Prometheus 설치수집한 Metric 데이터를 모을 인스턴스에 Prometheus를 설치한다.공식 페이지에서 Prometheus 설치는 바이너리 / 소스 / Docker 이미지 형태로 제공한다.이 글에서는 Docker 이미지를 받아 컨테이너 방식으로 설치하도록 한다. ..
· Cloud
서버나 서비스 등의 운영에 있어서 모니터링은 필수 요소이다.개발 Language 못지않게 모니터링 툴/시스템들도 굉장히 다양한 종류가 존재하고 새롭게 생겨나고 있다. 나는 기존에는 Cloudwatch Agent나 Logstash + Datadog 등을 이용해서 서버나 서비스에서 발생하는 데이터들을 모니터링하도록 구성했었다. 다만, Datadog의 요금정책 등의 이슈들로 인해 다른 모니터링 도구 탐색을 하게 되었다.그렇게 최근들어 알게된 Prometheus를 적용하고 깊게 공부해보고자 해서, 이 시리즈를 작성하기로 했다. 이번에는 Prometheus의 기본 개념과 특징을 알아보도록한다. PrometheusMetric 수집 모니터링 오픈소스 프로젝트, SoundCloud사에서 개발했으며 CNCF 소속 프로젝..
· Study/CI&CD
이번에는 간단한 프로젝트를 Github Actions를 통해 CI/CD 파이프라인을 구성하고 테스트해보도록 한다. 초기 세팅 먼저, 테스트에 사용할 Repository를 하나 생성해준다. 이 Repository를 clone해주고, 내용을 추가한다. 이번에는 따로 코드를 작성하지 않고, Spring 프로젝트를 하나 가져와서 추가해주었다. GitHub - spring-projects/spring-petclinic: A sample Spring-based application A sample Spring-based application. Contribute to spring-projects/spring-petclinic development by creating an account on GitHub. gith..
· Study/CI&CD
Github Actions Github Repository를 기반으로 빌드/테스트/배포의 Workflow를 자동화할 수 있는 CI/CD 도구 다른 CI/CD 도구들과 비교했을 때, Github Actions는 딱 Github 플랫폼 하나에서만 모든 CI/CD 과정을 처리할 수 있다는 점이 존재하며, Github이 Workflow를 처리할 수 있는 환경을 자체적으로 제공하기 때문에 Jenkins와 같이 따로 처리환경을 생성하지 않고도 간단하게 사용할 수 있다는 점이 장점으로 존재한다. Github Actions 단위 개념 Workflow Github Actions에서의 최상위 개념으로, 자동화시켜놓은 작업의 전체 과정/흐름이다. 각 Repository의 최상단에서 .github/workflows 디렉토리 ..
· Cloud/AWS
AWS의 다양한 서비스들을 이용하다 보면 리소스를 생성하는 과정을 마주하게 된다. 그 과정 속에서 간간히 KMS라는 단어를 볼 수 있는데, 대부분의 상황에서 이 KMS 설정은 기본값으로 두거나 아예하지 않고 넘어갔었다. 매번 마주했지만 그 기능에 대해 깊게 공부해본 경험은 없었다. 그나마 SAA 공부할 때 잠깐 얕게 공부해본게 전부라 이 참에 내용을 정리하는 겸 KMS를 활용해보도록 한다. KMS Key Management Service, 데이터를 암호화할때 사용되는 암호화 Key에 대한 전체적인 관리를 해주는 서비스 암호화 Key의 클라우드 서비스를 통해 중앙 집중식으로 관리해준다는 목적을 가진다. KMS의 대표적인 특징은 아래와 같다. 특징 내용 중앙집중식 제어 KMS 키의 수명 주기와 권한을 중앙집..
· Cloud/AWS
바로 앞 글에서 Network Firewall의 개념을 알아보고 간단한 아키텍쳐를 구성했다. 실제 방화벽이 VPC에 연결되어 트래픽 차단을 수행도록 하기 위해 VPC 네트워킹 작업이 더 필요하다. Firewall Endpoint가 활성화된 것을 확인 후, 라우팅 테이블 설정을 진행한다. 라우팅 테이블 설정 트래픽이 정상적으로 흐를 수 있도록 각 서브넷들의 라우팅 테이블 설정을 해주어야 한다. 라우팅 테이블을 적용한 아키텍쳐의 구성은 아래와 같다. 먼저, Firewall Endpoint가 위치한 Pub-NFW-a와 Pub-NFW-c의 라우팅테이블을 작성한다. 0.0.0.0/0의 인터넷 게이트웨이로 타고 나갈 수 있도록 구성한다. 다음으로 서비스가 있는 Pub-a와 Pub-c의 라우팅테이블을 작성한다. 여기..
Omoknooni
'분류 전체보기' 카테고리의 글 목록 (8 Page)