AWS
-
AWS RDS connection 옵션 확인하기AWS 2023. 11. 25. 00:01
개요 [53300] FATAL: remaining connection slots are reserved for non-replication superuser and rds_superuser connections RDS에 접근하기 위해 User와 Password를 입력하였는데 자꾸 이런 에러가 발생했다.. 배포한 서버에서도 connection이 없다는 warn로그가 발생.. 저 에러는 왜 발생하는 거지? aws docs에 따르면 max connection보다 커넥션을 더 생성할 수 없어서 발생합니다. https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Managing.html#AuroraPostgreSQL.Managin..
-
[AWS] ECR이란?AWS 2023. 10. 10. 00:01
AWS ECR이란? Amazon Web Service Elastic Container Registry의 약자로 AWS에서 제공하는 Docker 이미지 등의 컨테이너 이미지를 등록할 수 있도록 제공하는 서비스입니다. Docker Hub에서 제공하는 이미지 등록기능을 AWS 에서 제공합니다. IAM을 통하여 이미지에 대한 액세스를 제어하고, S3에 저장하기 때문에 고가용성이 유지됩니다. 코드를 작성하고 Docker Image로 만들기 -> Amazon ECR에 저장 -> 이미지를 가져와 ECS, EKS, On-Premise 등에서 어느 곳이던 실행 AWS ECR의 구성요소 Registry - 각 계정마다 제공되며 하나 이상의 Repository를 생성할 수 있습니다. Repository - Docker 이미..
-
[AWS] SQS 가시성제한 0초 설정AWS 2023. 8. 2. 00:01
개요 Server가 여러 대의 Instance로 구성되어 있을 때 동기화를 위해 모두 SQS 메시지를 Consume 하게 하고 싶습니다. 예를 들어 @SqsListener를 가지는 Instance가 10대라면 동일한 메시지에 대해서 10번의 Consume이 발생하는 것입니다. 이를 테스트하기 전 다음과 같은 가설을 세워보았습니다. 가설 1 - 가시성 제한 0초 위의 요구사항을 구현하기 위해 가장 중요한 것은 가시성제한입니다. 가시성 제한은 기본적으로 30초이며 하나의 Consumer가 메시지를 읽고 있으면 30초간 다른 Consumer는 해당 메시지를 읽을 수 없습니다. 이 가시성 제한을 0초로 설정하면 모든 Consumer가 메시지를 읽을 수 있지 않을까요? 가설 2 - 네트워크 지연 하지만 네트워크 ..
-
Amazon MSK란?AWS 2023. 7. 27. 00:01
Amazon MSK란? MSK는 Managed Streaming for Apache Kafka의 약자로 AWS에서 제공하는 완전 관리형 서비스로, 실시간 데이터 스트리밍을 위해 Apache Kafka를 사용하는 애플리케이션을 쉽게 빌드하고 실행할 수 있도록 지원합니다. Apache Kafka는 높은 처리량, 내결함성, 확장성으로 잘 알려진 오픈 소스 분산 이벤트 스트리밍 플랫폼입니다. 기본 인프라 관리 작업을 처리하여 클러스터의 설정, 관리 및 운영을 간소화하여 개발자가 애플리케이션 구축과 데이터 처리에 더 집중할 수 있도록 해줍니다. Apache Kafka clusters 직접 구성해서 사용하는 것에 비해 제공되는 이점 하드웨어 구성 소프트웨어 설치 및 구성 유지 관리 작업 모니터링 확장성 고가용성 보..
-
[AWS] Lambda Cold Start 해결방법AWS 2023. 7. 5. 00:01
Lambda Cold Start란? 람다 함수를 실행하면 바로 함수가 실행되지 않습니다. 컨테이너 환경이 필요한데 함수를 실행한 직후 컨테이너가 유지됩니다. 하지만 함수를 처음 실행하거나 마지막으로 실행한 지 오래되었다면 컴퓨터 전원이 꺼진 것처럼 컨테이너도 존재하지 않습니다. 이에 따라 람다 함수는 경우에 따라 초기 응답이 늦을 수 있고 이를 콜드 스타트라 합니다. 언어별로도 Coldstart time이 다르게 나타납니다. Python, Node 같은 경우 상당히 빠르지만 c#, java는 느립니다 해결방법 0. 빠른언어를 사용한다. (node, python) 1. 자체적인 Warm Start로 만들기 2. Lambda의 사양(메모리)을 올린다 3. Provisioned Concurrency를 사용한다..
-
[AWS] Lambda + API GatewayAWS 2023. 7. 4. 00:01
Lambda와 트리거 람다의 트리거 추가를 볼 수 있습니다. 트리거란 람다 함수를 실행할 이벤트를 말합니다. API Gateway가 호출되면 람다함수가 실행되도록 해보고자 합니다. 트리거 추가 : API Gateway 이외의 값들은 기본설정으로 추가합니다. 이후에는 호출할 수 있는 API 엔드포인트가 부여되고 여기에 접속할 수 있습니다. 실행 결과 {"message":"Internal Server Error"} 모니러팅 -> 로그 -> LogStream으로 들어가서 로그를 확인해 보았을 때 다음과 같은 예외가 발생하였습니다. [ERROR] KeyError: 'key1' Traceback (most recent call last): File "/var/task/lambda_function.py", line..
-
[AWS] Lambda란?AWS 2023. 7. 3. 00:01
AWS Lambda란 무엇일까? AWS Lambda란 서버를 배포하거나 관리하지 않고 코드를 실행할 수 있도록 하는 컴퓨팅 시스템입니다. AWS에서 내부적으로 고가용성을 지원해 주기 때문에 Lambda가 지원하는 언어로 코드를 제공하기만 하면 됩니다. 코드를 실행하지 않으면 요금은 부과되지 않습니다. 기본적으로 Event Driven 방식으로 동작하며 API Gateway와 Elastic Load Balancer와 HTTP 요청을 처리할 수 있습니다. 또한 S3, DynamoDB, Kinesis 등에서 발생하는 이벤트를 트리거로 실행하는 것도 가능합니다. 이러한 이유로 대게 서버리스 솔루션중하나로 많이 사용됩니다. AWS Lambda의 요금 사용한 만큼만 부과됩니다. 함수 호출 요성 수와 코드를 실행하는..
-
[AWS] Amazon API Gateway란?AWS 2023. 6. 17. 00:01
Amazon API Gateway란? Gateway는 컴퓨터 네트워크에서 서로 다른 통신망을 사용하는 장치들의 입구 역할을 하는 네트워크 포인트를 뜻합니다. 즉, API로 도달하기 위한 통로(정문/대문)입니다. 클라이언트에서 서버를 호출할때 프록시의 역할을 수행하며 이를 통해 하나의 endpoint(예를들어 https://my-example-gateway/)를 바라보게 해줍니다. AWS에서 제공하는 완전 관리형 서비스이며, 애플리케이션의 정문 역할을 하여 백엔드 서비스 및 리소스와 안전하고 효율적으로 연결할 수 있도록 합니다. 또한 트래픽관리를 해주기 때문에 수십만 개의 동시 API 호출을 처리할 수 있습니다. 왜 Amazon API Gateway를 사용할까? 클라이언트에서는 다양한 도메인(상품/결제/회..