데봅스
-
Terraform - AWS S3IaC/Terraform AWS 2023. 9. 16. 22:25
(이 글은 AWS S3에 대한 이해를 전제로 작성되었습니다. 관련 내용은 https://kh-archive.tistory.com/26 를 참고하세요) Terraform으로 AWS의 S3를 생성하는 코드에 대해서 살펴보겠습니다. resource "aws_s3_bucket" "cloudman_s3_sample_bucket" { bucket = "cloudman-s3-bucket-01" bucket_prefix = "logs/" tags = { log = "yes" expired = "yes" } } 코드가 이게 다인가요? 네! 놀랍게도 이게 다입니다. 만들어지는 S3의 내용을 살펴보면 S3 bucket의 이름은 "cloudman-s3-bucket-01"이고, bucket의 prefix를 "logs"로 만들고..
-
Terraform State LockIaC/Terraform 기초 2023. 9. 15. 20:34
이전에 Terraform에서 state파일을 통해 인프라의 현재 상태를 파악하고 관리한다고 말씀드렸습니다. (Terraform State에 관한 내용을 아직 모르시는 분들은 링크를 참고해주세요.) 그러면 한 가지 고민이 생깁니다. 만약에 동시에 state 파일을 수정하려고 하면 꼬이는거 아닐까? 여러 명이 하나의 state 을 바라보고 있다면 어떻게 관리해야하지? 이런 고민을 해결해주는 것이 state lock입니다. 만약 하나의 state을 바라보고 손오공과 저팔계라는 테라폼 개발자가 각자 다른 인프라를 개발하고 있다고 가정해봅시다. (하지만 Github에서 같은 코드를 공유하고 terraform apply는 main(master) 브랜치의 최신 commit을 기준으로 합니다) 그리고 동시에 손오공은 ..
-
Terraform ProviderIaC/Terraform 기초 2023. 9. 12. 23:50
지금까지 기본적인 테라폼 명령어를 살펴보았으니, 기본 테라폼 코드를 살펴보고 terraform apply를 통해 리소스를 하나씩 생성해봅시다. 우선, 테라폼에서 가장 먼저 작성되어야 하는 부분 중에 하나인 provider에 대해서 살펴봅시다. terraform provider는 테라폼이 특정 인프라 혹은 특정 클라우드의 리소스를 관리할 수 있도록 하는 일종의 Plugin으로 볼 수 있습니다. 뭔가 복잡한 얘기같지만 좀 더 쉽게 설명해보겠습니다. 테라폼으로 코드를 짜서 클라우드의 인프라를 만들 수 있다고 했죠? 그러면 내가 이 테라폼 코드를 실행하면 어떤 클라우드의 리소스를 만들지 알아야 하는데, 그걸 결정해주는 것이 바로 provider라고 보면 됩니다. 즉, provider가 AWS라면 terrafor..
-
Azure Cloud 소개Cloud 기초/Azure 기초 2023. 9. 10. 21:58
(AWS나 클라우드의 사전 지식이 있으면 더 쉽게 이해할 수 있는 글입니다. AWS에 대한 정보는 링크를 참고해주세요.) Azure는 Microsoft에서 제공하는 Cloud 서비스입니다. 최초로 클라우드 서비스를 제공했던 AWS에 밀려 시장을 선점하지는 못했지만, 그래도 기존 MS에서 제공하던 서비스들을 앞세워 2위 자리를 차지하고 있습니다. (저는 처음에 구글의 GCP가 2위가 아닌 것이 의외였습니다. 마소라니!!) MS는 자체 OS인 Window를 비롯해서 Powershell 등 자체적인 툴들을 많이 제공합니다. 그에따라 MS 세계관(?)에 맞춰 클라우드 서비스도 MS만의 독특한 특징들을 가지고 있습니다. 그러면 그 특징들을 한번 보도록 하겠습니다. 1. Hybrid Capability 2. Int..
-
Terraform ApplyIaC/Terraform 기초 2023. 9. 5. 02:58
terraform apply 이번엔 terraform apply에 대해서 정리하는 시간을 가져보겠습니다. terraform apply는 현재 테라폼 코드를 실행하여 리소스들을 생성/수정/삭제 하는 명령어입니다. 테라폼은 어떤 파일이 중요하다고 했죠? 바로 terraform state 파일!! 기억나시죠??^^ terraform apply를 하게 되면 무지성으로 테라폼 코드를 실행시키는 것이 아니라 현재 state 파일과 테라폼 코드를 비교하여 아래처럼 실행합니다. 상태 비교 state 파일에 있음 state 파일에 없음 테라폼 코드에 있음 Resource Update (혹은 No Change) Resource Create 테라폼 코드에 없음 Resource Remove No Changes 심플하죠? te..
-
Terraform StateIaC/Terraform 기초 2023. 9. 3. 09:12
테라폼의 명령어를 설명하면서 제가 계속해서 강조하는 것이 있는데요. 바로 state 파일!!! 테라폼을 처음 시작하거나 아직 초보단계에서 가장 많이 착각을 하는 것이 이 부분이라 계속해서 강조를 드렸습니다. 테라폼은 실제 클라우드에 어떤 리소스가 있는지는 모른다. 테라폼은 오로지 state 파일로 판단한다. 테라폼에서 이 부분을 항상 숙지하고 있으셔야 합니다. 그래서 뭐 이게 어떻다는 거죠? 라고 되물으실 수 있습니다. 바로 이런 특징 때문에 테라폼에서는 duplicate resource 문제가 발생할 수 있습니다. duplicate resource는 테라폼에서 일반적으로 발생하는 에러 중에 한 유형인데요. 같은 이름을 가진 리소스를 중복해서 만들려고 할 때 발생하는 문제입니다. 테라폼은 state 파일..