본문 바로가기

반응형

DevOps

(11)
[Ansible] 사용자 계정 생성 및 apache http 설치 실습 가시다님 주관 A101 스터디에 대한 정리 - 3주차 입니다. 1, 2 주차에는 Ansible 개념에 대해 전반적으로 알아보았습니다. 이번 주차에는 간단한 실습을 진행해봅니다. 추가로 valut 암호화 시 aws secrets manager를 활용해보겠습니다. 실습 환경에 대한 설명은 따로 하지 않음 1. 사용자 계정 생성 실습 원격 서버에 사용자 계정을 Playbook, 암호화를 활용하여 생성해보자. # 아이디어 - ansible.builtin.user 모듈을 사용하면 될 것 같다. - ansible은 ansible-vault를 통해 암호화를 수행할 수 있다. >> playbook 안에 username, password를 직접 넣어 만들수도 있지만 이는 보안에 취약하다. >> 따라서 별도 file에 u..
[Ansible] 반복문, 조건문, 핸들러, 블록, Recsue 등 개념 정리 가시다님 주관 A101 스터디에 대한 정리 - 2주차 입니다. 이번 주차에는 반복문, 조건문, 핸들러 개념에 대해 정리합니다. # 반복문 Ansible은 loop, with_, until 키워드를 통해 반복문을 사용할 수 있도록 제공한다. ( with_ 구문은 Ansible 2.5 버전부터 권장되지 않으며 loop을 사용할 것을 권장함 ) 예를 들어 여러개의 file을 만든다던지 여러 user를 생성한다던지 등이 그 예이다. https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_loops.html Loops — Ansible Documentation As of Ansible 2.8, you can get extended loop informa..
[Ansible] 기본 개념 정리 가시다님 주관 A101 스터디에 대한 정리 - 1주차 입니다. 이번 주차에는 Ansible 기본 개념에 대해 정리합니다. Ansible이란? Ansible은 Python module 및 ssh를 사용하여 원격 호스트에 명령을 수행할 수 있도록 도와주는 CM(Configuration Management) 도구이다. 별도의 Agent를 설치하지 않아도 되며 단순히 SSH 접속이 가능하면 편리하게 사용할 수 있다. (내부적으로 Python을 사용하게 되는데 대부분의 Linux에는 Python이 기본적으로 설치되어 있다.) 필자는 Ansible을 사용할 때 일반적으로 다음의 과정들을 거친다. [1] ansible.cfg 파일 작성 및 확인 [2] inventory 파일 생성, 그룹 변수 생성, 호스트 변수 생성..
[AWS] 클라우드 와치 로그에서 특정 패턴일 경우 Slack 알람 보내는 방법 1. 구성 구성은 정말 간단하다. CloudWatch 로그 그룹에 애플리케이션 로그들이 쌓이고 있다. → 구독 필터로 특정 패턴을 감지하여 AWS Lambda로 보내준다. → AWS Lambda에서는 메시지를 전달받은 뒤 가공하여 Slack으로 메시지를 보내준다. serverless 프레임워크를 활용한다. serverless.yml service: SLACK-NOTIFICATION frameworkVersion: "3" plugins: - serverless-dotenv-plugin provider: name: aws profile: XXXXXXX timeout: 30 memorySize: 256 runtime: nodejs18.x stage: prod region: ap-northeast-2 iam: ..
[Github Action] Self hosted runner에서 Gradle, Docker image cache #2 - EFS 활용 #1 편에서는 아주 간단하게 EBS, PVC를 활용하여 캐싱을 수행하였다. https://nyyang.tistory.com/163 [Github Action] Self hosted runner에서 Gradle, Docker image cache #1 - EBS, PVC로 캐시하기 Github hosted runner에서는 다양한 actions에서 caching 전략을 제공하기 때문에 단순 actions를 사용하는 것만으로 손쉽게 캐싱을 수행할 수 있다. 캐싱은 docker image caching도 아주 쉽게 수행할 수 있다. 이 nyyang.tistory.com 1. 개요 #1 편에서는 아주 간단하게 EBS, PVC를 활용하여 캐싱을 수행하였다. 하지만 프로젝트가 많아질 경우 PVC가 Available..
[Github Action] Self hosted runner에서 Gradle, Docker image cache #1 - EBS, PVC로 캐시하기 Github hosted runner에서는 다양한 actions에서 caching 전략을 제공하기 때문에 단순 actions를 사용하는 것만으로 손쉽게 캐싱을 수행할 수 있다. 캐싱은 docker image caching도 아주 쉽게 수행할 수 있다. 이는 buildx에서 --cache-from과 --cache-to의 type 중 gha(github action)란 type을 제공하는데, 아주쉽게 구현 가능하다. gradle cache 또한 제공하는 actions를 쓰면 된다. 하지만 github hosted runner를 쓰면 다양한 단점이 존재한다. 1. 개발한 코드가 클라우드 상에 배포된다. 2. runner가 argocd 등의 명령어를 수행하기 위해 argocd가 public 망에 존재해야 한다...
[Istio] EKS에서 Okta와 AWS ALB, Istio를 활용하여 인증, 인가 처리하기 1. 개요 Application 단에서 Okta 인증 로직을 구현하는 것보다 AWS ALB 혹은 Istio를 통해 구현하게 된다면 로직을 상당히 줄일 수 있을 것이라 생각하였다. Okta + AWS ALB + Istio를 구현하기 위해서는 다음의 지식들이 필요하다. [Okta] - JWT / OIDC / OAuth2.0 / SAML - ClientID, ClientSecret - Endpoints (Userinfo, Ahthorize, Token, ..) - Org Authorization Server , Custom Authorization Server [AWS] - AWS Listener Authentication (OIDC) - x-amzn-oidc-accesstoken, x-amzn-oidc-id..
[Envoy] Envoy Proxy Architecture # 1. 개요 MSA(Micro Service Architecture)를 사용하는 기업이 많아지면서 MSA 서비스 네트워크 통신은 어떻게 처리할지 고민하게 되었고, HTTP , HTTP2 뿐만 아니라 gRPC, Kafka, MongoDB 등 여러 Protocol 간의 통신을 어떻게 효율적으로 처리할지, 분산 추적 및 헤더 등에 대한 관리는 어떻게 할지 고민하게 되었다. 이에 따라 L7 기능을 갖춘 Proxy의 필요성이 느껴지게 되었고 그 중 가장 널리 사용되고 있는 Envoy에 대해서 간단하게 설명하도록 하겠다. - L7과 L4는 아래의 차이점이 존재하며, 당연히 L4 레벨의 통신이 좀 더 빠를 수 밖에 없다. 하지만 좀 더 많은 정보를 기반으로 프록시 및 라우팅을 설정할 수 있는 것이 L7 계층이다. ..

반응형