Among Us - Yellow Crewmate 'AWS' 태그의 글 목록

AWS 38

AWS EKS에서 ALB를 Ingress Controller로 사용해보자

쿠버네티스 클러스터 외부에서 내부로 통신하기 위해서는 NodePort, LoadBalancer 또는 Ingress를 사용하는 방법이 있다. 이번 게시물에서는 EKS 클러스터에서 Ingress Controller로 ALB를 사용하고 간단한 애플리케이션을 배포하여 테스트하는 과정에 대해서 이야기할 것이다. 우선, 본문에 들어가기에 앞서 외부와 통신하는 3가지 방법의 차이점에 대해서 적어보고자 한다. NodePort NodePort는 노드의 IP와 30000-32767 사이의 포트를 노출시켜 외부와 통신하는 방법이다. 이 방식은 1) 하나의 서비스당 하나의 포트만 할당할 수 있다는 점, 2) 포트가 제한적이라는 점, 3) IP가 바뀌면 접속 주소가 바뀐다는 점들을 고려하여 실제 서비스에서는 이 방식으로 서비스..

DevOps/Kubernetes 2021.10.17

[ELB] ALB / NLB / CLB / GWLB

AWS ELB는 CLB , NLB , ALB 와 최근에 합류한 GWLB까지 총 4개의 종류가 있다. 각각의 LB를 상황에 맞게 사용하여 부하 분산을 해야할 때가 있는데, 어떠한 상황에 어떠한 LB를 사용하면 좋을지 각각의 특징들에 대해서 정리해보도록 하자. 1. Classic Load Balancer (CLB) CLB는 가장 오래된 로드밸런서로 ELB의 가장 기본적인 형태라고 말할 수 있다. 현재는 잘 쓰이지 않는 추세라고 한다. L4 계층부터 L7계층까지 로드밸런싱이 가능하다. TCP, SSL, HTTP, HTTPS 등 다양한 프로토콜을 수용할 수 있고, Sticky Session 의 기능도 제공한다. CLB는 하나의 URL만 가질 수 있다. 2. Network Load Balancer (NLB) 이름..

AWS/용어 2021.05.16

[Code Pipeline] EKS와 Code Pipeline를 사용하여 CI/CD 구축하기

이번에 해볼 실습은 지난 글에서 구축했던 EKS 클러스터를 사용하여 AWS Code Pipeline로 CI/CD를 구축하고 이벤트가 발생할 때마다 Slack으로 사용자에게 알람 메시지가 수신되도록 해보는것이다. 아직 EKS 클러스터가 구성되어 있지 않다면 https://potato-yong.tistory.com/126?category=853010 글로 가서 생성해주고 오도록 하자 위의 아키텍쳐를 순서대로 나열해보면 1. User가 Git Repository에 Push 2. Git Repository에 있는 소스 코드 빌드 3. Docker 이미지를 ECR에 업로드 4. ECR에 있는 Docker 이미지를 EKS 클러스터에 배포 5. Pipeline 이벤트 (Success/Fail) 발생 시, Cloud ..

DevOps/CI CD 2021.05.07

[k8s] kubernetes에 Prometheus와 grafana 연동하여 모니터링하기

prometheus를 통해서 kubernetes 클러스터를 모니터링 하는 방법과 grana로 대쉬보드 생성하는 방법에 대해 알아보자. 1. Prometheus 란? Prometheus는 현재 kubernetes 모니터링에 가장 많이 사용되고 있는 오픈 소스 기반 모니터링 시스템이다. CNCF에 소속되어 있으며, k8s 클러스터 및 컨테이너들을 손쉽게 모니터링 할 수 있다. 1. Prometheus 특징 promQL 쿼리 언어를 사용한다. Grafana 같은 대쉬보드 시스템을 이용하여 대쉬보드로 측정 값을 모니터링 할 수 있다. 메트릭 이름과 key-value 형태로 식별되는 시계열 데이터를 제공한다. 경고(Alert)와 룰셋(Ruleset)을 만들 수 있다. 2. Prometheus 구조 모니터링을 하기..

DevOps/Kubernetes 2021.05.01

[EKS] AWS EKS를 사용하여 클러스터 구성하기

이번에 해볼것은 AWS EKS를 사용해서 클러스터를 구성해 볼 것이다. EKS를 사용해서 클러스터 구성하는 방법은 다음과 같다. 1. eksctl 사용하기 2. AWS Management Console 사용하기 이번에 내가 사용할 방법은 AWS Management Console 사용하여 구성할 것이다. 이 실습의 진행순서는 다음과 같다 1. AWS CLI 설치하기 2. AWS CLI Configure 구성 3. Kubectl 설치하기 4. EKS 클러스터 IAM 역할 생성 5. EKS 워커노드 IAM 역할 생성 6. VPC 및 서브넷 생성 7. EKS 클러스터 생성 8. kubeconfig 생성 9. 노드 그룹 생성 1. AWS CLI 설치하기 로컬환경에 AWS CLI를 설치하자. AWS CLI를 사용해..

DevOps/Kubernetes 2021.04.26

[AWS] Lambda 생성 안됨 (Access Key 유출 관련)

어느날 Lambda를 통한 실습을 진행하려고 했는데 아래와 같이 "Request failed with status code 403" 에러가 뜨면서생성이 되지않았다. 처음 만져보는 람다여서... 나는 내가 무언가를 놓치고 있다고 생각하고 한참을 헤맸다.. 나는 이러한 원인을 AWS의 Personal Health Dashboard에서 확인할 수 있었다.aws.amazon.com/premiumsupport/technology/personal-health-dashboard/AWS Personal Health DashboardAWS Personal Health Dashboard는 AWS에 고객에게 영향을 미칠 수 있는 이벤트가 발생할 때 알림 및 해결 지침을 제공합니다. Service Health Dashboar..

Trouble Shooting 2021.04.21

[Terraform] Terraform으로 AWS 웹서버 인프라 자동화하기

이전에 AWS로 3티어 아키텍처를 설계하여 웹서버를 구축 했었는데, 프리티어에서 작업 하다보니 인프라들을 계속 지웠다가 생성했다가 해줘야하는 번거로움이 있었다. 때문에 Terraform으로 인프라들을 코드화시켜 생성 및 삭제를 자동화 시켜보기로 했다. 아래 그림은 구축했던 아키텍처이다. 이 아키텍처를 바탕으로 AWS 인프라를 Terraform으로 코드화 시켜보자 구성하기 전에.. 1. Terraform이 설치되어 있어야 한다. 2. aws cli로 미리 access key 인증을 해줘서 provider에 key값이 들어가지 않도록 해준다. 3. 코드 작업은 Visual Studio Code에서 해준다. 1. Provider 지정 provider : aws를 프로바이더로 지정 region : aws의 ap..

DevOps/Terraform 2021.04.04

[Container] AWS ECR로 프라이빗 이미지 저장소 생성하기

ECR (Elastic Container Registry) AWS ECR은 컨테이너 이미지를 저장, 관리, 공유 및 배포할 수 있는 완전관리형 컨테이너 레지스트리이다. AWS ECR을 사용하면 자체 컨테이너 레포지토리를 운영하거나 기본 인프라 확장에 대해 걱정할 필요 없이 애플리케이션을 이미지화 시켜서 프라이빗 및 퍼블릭 저장소에서 관리한다. AWS IAM을 사용하여 리소스 기반 권한으로 프라이빗 이미지 저장소를 지원하여 EC2 인스턴스가 레포지토리 및 이미지에 액세스 할 수 있다. Docker hub의 역할을 ECR이 해줄 수 있으며, 개발자는 Docker CLI를 사용하여 이미지를 Push, Pull 하면서 관리할 수 있다. ECR 레포지토리에 Push 되어있는 이미지들을 사용해서 ECS나 EKS에서..

DevOps/Docker 2021.03.09

[CLI] AWS CLI 명령어 사용하기 (cli설치 및 구성, s3 파일 업로드)

AWS CLI (Command Line Interface) AWS CLI는 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구이다. AWS CLI를 사용하면 Powershell 이나 터미널에서도 AWS에서 제공하는 명령어 기능을 실행 할 수 있다. AWS 공식 홈페이지에서 CLI를 설치해주자. 나는 Windows용으로 .msi파일을 다운받아 주었다. docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2.html AWS CLI 버전 2 설치, 업데이트 및 제거 - AWS Command Line Interface 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 ..

AWS/AWS CLI 2021.03.03

인스턴스 스케줄러 사용하기 (EC2 인스턴스 타이머 설정)

AWS에서는 매달 750시간의 EC2를 프리티어로 제공하고 있다. 프리티어라고 하면 보통 공부용이나 간단한 실습용으로 쓰이기 때문에 750시간은 굉장히 많은 시간이라고 생각한다. 인스턴스 하나를 24시간 30일 내내 켜둔다고 해도 750시간이 안된다!! 하지만 여러개의 인스턴스를 관리해야 하는 경우가 발생했고, 일일히 관리 해주기가 매우 귀찮아졌다 ㅠ 웹서버를 운영하는 실습을 하면서 bastion 1대, web 2대, was 2대를 실행시키면 5대의 인스턴스가 작동하게 되는데 하루만 켜져있어도 벌써 24x5=120시간..... 글쓴이는 인스턴스 중지 시키는걸 까먹은 탓에 프리티어로 이번달에 제공하는 750시간을 거뜬히 넘어버려서, 새로운 aws계정을 만들어 다른 계정에서 다시 처음부터 실습을 진행하게 됐..

AWS/실습 2021.03.02