IT 56

AWS Athena로 S3에 있는 CSV파일 데이터 쿼리하기 (feat. partitioning)

AWS Athena란? S3 에 저장되어 있는 데이터를 DB처럼 쿼리할 수 있는 서비스이다. s3에 csv, tsv, json 등의 형식으로 저장한 파일의 내용을 SQL 쿼리를 통해 select, insert 할 수 있다. update, delete는 기본적으로는 안되는데, 일부 되는것처럼 소개하는 글도 있다. S3는 파일 수정이 불가하기 때문에 되더라도 비효율적인 방식일꺼라 예상한다. (실제 가능여부는 좀더 살펴보고 업데이트 예정) 언제 사용할까? Log와 같은 비정형 데이타 혹은 DB에 저장되지 않은 정형 데이터 등을 SQL을 통해 분석이 필요한 경우 분석 빈도가 많지 않아 데이터 분석을 위한 별도의 인프라 구성이 부담스러운 경우 요금 정책 요금정책은 아주 심플하다. 쿼리 실행시 스캔한 데이터의 사이..

IT/Public Cloud 2022.04.28

AWS EFS 비용과 처리량 알아보기 (feat. iops, 크레딧)

EFS 비용에 대해서 살펴보자. AWS Pricing Calculator 에서 EFS 비용을 확인하기 위해서는 아래 항목을 선택해야 한다. Storage Class 스토리지 설정 원하는 스토리지 용량 자주 액세스하는 데이터의 비율 Infrequent Access 요청 프로비저닝된 처리량 프로비저닝된 처리량 1. Storage Class Multi AZ 또는 단일 AZ 에 데이터를 저장할지 여부를 결정한다. 단일 AZ(One Zone)가 저렴하지만 AZ 단위의 장애에는 취약한 단점이 있다. Multi AZ(Standard, 0.33$/GB-월)가 단일 AZ(One Zone, 0.176$/GB-월)대비 약 2배 정도의 비용이다. 참고로 Provisioned IOPS SSD (EBS)도 하나의 AZ내에서 다수..

IT/Public Cloud 2022.04.25

Deplyment에서 EBS PV 사용하기 (feat. EKS, 공유볼륨, EFS와 EBS 차이점)

EBS vs EFS EKS에서는 PV로 EBS, EFS를 사용할 수 있다. 두개의 차이점을 간단히 설명하면 아래와 같다. EBS 하나의 EC2에만 mount 할수 있음 AZ 단위 서비스 가격이 상대적으로 저렴 (0.1$/GB) 볼륨의 크기를 사전에 결정 (수동 확장 가능) EFS 다수의 EC2에 mount 할수 있음(NAS 용도) Region 단위 서비스 가격이 상대적으로 비쌈 (0.2$/GB) 볼륨의 크기는 자유롭게 확장 가능 정리하면 EFS는 NAS처럼 다수의 EC2와 AZ에서 공유볼륨을 사용하고자 할때 사용하며, EBS는 단일 EC2에서 데이터를 저장할때 사용하는 스토리지라는 것이다. (물론 비용은 EFS가 더 비싸고) EBS를 Pod간 공유볼륨으로 사용할수 있을까? 일반적으로 Kubenetes 환..

IT/Kubernetes 2022.04.23

왜 StatefulSet을 사용할까 (feat. deployment와의 차이점)

MSA 에서는 어플리케이션의 stateless 를 강조한다. 그래야 Application 의 의존성이 사라지고, 배포, 확장 등이 용이하기 때문이다. 반면에 Kubernetes 에는 Stateful Pod를 생성하기 위해서 Statefulset 워크로드를 제공한다. 이것은 언제 사용되는지 정리해 봤다. StatefulSet 이란? 스테이트풀셋은 애플리케이션의 스테이트풀을 관리하는데 사용하는 워크로드 API 오브젝트이다. 파드 집합의 디플로이먼트와 스케일링을 관리하며, 파드들의 순서 및 고유성을 보장한다 . 디플로이먼트와 유사하게, 스테이트풀셋은 동일한 컨테이너 스펙을 기반으로 둔 파드들을 관리한다. 디플로이먼트와는 다르게, 스테이트풀셋은 각 파드의 독자성을 유지한다. 이 파드들은 동일한 스팩으로 생성되었..

IT/Kubernetes 2022.04.22

ECR의 VPC Endpoint 생성 및 연동 (feat. Private Link 와의 차이점)

VPC Endpont와 PrivateLink VPC Endpoint VPC 엔드포인트를 사용하면 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 사용할 필요 없이 가상 사설 클라우드(VPC)와 지원되는 서비스 간의 연결이 가능합니다. 따라서 VPC에서 연결할 수 있는 특정 API 엔드포인트, 사이트 및 서비스를 제어합니다. VPC 엔드포인트는 가상 장치입니다. 수평 확장, 중복 및 고가용성 VPC 구성 요소입니다. 다음은 다양한 유형의 VPC 엔드포인트입니다. 지원되는 서비스에 필요한 유형의 VPC 엔드포인트를 생성합니다. [출처] https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints.html ..

IT/Public Cloud 2022.04.12

Kubernetes PV Reclaim Policy 에 따른 Status 변화 정리 (feat. Persistant Volume, 상태, 반환정책, PVC)

Kubernetes PV의 상태변화에 대해서 자세히 알아보자 PV(Persistant Volume)의 상태(Status)란? 말 그대로 PV의 상태를 의미하며 총 4가지가 있다. 아래는 공식문서에 나와있는 내용이다. 이중 Released 상태는 데이터를 확인할수는 있으나 재사용할 수 없는 상태이다. 데이터를 재사용하기 위해서는 데이터 백업후 PV를 재생성 해야한다. PV의 상태는 아래처럼 확인할수 있다. (아래는 Bound 상태) PV(Persistant Volume)의 반환정책(Reclaim Policy)란? PV 상태가 Bound->미사용으로 변경될때 저장되어 있는 데이터와 PV를 어떻게 처리할 것인가에 대한 정책이다. PV는 PVC가 바인딩이 되면 Bound 상태가 되고 바인딩된 PVC가 없을때 미..

IT/Kubernetes 2022.04.01

AWS cli로 repository 생성하기 (feat. codecommit, ecr)

AWS cli 로 codecommit, ecr repository를 생성하는 방법을 알아보자 CodeCommit Repository 생성 aws codecommit create-repository 명령을 사용한다. (링크) aws codecommit create-repository --repository-name [Repo Name] --repository-description [Description] --tags [Key]=[Value] ECR Repository 조회/생성 Repository 조회 aws ecr describe-repositoris 명령을 실행하면 기존 repository 설정을 확인할수 있다. 먼저 콘솔을 통해서 repository를 성 aws ecr describe-reposito..

IT/Public Cloud 2022.03.28

AWS CloudFormation 으로 VPC부터 Bastion EC2 생성까지

CloudFormation이란? AWS에서 제공하는 IaC (Infra as Code) 서비스이다. VPC, EC2, S3 등 모든 AWS 인프라를 코드로 관리할 수 있다.이렇게 인프라를 코드로 관리할 경우, 현재 인프라를 다른 지역에 동일하게 생성한다거나, 인프라의 변경이력을 확인하는 등 인프라를 좀더 체계적이고 효율적으로 관리 및 운영하는것이 가능하다. CloudFomation을 위해서는 json 또는 yaml 형식의 template 파일을 작성한다. json과 yaml은 형식만 다를뿐 내용에는 차이가 없다. 개인적으로 가독성이 좋은 yaml 형식을 선호한다. 이렇게 작성한 template 파일(json 또는 yaml)을 CloudFormation에 업로드하면 Stack 이라는 단위로 관리된다. 따라..

IT/Public Cloud 2022.03.12

AWS Auto Scaling Group 알아보기 (feat. 정책, 튜토리얼)

AWS Auto Scaling Group이란? 사용자가 정의한 조건에 맞춰 EC2 개수가 늘어나거나 줄어드는 기능이다. 일반적으로 ASG(Auto Scaling Group)앞에 LB(Load Balancer)를 연결해서 사용한다. Scaling 정책 아래와 같이 3가지 방식을 지원한다. 1) Dynamic scaling policies 사전에 정의한 metric 또는 알람에 따라서 scaling 하는 방식이다. CPU, Network In/Out 이나 Cloud Watch의 알람 등으로 설정할 수 있다. 2) Predictive scaling policies 예측값에 따라 scaling 하는 방식이다. 3) Scheduled actions 특정 시간 또는 정해진 주기에 따라 scaling 하는 방식이다...

IT/Public Cloud 2022.03.11

AWS EC2 User Data 사용하기 (feat 로그, 내용확인)

EC2 User Data 사용방법에 대해서 간단히 정리해보자 EC2 User Data란? EC2가 생성되면서 실행되는 일종의 script 이다. 예를들어 5대의 EC2를 생성해서 패키지를 설치해야 한다고 가정해보자. 5대를 생성 -> 각각 ssh 접속 -> 스크립트 실행할 수도 있겠지만 매우 번거로운 작업이다. 이럴경우 User Data를 활용하면 EC2가 생성되고 최초 부팅이될때 User Data에 입력된 스크립트를 실행해준다. 사용방법 사용방법은 간단하다. EC2를 생성할때 아래와 같이 User Data 에 관련 스크립트를 작성하면 된다. linux 기준으로 제일 윗줄의 #!/bin/bash 를 입력하지 않으면 스크립트가 동작하지 않으니 주의하자. User Data 로그 확인하기 제대로 실행됬는지 확..

IT/Public Cloud 2022.03.08
반응형