LVM 다뤄보기
·
Infra
개요Azure에서 가상 머신에 추가적인 스토리지를 연결하고 LVM을 이용하여 관리하는 방법을 정리해 보았습니다. LVM이란?리눅스에서 논리적인 볼륨을 관리하는 시스템으로, 물리적인 디스크 파티션을 유연하게 관리할 수 있도록 도와줍니다.  Physical Volume(PV) - 실제 물리 디스크 또는 파티션을 의미합니다. (/dev/sdb1 등)Volume Group(VG) - 여러 개의 PV를 하나의 그룹으로 묶어 관리하는 단위입니다.Logical Volume(LV) - VG에서 원하는 크기의 논리 볼륨을 생성하여 파일 시스템을 올릴 수 있는 단위입니다.1.  Azure에서 VM 생성하기 2.  추가 디스크 생성하기VM을 선택하고 설정에서 디스크를 선택합니다.  디스크를 생성하고 VM에서 디스크를 확인할..
terraform으로 aws 인프라 구축하기 (3) (상태 관리)
·
Infra
Terraform이 인프라 상태를 추적하는 방법과 Terraform 프로젝트의 파일 레이아웃, 격리 및 잠금에 미치는 영향을 살펴보겠습니다.Terraform의 상태 추적Terraform은 인프라의 현재 상태를 파일(일반적으로 terraform.tfstate 파일)에 저장합니다.이 파일에는 프로비저닝한 리소스 정보가 담겨 있으며, Terraform이 인프라의 변경 사항을 추적하고 관리하는 데 사용됩니다.terraform을 팀에서 사용한다면 상태 파일을 관리할 수 있는 공유 저장소가 필요합니다.가장 좋은 방법은 Terraform의 기본 기능인 원격 백엔드 지원을 사용하는 것입니다.  Terraform의 상태 파일을 공유 저장소에 저장할 때, 버전 제어 시스템(Git 등)을 사용하는 것은 다음과 같은 문제를 ..
terraform으로 aws 인프라 구축하기 (2) (Auto Scaling)
·
Infra
시리즈 1에서는 ec2와 보안 그룹까지 생성했습니다. 이제 변수 설정과 오토 스케일링이 가능한 웹 서버 클러스터를 구축해 보겠습니다.변수 설정하는 방법변수를 선언할 때는 variable 블록을 사용합니다.//숫자인 변수variable "number_example" { description = "An example of a number variable in Terraform" type = number default = 42}//list인 변수variable "list_example" { description = "An example of a list in Terraform" type = list default = ["a", "b", "c"]}변수 적용하기변수를 설정한 후에는 var.변수명 형식으로 변..
terraform으로 aws 인프라 구축하기 (1)
·
Infra
Terraform이란재사용 및 공유가 가능한 사람이 읽을 수 있는 구성 파일로 클라우드 및 온프레미스 리소스를 모두 정의할 수 있는 코드 도구로서의 인프라입니다.일관된 워크플로우를 사용하여 수명주기 전반에 걸쳐 모든 인프라를 프로비저닝하고 관리할 수 있습니다 프로비저닝은 서버 자체를 생성해서 제공하는 것을 말합니다. 코드를 이용해서 웹 서버를 배포할 수 있습니다.Terraform을 사용하는 이유Terraform을 사용해서 인프라를 구축하면 개발을 하던 환경을 그대로 배포 환경을 만들어 내서 재사용성이 높아집니다.배포 프로세스가 안정화 되면 일관되게 반복이 가능하고 사람이 하지 않기 때문에 안정성이 높아지고 빠릅니다.제가 사용하면서 느낀점은 코드로 작성하면서 기능을 좀 더 자세하게 알 수 있게 된 것 같습..
EKS 클러스터 구축
·
Infra
들어가며CJ 클라우드 웨이브에서 프로젝트 기간동안 AWS 비용을 지원을 받아서 AWS 서비스를 돈 걱정 없이 사용할 수 있는 좋은 기회를 얻게 되었습니다. 프로젝트에서 사용할 EKS 클러스터를 AWS 콘솔을 이용해서 구축해 보았습니다.VPC 생성1. VPC 생성private subnet과 public subnet을 가용성을 위해 2개씩 생성nat gateway와 ingress를 두기 위해 public subnet 생성한다.2. 서브넷 4개 생성후 2개는 자동할당 활성화 (public subnet으로 사용하기 위해서) 3. 2개의 public subnet에 nat-gateway를 둡니다  4. routing 테이블에서 라우팅 편집을 통해서 생성한 nat-gateway를 private 서브넷과 연결해줍니다...
UTM 이용해서 쿠버네티스 환경 구성하기
·
Infra
Intro인프라에 관련된 교육을 들으러 가는데 쿠버네티스에 대해서 좀 알고 가면 좋을 거 같아서 실습을 진행해 보았습니다. 환경은 맥북 m3에서 진행했습니다.🤔 쿠버네티스를 사용하는 이유컨테이너 환경에서 많은 컨테이너를 관리할 때 용이하게 사용이 가능하고 고가용성을 얻을 수 있습니다.쿠버네티스는 인프라를 추상화하여 쉽게 인프라를 관리할 수 있어서 마이크로 서비스 환경에 적합합니다.ubuntu image 설치 & UTM 설치UTM : https://mac.getutm.app/ubuntu 20.04: https://cdimage.ubuntu.com/releases/focal/release/?_ga=2.203389460.469206803.1703810811-155106652.1703810811! 새 가상머신..
AWS IAM 계정 공유 와 AWS 서비스에 IAM 역할 적용
·
Infra
INTROAWS의 S3와 Lambda를 사용하면서 IAM에 대해서 알게 되었는데 좀 더 다양한 기능이 있어서 역할 생성과 사용자 관리를 사용해 보았습니다.AWS 공식 문서 https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/introduction.html 와 블로그 https://somaz.tistory.com/181를 통해서 학습했습니다.IAM이란?AWS Identity and Access Management(IAM)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. IAM을 사용하면 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리할 수 있습니다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한..
Docker-compose 다루기
·
Infra
Docker-compose여러 컨테이너를 일괄적으로 정의하고 실행할 수 있는 툴하나의 서비스를 운영하기 위해서는 여러 개의 application이 동작해야 한다.컨테이너화 된 application 들을 통합 관리할 수 있다.docker-compose의 문법에 맞춰서 yaml 파일을 만들어서 컨테이너를 실행시킨다.yaml 파일 작성 문법version : compose 버전(버전마다 지원 문법 다름)services : compose 이용해서 실행할 컨테이너 옵션 정의e.g. service: webserver:(컨테이너) (세부 정보들) bulild : . image:nginx ..
컨테이너 관리하기
·
Infra
리눅스 부하 테스트stress tool 사용하기부하 발생시킬 container 생성90mega로 부하동작 시켜보기컨테이너 리소스 제한컨테이너 사용 리소스 확인cAdvisor 동작시켜보기cAdvisor github 이용해서 다운 받으면 cadviosr 도커 컨테이너가 동작한다. cadviosr container에 접근하는 방법먼저 cadvisor가 8080포트를 이용중이어서 포트포워딩 해주기그리고 localhost:108으로 접속하기docker stats로도 cpu momory block I/O 정보 확인 가능데이터 영구적으로 보존하는 방법도커 컨테이너에 있는 데이터를 나의 host에 저장한다.docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT..
컨테이너 다루기
·
Infra
Conatainer 만들기Dockerfile을 이용해 컨테이너를 빌드한다.dockerfile 문법FROM base 이미지(운영 환경)COPY 컨테이너 빌드시 호스트의 파일을 컨테이너로 복사WORKDIR 컨테이너 빌드시 명령이 실행될 작업 디렉토리 설정CMD 컨테이너 동작시 자동으로 실행할 서비스나 스크립트 지정build 해보기dockerfile과 소스 파일을 준비하고 빌드해보기docker build -t [컨테이너이름]:latest [docker파일 위치]만들어진 이미지 확인실행시켜보기docker hub에 이미지 배포docker login으로 docker 유저 이름 비밀번호 입력개인 저장소에 올릴 때는 docker tag webserver:v1 hyoungjoon/webserver:v1 이런식으로 tag..