전체 글 45

『CloudFront』CloudFront란? - 1

CloudFront란? AWS에서 제공하는 가장 대표적인 CDN서비스중 하나이다. CDN서비스를 통해서 전세계로 빠른 배포가 가능하고, S3, LoadBalancer등의 서비스와의 연결을 통해 서비스를 배포 할 수도 있다. 또한 캐시, 쿠키, OAI, 전송 헤더값 추가 등의 기능도 같이 제공하고 있기 때문에 배포하는데 있어서 필요한 요소는 대부분 갖추고 있다. Cloudfront 캐시제어 AWS에서는 기본적으로 캐시정책을 제공한다. 종류는 다음과같다. CachingOptimized CachingOptimizedForUncompressedObjects CachingDeiasbled Elemental-MediaPackage Amplify CachingOptimized 캐시 키에 포함된 값을 최소화하여 캐시 ..

AWS 2022.07.12

『Cache』캐시란?

캐시란? 캐시는 자주 엑세스하는 정보에 대한 임시 공간을 제공하여 사용자가 서버에 직접 접근하는 시간을 줄일 수 있도록 해주는 것이다. 그래서 우리가 서버의 정보를 변경하고 적용이 안될 경우 기존 브라우저의 캐시를 삭제하는 것이다. 단, 캐시는 아주 빠른 엑세스 속도를 제공하는 만큼 디스크에 비해서 적은 용량이다. 일반적으로 RAM과 같이 엑세스를 빠르게 할 수 있는 하드웨어에 저장된다. AWS에서는 어디에서 쓰일까? 사실 Cloudfront를 하기 앞서서 간단히 정의한 것이다. 다른 서비스에서도 많이 사용되지만 그냥 Cloudfront전에 캐시에 대한 내용을 대충이나마 적었다. Amazon ElastiCache라는 서비스 또한 캐싱 서비스이다.

DevOps 2022.07.12

『DevOps』질문 리스트

개요DevOps 면접을 준비하며 작성하였던 내용이다.이 내용은 추후 계속 추가될 수 있고, 삭제 될 수 있다. 누군가가 이 내용을 보고서 도움이 되었다면 정말 좋겠으나, 우선은 혼자 보려고 만들어 본다. 내용DevOps는 기본적으로 문화이다.개발의 Development와 운영의 Operation의 앞글자를 따서 Dev + Ops 인 DevOps이다.즉 개발과 운영이 조화롭고 자연스럽게 돌아갈 수 있게 해주는 하나의 문화이다. DevOps 엔지니어, DevOps 개발자의 경우는 이 문화를 직접적으로 체험하지는 못한다.이유는 다음과 같다.실제로 DevOps 엔지니어는 개발자, 운영자가 아니다.개발의 영역에 손을 대기엔 업무 범위를 침범하는 행위이다.운영의 영역에 손을 대기엔 업무 범위를 침범하는 행위이다.그..

DevOps 2022.07.11

『RedShift』 Amaznon Redshift란?

Amazon Redshift란? Amazon Redshift는 데이터 웨어하우스로 OLAP(데이터 분석)에 특화된 Database입니다. 기존의 RDS와 같은 OLTP방식의 데이터 베이스는 트랜잭션에 특화되어 있는 반면, Redshift는 트랜잭션 작업은 느리다. 즉 OLAP 방식의 DB과 OLTP방식의 DB는 서로의 기능을 제공하지만 무척 느리다. OLAP란? OnLine Analytical Processing의 약어로 데이터 분석에 특화된 방식이다. 대표적으로 Redshift가 있다. 아래의 3가지가 OLTP에서 데이터 분석을 사용하지 않는 이유이다. 복잡한 JOIN 연산을 여러 테이블에 수행해야 하므로 분석 질의에 컴퓨팅 자원이 많이 소모 읽기 작업이 많은 분석 질의는 인덱스가 더 많아야 유리한데 ..

AWS/DB 2022.07.11

『KMS』KMS를 이용한 파일 암호화

KMS란? KMS는 Key Management Service이다. 즉 암호화 키를 관리해주는 서비스라고 생각하면 된다. 암호화,복호화 하는법 권한을 제공한 KMS키 ID를 복사한다음 다음과 같이 입력한다. aws kms encrypt \ --key-id \ --plaintext fileb:// \ --output text \ --query CiphertextBlob | base64 \ --decode > 이렇게하면 OutPut_File_Name부분에 넣은 이름으로 암호화가 진행된다. 아래 명령어를 사용하여 다시 복호화가 가능하다. aws kms decrypt \ --ciphertext-blob fileb:// \ --key-id \ --output text \ --query Plaintext | base..

AWS/KMS 2022.06.23

『EKS』EKS기반 인프라 및 CICD구성 실습 - 4

아키텍쳐 이전 포스팅을 보고 설정을 해야한다. CodeBuild 및 ECR aws에서 codebuild로 들어간다. 이제 처음에 다운받았던 node.js파일로 돌아가서 Dockerfile을 열어보자 # Docker Base Image # 기본이 되는 이미지 FROM node:16.15 # Use Command # 사용하는 명령어 RUN mkdir -p /apiapp # WORKDIR mean fixed and working dir # WORKDIR의 의미는 작업하는 디렉토리를 지정하는 것. WORKDIR /apiapp # copy files to /apiapp # 현재 디렉토리에 있는 파일을 /apiapp으로 복사한다. ADD . /apiapp # Use Command # 사용하는 명령어 RUN npm ..

『EKS』EKS기반 인프라 및 CICD구성 실습 - 3

아키텍쳐 다시 말하지만 이전 글 안봤으면 꼭 보세요.. 작동이 안되는건 제 오류 일수도 있지만 안보고 오류난건...저도 뭐 어쩔 수가 없습니다. ArgoCD ArgoCD에 대한 내용은 따로 블로그에 서술해두었으니 바로 시작! kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml 이렇게하면 ArgoCD가 생성이 된다. 그러나 ArgoCD의 Service가 ClusterIP로 되어있기 때문에 NodePort로 바꿔주고 해당 Port를 나의 localhost와 연결할 생각이다. kubectl edit service ..

『EKS』EKS기반 인프라 및 CICD구성 실습 - 2

아키텍쳐 아직 전 포스트를 읽지 않은 사람은 어서 읽고도록 하자 해당 포스트는 이전 포스트와 이어진다. 반드시 그렇게 하도록 하자 EKS환경 구축 단계 - VPC yaml 작성 및 생성 - EKS Cluster yaml 작성 및 생성 - EKS Cluster에서 LoadBalancer Controller 설치 - ArgoCD생성 및 포트포워딩 VPC yaml 작성 및 생성 Description: This template deploys a VPC, with a pair of public and private subnets spread across two Availability Zones. It deploys an internet gateway, with a default route on the public..

『EKS』EKS기반 인프라 및 CICD구성 실습 - 1

개요 해당 아키텍쳐를 참고하여 구성을 할 예정이다. 이번 글에서는 Node.js SDK를 사용해 DynamoDB에 값을 넣을 수 있도록 해볼 것이다. 방향 및 난이도, 소요시간 난이도는 보면서 따라하면 충분히 따라할 수 있는 정도의 난이도이다. 그러나 시간은 조금 걸릴 수 있다. 첫번째 포스트에서는 애플리케이션을 생성하고 SDK 및 DynamoDB를 생성할 것이다. 두번째 포스트에서는 EKS환경을 구축할 것이다. 세번째 포스트에서는 ArgoCD를 구축할 것이다. 네번째 포스트에서는 Codebuild와 같은 환경을 구축할 것이다. Node.js Application Node.js란? 시작하기 앞서 Node.js에 대한 간단한 설명을 하고 시작하겠다. Node.js는 Chrome을 만든 Google사의 V8..

『K8S』ArgoCD란?

ArgoCD란? ArgoCD는 GIT을 통해 Manifast가 업로드되면 해당 Manifast를 기반으로 배포를 해주는 서비스이다. CD(Continuous Delivery)이기 때문에 실제로 환경을 구축해서 사용을 해보려고 한다면 CI부분이 따로 필요하다. 이때 Jenkins를 사용하는게 배스트가 될 수도 있다. ArgoCD의 원리 K8S상에서(나는 EKS에서 했다) argocd라는 namespce를 생성한뒤 여기서 템플릿으로 제공된 manifast파일을 사용해서 apply시키면 끝이다. 그 뒤 본인의 경우 NodePort로 파일을 edit하여 로컬과 포트포워딩 시켜서 사용한다. 실습 실습은 CodeBuild, CodeDeploy, EKS, ECR과 함께 진행할 예정이다. 여기서는 따로 작성하지 않을 ..

DevOps/K8S 2022.06.21