| AWS CLI 자격증명 설정 우선순위 실무에서 자주 쓰이는 방법은 Bold(두껍게)처리 했습니다. 1.CLI 명령어 옵션 2.환경변수 3.CLI 자격증명 파일 - ~/.aws/credentials 4.CLI 설정 파일 - ~/.aws/config 5.컨테이너 자격증명 (ECS의 경우) 6.인스턴스 프로파일 자격 증명 (EC2의 경우) 이 중 1,2,4,6번의 방법이 가장 많이 쓰입니다. 1번 방법 CLI 명령어 옵션을 통한 설정파일 설정 방법. 2번 방법인 환경변수를 설정하는 방법 기본적으로 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY를 설정하는 방법과 또 다른 방법으로는 사용자 프로파일 (AWS_PROFILE)을 설정하는 방법이 있습니다. ACCESS_KEY 기본적으로 ..
테라폼 워크스페이스(Work space)란? 이번 포스팅은 워크스페이스에 대해 알아보겠습니다. 워크스페이스는 하나의 프로젝트 단위라고 생각하시면 됩니다. 테라폼은 코드를 관리할 때 변경 상태에 대한 추적이 가능합니다. 이것을 추적하기 위한 목적으로 state를 관리하게 되는데 . terraform.tfstate라는 파일이 이 있습니다. 이 파일은 workspace 단위로 생성이 됩니다. workspace가 상태를 관리하는 단위라고 생각하시면 좋겠습니다. 먼저 workspace로 사용할 디렉터리를 만들어봅시다. mkdir 명령어를 통하여 폴더를 만들어 줍시다. 단일 파일로 관리할 때 main.tf라는 이름으로 관리를 합니다. 각자의 선호도에 맞게 intellij IDE OR Vscode OR 터미널(vim..
| 테라폼 설치하기 https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started 1.brew tap 명령어 복사 후 실행 2.brew install 실행 테라폼 자동완성 설치 zshrc 파일 확인 cat ~/ .zshrc 그럼 zsh 재시작을 위해 zsh 입력 후 terraform을 입력 후 tab을 눌러보면 밑에 명령어들이 자동으로 확인되는 것을 볼 수 있다. 테라폼 캐시(cache) 설정 https://www.terraform.io/cli/config/config-file 테라폼 설정 중 위와 같은 설정 옵션이 존재하는데 해당 옵션을 설정해주기 위하여 파일 안에 해당 내용을 입력해주자. 그 후 이제 pl..
IaC(Infrastructure as Code) - 네트워크, 로드밸런서, 저장소, 서버 등의 인프라 자원을 수동 설정이 아닌 코드를 이용하여 프로비저닝하고 관리하는 것. - 대표적인 IaC 도구로 테라폼(Terraform) 이 외 CloudFormation, Pulumi, Azure ARM Template)가 있다. 형상관리 (Confuguration Management) - 서버 운영체제 상에 필요한 소프트웨어를 설피하고 원하는 설정으로 관리하는 것. - Configuration as Code 라고 불림 - 대포적인 관리 도구(Ansible, Puppet, Chef, Salt Stack 등) 이미지 빌드(Image Build) - 사진과 같은 것들이 절대 아닙니다~! ( ec2 or 머신들이 디스크..
| mac os 기준 쿠버네티스 설치하기 쿠버네티스를 사용하기 위해 가장 먼저 해야 할 일은 클러스터를 구성해야 합니다. 클러스터란(cluster) control plane과 node들의 집합니다. 즉, 쿠버네티스 운영의 가장 큰 단위입니다. 클러스터 구성 쿠버네티스의 클러스터는 크게 두 가지 영역으로 나누어져 있다고 볼 수 있습니다. 1. 제어영역의 Control Plane (Master Node) - 제어영역이라고도 불리우며 클러스터의 관리 역할을 담당합니다. - 상태 관리 및 명령어 처리를 합니다. 제어 영역은 위 사진에서 (Ctrl Plane - 1,2...n 부분) 마스터 노드가 1개부터 n개 (보통 홀수개)로 구성 됩니다. 각각의 마스터 노드가 etcd, controller manager, s..
도커(docker) 설치하기 (mac os 기준) 들어가기 앞서, macOS에서는 Homebre를 통해 Docker for Desktop을 설치할 수 있습니다. Docker for Desktop에서는 docker와 docker-compose가 포함되어 있습니다. 도커를 설치 후 실행해보면, 이런 고래놈 녀석이 등장합니다. 또한 docker desktop을 설치하면, dashboard를 통해 gui를 제어할 수있습니다. Dashboard를 눌러봅시다 (오른쪽 사진에서) 그럼 왼쪽 사진과 같은 gui창이 나오는 것을 보실 수 있습니다. 다음에는 쿠버네티스를 설치해보도록 하겠습니다.
도커와 쿠버네티스 비교 예시 컨테이너를 하나만 띄워서 사용해야지! => 도커 0월 0시에, 100개의 컨테이너를 자동으로 생성해야지! => 쿠버네티스 즉, 도커는 ’이미지를, 컨테이너에 띄우고 실행하는 기술’이고 쿠버네티스는 '도커를 관리하는 툴'이라고 생각하시면 됩니다. 따라서, 도커는 '한 개의 컨테이너를 관리’하는 데 최적화 되어있고, 쿠버네티스는 '여러 개의 컨테이너를, 서비스 단위로 관리’하는 데 최적화 되어있습니다. 도커(docker)란? 도커는 '컨테이너 기반의 오픈소스 가상화 플랫폼' 입니다. 그렇다면, 컨테이너란 무엇일까요? 컨테이너는, ‘애플리케이션’과 ‘애플리케이션을 구동하는 환경’을, ‘Host OS’ 로부터 격리한 공간을 의미합니다. 컨테이너는 보통 마이크로서비스로 사용됩니다. 마..
모놀리식 방법과 MSA(마이크로 서비스 아키텍처) 방식의 차이점? 개인 프로젝트와 회사 프로젝트를 병행하면서 대규모 프로젝트는 어떻게 진행을 할까? (물론 회사에도 MSA 방식이 적용되어있지만 제가 잘 알지 못하기 때문에,,,) 라는 생각을 평소에 갖고 있었는데 오늘은 해당 방식을 어떻게 나누는지에 대해 알아보겠습니다. 모놀리식 아키텍처란? 먼저 모놀리식 아키텍처입니다. 우리가 구현하는 모든 프로젝트는 초반에 모놀리식 아키텍처를 따르게 됩니다. 그렇다면 계속 모놀리식 방법으로 사용해도 괜찮지 않을까?라는 생각이 떠오릅니다. (저도 그랬습니다.) 하지만! 문제는 다음과 같습니다. 간단한 예시로, 자그마한 프로젝트에서 계속하여 기능들이 추가되었다고 생각해봅시다. 처음에는 리스트만 뿌려지는 홈페이지가 나중에는..