클라우드 공부/IaC

0. IaC(Infra as a Code)의 사용 이유 사람은 한정적인데 운영해야 할 서버가 많아짐 → 반복되는 일이 늘어남 버전 관리 가능 리뷰 및 테스트 가능 휴먼 에러 감소 테라폼 사용에 대한 공부와 기존 인프라가 이미 있을 경우 통합시키는 수고 필요 1. 기본 동작 방식 1.1 Init: 실행을 위한 준비 작업(초기 setting) 테라폼 상태 파일 확인 provider 플러그인 다운로드 모듈 다운로드 1.2 apply: 작성된 코드를 기반으로 인프라 구성 테라폼이 자동으로 의존성(dependency)을 구성하고 병렬로 인프라를 구성한다. 수동으로 의존성을 걸 수 있지만 테라폼이 의존성을 구성하는 과정에서 꼬일 수 있어 사용하지 않는 것을 권장 어떤 리소스가 생성/수정/삭제 되는지 확인하는 pla..
의도 [테라폼으로 시작하는 IaC] 책의 246페이지 실습에 대한 내용이다. 한 가지 변수 값만 다른 instance를 반복문을 사용해 3개 생성해야 한다. 모듈을 쓰자니 너무 복잡하고 count를 쓰자니 instance 참조 방식을 인덱스로 하는게 맘에 안 들어서 for_each를 택했다. # aws_instance.hashicat["kitten"] will be created + resource "aws_instance" "hashicat" { 이런 식으로 aws_instance.hashicat["kitten"] 형태로 참조하고 싶었다. count를 사용하면 aws_instance.hashicat[0] 의 형태로 참조해야 한다. 결과 코드 locals { map_placeholder = { "kitt..
AWS AK/SK를 EXPORT로 사용하거나, 파일에 저장하거나, 코드에 직접 넣기엔 보안적으로 너무나 안 좋다고 생각한다. 그래서 찾은 방법이 AWS의 profile을 사용하는 것이다. hh@DESKTOP-4UIU15G:~$ aws configure --profile hh AWS Access Key ID [None]: ****** AWS Secret Access Key [None]: ****** Default region name [None]: ap-northeast-2 Default output format [None]: hh@DESKTOP-4UIU15G:~$ aws s3 ls --profile hh aws configure --profile [profile_name] 명령으로 profile을 등록한..
윈도우에 테라폼을 직접 설치하면 설정이 조금 불편해져서 WSL에 설치하려고 한다. 모든 사항은 테라폼 공식 문서를 따라간다. https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli Install Terraform | Terraform | HashiCorp Developer Install Terraform on Mac, Linux, or Windows by downloading the binary or using a package manager (Homebrew or Chocolatey). Then create a Docker container locally by following a quick-start tutoria..
기본 Vagrantfile # -*- mode: ruby -*- # 파일이 루비임을 인식하게 하는 호환 코드 # vi: set ft=ruby : # ft = file type Vagrant.configure("2") do |config| # API version=2 # vagrant config 시작 config.vm.define "m-k8s" do |cfg| # 가상머신 이름을 m-k8s로 정의하고 config 시작 config.vm.box = "sysnet4admin/CentOS-k8s" # cfg 내용들을 box에 저장 cfg.vm.provider "virtualbox" do |vb| # virtual box에서 필요한 cfg 시작 vb.name = "m-k8s(github_SysNet4Admin)..
Vagrant? IaC(Infra as a Code)를 사용하는 이유는 코드형 인프라를 사용하여 인프라 환경을 일정하게 유지하고 구성하기 위해서다. vagrant는 HashiCorp에서 개발한 가상환경의 관리 및 프로비저닝을 도와주는 오픈소스 소프트웨어다. VirtualBox, VMware 및 Hyper-V와 같은 다양한 가상화 플랫폼과 Docker와 같은 컨테이너와 함께 작동한다. Vagrant는 VirtualBox와 같은 가상 머신을 Vagrantfile이라는 선언적 파일을 사용하여 코드로 관리한다. Vagrantfile에 가상 환경의 원하는 속성을 정의한다. 코드로 작성되어 있어 개발 환경을 다른 사람과 쉽게 공유할 수 있고 환경의 일관성을 보장하여 환경 관련 문제의 가능성을 줄일 수 있다. Vag..
su-mmer
'클라우드 공부/IaC' 카테고리의 글 목록