클라우드
-
Terraform LocalIaC/Terraform 기초 2023. 9. 20. 01:21
이번엔 terraform local에 대해서 알아보겠습니다. 테라폼에서는 locals라는 블록 안에 local value들을 만들어서 활용할 수 있습니다. 그리고 local 안에서 프로그래밍 언어처럼 반복문이나 조건문을 통해 로직을 구현하는 것도 가능합니다. 한번 간단한 코드와 함께 살펴보겠습니다. locals { s3_bucket_name = "cloudman-sample-bucket-01" } resource "aws_s3_bucket" "cloudman_s3_sample_bucket" { bucket = local.s3_bucket_name bucket_prefix = "logs/" tags = { log = "yes" expired = "yes" } } 예전에는 s3 bucket 이름을 var.c..
-
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 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..
-
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..
-
AWS S3 기초 (버킷 생성 및 데이터 업로드)Cloud 기초/AWS 기초 2023. 9. 6. 03:50
S3 Simple Storage Service의 약자로 AWS에서 제공하는 storage 서비스입니다. S3에서는 데이터를 담는 버킷을 만드는데, 비정형 데이터(음악파일, 문서, 이미지, 동영상 등)를 저장하는 저장소로 이해할 수 있습니다. (한 마디로 이것저것 담는 양동이를 만든다고 생각하면 됩니다.) 주로 미디어 데이터를 효율적이고 경제적으로 저장할 수 있는 서비스로 일반적으로 클라우드 저장소라고 부르는 것이 AWS에서는 S3입니다. S3의 특징을 키워드로 설명하면 다음과 같습니다. (갓피티형님 감사합니다) 1. Scalability 2. Durability and Availability 3. Data Protection 4. Data Security 5. Data Management 6. Data ..