Amazon EKS(Elastic Kubernetes Service)에서는 클러스터 관리의 편의성과 기능성을 제공하기 위해 다양한 추가 기능(add-ons)을 제공한다. EKS 추가 기능들은 AWS 관리형 서비스를 통해 클러스터의 중요한 구성 요소들을 자동으로 관리할 수 있도록 도움을 준다. https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/eks-add-ons.html EKS 추가 기능들로 쿠버네티스 클러스터의 네트워킹, 보안, 로깅 및 모니터링 기능을 강화할 수 있다. AWS 콘솔 페이지에서 EKS 클러스터를 생성하는 경우 세가지 추가 기능이 자동으로 생성된다. 1. Amazon EKS kube-proxy2. Amazon VPC CNI plugin fo..
쿠버네티스를 사용하기 위해 바닐라 쿠버네티스를 설치하면, 컨트롤 플레인에 설정해야하는 오픈소스와 정책들이 많다. 결정해야하는게 많다는 것은 좋게보면 높은 자유도를 제공하는거지만, 나쁘게 보면 사용 허들이 높다. 그래서 여러 클라우드 벤더들은 컨트롤 플레인에서 결정해야하는 것들을 베스트 프랙티스로 제공해주는데, 이러한 제품들을 매니지드(Managed) 쿠버네티스라고 한다. 당연히 AWS에서도 매니지드 쿠버네티스 제품을 제공하는데, 이 제품이 Amazon Elastic Kubernetes Service(Amazon EKS)다. EKS 클러스터란?Amazon EKS 클러스터에는 두 가지 기본 구성 요소가 있습니다.1. Amazon EKS 제어 영역2. 제어 영역에 등록된 Amazon EKS 노드Amazo..
사실 AWS 리소스를 HCL로 정의하는 것 보다 선행되어야 하는 것들이 있다. Provider 설정과 AWS 인증에 관한 내용이었는데, 그 전까지는 별다른 설정없이도 잘 동작해서 필요했는지 잘 몰랐다. Provider부터 하나씩 알아보자.Terraform provider는 Terraform이 특정 기술 스택이나 API와 통신할 수 있게 해주는 플러그인이다.https://registry.terraform.io/browse/providers AWS용 Terraform provider는 AWS API와 통신하여 AWS 리소스를 생성, 관리 및 삭제할 수 있게 해준다.Provider는 Terraform이 관리할 수 있는 resource type과 data sources를 추가해서, Provider가 구현해놓은 ..
2024.04.18 - [개발/인프라] - Terraform AWS VPC 셋업하기 - 1 의 후속편 이전 포스팅에서 Terraform VPC 모듈을 이용해 구축하는 방법을 정리했었다. 어떻게보면 당연한 이야기지만 VPC 모듈 외의 요소들도 실 서비스에서 많이 사용된다. 진짜 다양한 리소스들이 있지만 내가 써본 것들 위주로 정리해볼 예정이다. AWS 엔드포인트(AWS EndPoint)VPC 엔드포인트를 사용하면 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 사용할 필요 없이 Virtual Private Cloud(VPC)와 지원되는 서비스 간에 연결할 수 있습니다. 따라서 VPC는 퍼블릭 인터넷에 노출되지 않습니다. 어떻게보면 구축하면 효과는 확실하지만 ..
Terraform, HCL(HashiCorp Configuration Language)을 이용해 AWS 바닥부터 구성해가고 있다. 공부를 제대로 시작하려면 HCL의 구성요소, 명령어, 사용법 등등을 알고 넘어가면 좋겠지만 내가 공부하는 스타일 상 너무 차근차근하면 시도조차 못해서 일단 시작해봤다.안전한 production 환경을 만들기 위해서 가장 먼저 구축되어야하는건 VPC이다. VPC에는 내부에 다양한 구성요소를 가지고 있는데 아래에 잘 설명해뒀다. 2024.04.16 - [개발/AWS] - 한 눈에 알아보는 AWS VPC(Virtual Private Cloud) 정리 내가 구축하려는 환경은 다음과 같다. 1. VPC2. Private/Public Subnet 각각 2개3. Private/Public..
DevOps와 AWS 인프라 부분에 집중할 수 있는 상황이됐다. 그동안 하시코프 언어에 대한 진입 장벽으로 관리가 어려웠던 IaC(infra as code), Terraform부터 차근차근 시작해보려고한다. AWS 자원들을 처음부터 테라폼으로 생성했다면 Terraform 으로 관리하기 편했겠지만, 이미 너무 많은 AWS 자원들이 Terraform으로 관리되지 않은 채 사용되고 있었다. 그렇다면 조금 불편하지만 수동으로 하나씩 가져와야 한다. terraform import라는 명령어를 이용하는 것인데 Terraform v1.5.0 이후 부터 지원한다. 두 가지 방법이 있는데, 둘 다 간단하다. 1. import.tf 파일 아래와 같이 작성한다. .tf 확장자만 지정해주면 파일명은 딱히 상관없다. impor..
현재 서비스는 대부분 Java/Kotlin으로 구현되어 있어 갑자기 진행된 Python 프로젝트를 어떻게 배포할까에 대한 고민이 있었다. 스케줄러로 하루에 한번돌기 때문에 부담은 없지만, 내부 패키지를 많이 사용하는 프로젝트다. 대략 3가지 방안이 논의됐다. 1. AWS Lambda에 배포 2. Spot EC2에 배포 3. 쿠버네티스 컨테이너에 배포 DB를 따로 사용하지 않기 때문에, 1번 방안부터 알아봤다. 결론부터 이야기하면, 해당 프로젝트에 이미지 프로세싱이 들어가있어서 AWS Lambda는 후보군에서 바로 제외됐다. 그래도 serverless 프레임워크를 써서 파이썬 Lambda를 생성해봤기 때문에 정리하고 넘어가려고한다. python만의 특이한 옵션들이 있어서 프로젝트 생성/관리에 조금 어려움이..
이전 글에서는 GitHub Actions에서 컨테이너를 만들고 ECR에 업로드까지 진행해봤다. 하지만 ECR에 업로드할 컨테이너 이미지를 만드는 과정에서 Dockerfile을 필요로하고, 빌드도 포함해야 한다. 이 과정이 불필요하게 프로세스를 잡아 먹기 때문에 아래와 같이 JIB을 이용해 이미지를 바로 생성한다. Jib는 애플리케이션을 컨테이너 이미지로 패키징하는 모든 단계를 처리합니다. Dockerfile을 만들거나 Docker를 설치하기 위한 권장사항을 알 필요가 없습니다. 구글에서 제공하는 JIB 공식 사이트에서 소개한 말인데 딱 적절하게 소개해 준 것 같다. 사용방법은 간단하다. 의존성은 따로 정의할 필요 없이 build.gradle 파일에 필요한 내용들을 작성하고, github acti..
- Total
- Today
- Yesterday
- MySQL
- 후쿠오카
- AWS
- Elastic cloud
- OpenFeign
- cache
- S3
- java
- Kotlin
- 스프링부트
- serverless
- AWS EC2
- elasticsearch
- ChatGPT
- OpenAI
- 티스토리챌린지
- springboot
- Spring
- lambda
- AOP
- GIT
- CloudFront
- Log
- 오블완
- docker
- openAI API
- EKS
- terraform
- JWT
- 람다
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |