이론 정리/HashiCorp 5

Terraform 기본 개념 정리

Terraform 기본 개념 Infrastrupctupre as Code, 코드로써의 인프라 인프라를 이루는 서버, 미들웨어 그리고 서비스 등, 인프라 구성요소들을 코드를 통해 구축하는 것 IaC는 코드로써의 장점, 즉 작성용이성, 재사용성, 유지보수 등의 장점을 가진다. Terraform by Hashicorp 테라폼은 현재 정말 많이 쓰이는 도구이고, 현재는 거의 업계 표준으로 쓰인다. 테라폼은 인프라를 만들고, 변경하고, 기록하는 IaC를 위해 만들어진 도구이다. 문법이 쉬워 비교적 다루기 쉽고 사용자가 많아 레퍼런스를 찾기 쉽다. .tf형식의 파일 확장자를 갖는다. AWS, Azure, GCP같은 퍼블릭 클라우드뿐만이 아닌 다양한 서비스 역시 지원한다. 테라폼 구성요소 provider 테라폼으로 ..

Terraform의 Variable 기초

Terraform Infrastructure as Code Variables 코드에서 변수를 사용할 수 없다면, 매번 다른 값이 필요할 때 마다 하드코딩된 코드 한벌씩을 새로 만들어야 할 것이다. 테라폼의 설정 파일을 작성하는 운영자와 개발자는 변수의 정의를 코드와 함께 작성하여 텍스트 편집기를 열지 않고도 인프라를 코드로 쉽게 정의할 수 있다. .tfvars형식의 직접적 변수 선언 일반 .tf파일에서의 변수 선언 Inline변수 선언 또는 변수 파일 지정 (-var / -var-file) 환경 변수 선언 OSS Terraform 구성 또는 모듈의 입력 변수 관리 지원되는 변수의 종류는 이렇게 3가지 카테코리로 이루어져 있다. Primitive Types string number bool Collecti..

terraform의 workflow 기초

Terraform 기초 HashiCorp라는 회사에서 만든 솔루션이다. 이는 인프라를 구축,변경,버전관리를 하기 위한 도구로서 코드로 인프라를 관리할 수 있게 해준다. 코드가 곧 인프라가 되고, 인프라를 코드로 설명할 수 있어야 한다는 것이다. Provisioning Day0, Day1, Day2 이런 식으로 설명한다. Day0 요구사항 분석, 어떤 아키텍쳐를 설계할지에 대한 트레이닝 과정 Day1 설계된 아키텍쳐의 구현 인프라, 네트워크 서비스 구현 등이 여기서 이루어진다. Day2 Day1에서 구성된 요소들을 관리하고, 유지보수하고, 새로운 요청이 있으면 새로운 아키텍쳐를 구성하는 등의 반복 작업을 여기서 수행해준다. Day1을 통해서 인프라 구성 완료를 했다고 가정해 보자. 그리고 이후 Day2에서..

Vault userpass방식 로그인 및 Policy 적용하기

Vault userpass방식을 사용한 Vault서버 로그인 및 policy를 통한 권한 부여 이전 방식에서는 Token을 통해 권한의 확인을 진행해 보았다. 이번에는 여기에 userpass를 붙여본다. 1. Vault서버에 Root 계정으로 로그인하기 입력 vault login hvs.RootToken~~~~~ 결과 Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key V..

Vault Token방식 로그인 및 Policy 적용하기

Vault Token방식을 사용한 Vault서버 로그인 및 policy를 통한 권한 부여 1. Vault서버에 Root 계정으로 로그인하기 입력 vault login hvs.RootToken~~~~~ 결과 Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token hvs.RootToken~~~~~ token_accessor mDI0u6IZs..