AWS26 도커 이미지를 빌드해서 ECR에 Push 하기 회사에서 AWS 서비스 내에서 도커 이미지가 필요한 경우 대부분 저장소로써 AWS ECR(Elastic Container Registry)에 저장해 놓고 불러서 쓴다. 이번에 AWS Batch를 이용하기 위해 도커 이미지를 빌드해서 사용해야 해서 그 과정을 기록해 놓으려 한다. 원하는 도커 이미지를 빌드해보자. 이번에는 AWS Batch에서 주기적으로 JAR 파일을 실행할 수 있도록 하는 이미지가 필요 했다. JAR 파일을 실행하기 위해서는 JAVA 설치가 필요했고, JAR파일을 다운받을 수 있도록 S3 접근이 가능해야 했다. 1. Dockerfile 작성 FROM amazonlinux:2 RUN \ yum update -y && \ # java-11-amazon-corretto : 아마존 리눅스 용 자.. 2022. 9. 25. AWS SAM을 이용해 Fast API를 AWS에 서버리스로 배포하기 회사에서 Lambda와 API Gateway를 이용해서 간단한 API들을 꽤나 여러개 만들 일이 있었다. 처음에는 API 엔드포인트 하나당 하나의 Lambda 함수를 생성하고, API Gateway의 리소스/메소드도 생성해서 연동시켜주는 방식으로 작업했다. 한두개의 API를 만들어서 배포할때에는 좋은 방법이겠지만... 여러개를 만들어야 하는 상황에서는 매우 번거롭고 작업 속도가 나지 않았다. 좀 더 효율적인 방법을 찾아보던 중, Fast API를 생성해서 서버리스로 AWS Lambda에 등록하고 API Gateway에 배포할 수 있는 방법이 있어 시도해 보았다. 결과적으로는 이전에 3개 만들던 시간에 6개정도를 만들 정도로 효율이 좋았고 관리에도 용이했다. Fast API를 Lambda에 올리는 방법은 .. 2022. 9. 18. Ingress 사용을 위한 AWS Loadbalancer Controller 설치 이번에 구성하는 클러스터에 인그레스를 적용하고자 한다. 인그레스는 인그레스 컨트롤러가 있어야 동작해야 하는데, AWS에서는 AWS Loadbalancer Controller가 Ingress Controller의 역할을 수행한다. 💡 Ingress란? 인그레스는 클러스터 외부에서 클러스터 내부 서비스로 HTTP와 HTTPS 경로를 노출한다. 트래픽 라우팅은 인그레스 리소스에 정의된 규칙에 의해 컨트롤된다. 또한, 인그레스는 외부에서 서비스로 접속이 가능한 URL, 로드 밸런스 트래픽, SSL / TLS 종료 그리고 이름-기반의 가상 호스팅을 제공하도록 구성할 수 있다. 1. IAM OIDC 공급자 생성 AWS Loadbalancer Controller를 설치하기 전에, 클러스터에 대한 AWS Identit.. 2022. 9. 4. EKS Managed node group 구성 쿠버네티스 클러스터는 여러개의 노드로 이루어져 있는것인데, AWS EKS를 이용한다면 Master Node는 AWS 에서 제공 및 관리해주므로 Worker node들만 구성해 주면 된다. 이때, AWS에서는 노드의 유형을 세가지를 제공한다. 여기서는 EKS 관리형 노드그룹(Managed Node group)을 사용한다. 관리형 노드그룹은 나머지 두개의 노드유형인 자체관리형 노드그룹과 AWS Fargate 의 중간 기능(?)의 유형이다. 관리형 노드 그룹은 클러스터의 노드(Amazon EC2 인스턴스) 프로비저닝 및 수명 주기 관리를 자동화하여 자체관리형 노드그룹보다 관리가 간편하다. AWS Fargate는 직접 최적화 및 설정을 할 필요 없이 AWS에서 완전히 관리해 주는 서비스이나, 다른 노드유형보다 .. 2022. 8. 28. 이전 1 2 3 4 5 6 7 다음