Cloud
-
Terraform - AWS IAMIaC/Terraform AWS 2023. 9. 17. 05:36
(이 글은 AWS IAM에 대한 이해를 전제로 작성되었습니다. 관련 내용은 https://kh-archive.tistory.com/38를 참고하세요) 테라폼으로 AWS IAM 리소스들을 생성하는 방법에 대해서 알아봅시다. 우선, 바로 테라폼 코드를 보고 어떤 식으로 구성되는지 말씀드리겠습니다. resource "aws_iam_policy" "cloud_man_lambda_tagging_policy" { name = "lambda-tagging-sample-policy" description = "Policy for Lambda functions to tag themselves" policy = jsonencode({ Version = "2012-10-17", Statement = [ { Action = ..
-
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 BackendIaC/Terraform 기초 2023. 9. 12. 23:56
(이 글은 Terraform state에 대한 이해를 바탕으로 작성되었습니다. 관련 내용은 https://kh-archive.tistory.com/22를 참고해주세요.) 테라폼의 백엔드 설정에 대해서 알아보겠습니다. 테라폼에서 State 파일에 대한 관리를 설정하는 것이 backend 설정입니다. backend 설정을 따로 하지 않으면 로컬에서 state 파일을 생성하여 관리합니다. 그러면 굳이 Backend 설정을 하지 않아도 되나요? 혼자서 개발할 것이라면 굳이 Backend 설정이 필요하지는 않습니다. 하지만 대부분의 경우 인프라 개발을 혼자서 개발을 하는 경우는 드물죠. 그리고 지금 당장은 혼자서 인프라 및 데봅스 개발을 하더라도 나중에 누군가와 협업을 해야하는 상황이 올 수도 있다는 가정을 하면..
-
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..
-
AWS Athena 기초 (Athena SQL 작업)Cloud 기초/AWS 기초 2023. 9. 6. 03:56
(이 글은 AWS Glue 기초 (S3 Data Catalog 생성)(https://kh-archive.tistory.com/27)를 읽은 것을 전제로 작성하였습니다.) Glue편에 이어서 AWS Athena에 대해서 알아보겠습니다. AWS에서 Athena에 대한 설명을 한줄로 표한 문장을 보면 서버리스 대화형 분석 서비스 라고 되어있습니다. '서버리스'라는 것은 어딘가에 서버를 띄우고 인프라를 구축해서 사용하는 서비스가 아니라 그냥 마치 모든 것이 세팅되어 있고 우리는 단순히 쿼리를 날려서 원하는 결과를 얻을 수 있는 interactive한 서비스를 제공한다는 의미로 해석할 수 있습니다. 그러면 AWS Athena가 가진 특징을 하나씩 살펴볼까요? 1. Serverless 2. Pay-per-query..
-
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 파일..