분류 전체보기 40

Lambda Cold Start CloudWatch Events vs EventBridge

CloudWatch Events vs EventBridge특징CloudWatch EventsEventBridge기본 목적AWS 서비스에서 발생하는 이벤트를 처리AWS 및 외부 SaaS 서비스에서 발생하는 이벤트 처리출시 시기2015년2019년지원하는 이벤트 소스AWS 서비스 전용AWS 서비스 + 외부 SaaS 서비스 (Zendesk, Stripe 등)구조화된 이벤트기본적인 JSON 형식더 정교한 이벤트 구조와 포맷 지원버스 (Event Bus)단일 이벤트 버스만 존재여러 이벤트 버스를 생성 가능 (Custom Event Bus)라우팅 규칙간단한 규칙 기반 라우팅복잡한 조건을 지원하는 고급 라우팅 규칙비용저렴 (AWS 서비스 전용 이벤트에 최적화)약간 비쌈 (외부 이벤트를 포함하기 때문)외부 통합 지원지원..

AWS 2024.12.12

Lambda Cold Start 해결 방법 (Snapstart)

AWS Lambda SnapStart 작동 원리스냅샷 생성 (Snapshot)함수가 처음 배포되거나 업데이트될 때, AWS는 초기화된 함수의 실행 환경을 스냅샷 형태로 저장초기화 단계에서 클래스 로드, 종속성 주입, 네트워크 연결 등을 미리 처리스냅샷 복원 (Restore)함수 호출 시, 저장된 스냅샷을 기반으로 실행 환경을 빠르게 복원새롭게 컨테이너를 생성할 필요 없이 미리 초기화된 상태를 활용하므로 콜드 스타트 시간이 대폭 감소SnapStart의 장점콜드 스타트 시간 감소최대 10배 이상 빠르게 초기화(수 밀리초 단위)Java 함수에서 특히 유리함AWS 관리형 솔루션별도의 코딩 작업 없이 설정만으로 활성화 가능Java 런타임(11 및 17)에서 자동으로 지원비용 효율성별도의 지속적인 유지비가 없음(기..

AWS 2024.12.12

Lambda Cold Start 해결 방법

1. 프로비저닝된 동시성 (Provisioned Concurrency)설명Lambda 함수의 실행 환경을 미리 생성하여 콜드 스타트를 방지하는 방식입니다. 특정 동시성 수준만큼 환경을 항상 준비 상태로 유지장점콜드 스타트를 완전히 제거성능이 안정적으로 유지AWS 관리형 솔루션으로 설정이 간단단점비용이 발생: 프로비저닝된 환경이 항상 유지되므로 호출되지 않아도 비용이 부과됨트래픽 예측이 필요: 필요한 동시성 수를 정확히 설정해야 불필요한 비용을 줄일 수 있음비용프로비저닝된 동시성에 따라 추가 요금이 발생프로비저닝된 동시성 요금 = $0.0000041667/초 * 메모리 크기호출 요청 요금은 일반 Lambda 요금과 동일2. Warm-up 스케줄러설명CloudWatch Events 또는 EventBridge..

AWS 2024.12.12

서버 네트워크 카드 2개와 L4 두개 연결 Default Gateway

1. 기본 동작디폴트 게이트웨이(Default Gateway):서버는 특정 목적지를 명시하지 않은 패킷(예: 인터넷으로 나가는 트래픽)을 기본 게이트웨이(default gateway)를 통해 전송기본적으로, 서버는 하나의 기본 경로를 사용하며, 이 경로는 특정 NIC를 통해 트래픽을 전달문제점:요청이 NIC 1을 통해 들어왔는데, 기본 게이트웨이가 NIC 2로 설정되어 있으면 응답 패킷이 NIC 2를 통해 나가게 된다.이는 L4 로드 밸런서가 세션을 제대로 유지하지 못하게 하거나 트래픽이 예상치 못한 경로로 나가는 문제를 일으킬 수 있다.2. 요청이 들어온 NIC로 응답을 보내려면?(1) 정책 기반 라우팅(Policy-Based Routing)정책 기반 라우팅(PBR)을 설정하면, 들어온 요청의 경로를 ..

Network 2024.12.06

AWS Lambda Log 동적 변경

1. Lambda 환경 변수 변경 방법(1) AWS Management Console을 사용AWS Management Console에 로그인.Lambda 서비스로 이동.해당 Lambda 함수를 선택.구성(Configuration) 탭 > 환경 변수(Environment variables) 섹션으로 이동.LOG_LEVEL 값을 원하는 값으로 수정 (예: DEBUG, INFO, WARN, ERROR).저장 후 Lambda 함수가 재실행될 때 새로운 값을 읽어옵니다.(2) AWS CLI를 사용AWS CLI를 사용하면 환경 변수를 명령줄에서 업데이트할 수 있습니다.다음은 예제 명령입니다:aws lambda update-function-configuration \ --function-name MyLambda..

AWS 2024.11.29

CloudWatch Java 로그 작성 방법

1. AWS Lambda에서 CloudWatch Logs 작성하기AWS Lambda는 기본적으로 CloudWatch Logs와 통합됩니다. Java Lambda 함수에서 로그를 작성하는 방법은 여러 가지가 있습니다:(1) System.out.println 사용Lambda 함수의 표준 출력(System.out.println)은 자동으로 CloudWatch Logs로 전송됩니다.public class MyLambdaHandler implements RequestHandler { @Override public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) { Sys..

AWS 2024.11.29

vpc flow logs, cloudwatch, cloudtrail

1. VPC Flow Logs목적VPC Flow Logs는 VPC 네트워크 트래픽을 모니터링하는 데 사용됩니다. VPC, 서브넷, 또는 네트워크 인터페이스(ENI) 수준에서 송수신된 IP 트래픽을 기록합니다.역할네트워크 트래픽 분석: 허용/거부된 트래픽 확인.보안 감사: 예상치 못한 트래픽 또는 비정상적인 패턴 식별.문제 해결: 네트워크 연결 문제 디버깅.사용 방식생성 위치: VPC, 서브넷, 또는 특정 ENI에 대해 활성화.로그 데이터: S3, CloudWatch Logs로 저장 가능.포맷:Version: 로그 포맷 버전 (기본: 2).Source/Destination: 소스 및 목적지 IP/포트.Action: 허용(ACCEPT) 또는 거부(REJECT).Bytes: 전송된 데이터 양.사용법VPC Fl..

AWS 2024.11.28

Lambda Java DB 연결 변수 관리

1. 환경 변수로 관리하기AWS Lambda는 환경 변수를 제공하며, 이를 통해 환경별로 설정을 관리할 수 있습니다.Java 코드에서 환경 변수 사용package example;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DatabaseConnector { public Connection getConnection() throws SQLException { // 환경 변수에서 DB 연결 정보 가져오기 String dbUrl = System.getenv("DB_URL"); String dbUser = System.getenv("DB_U..

AWS 2024.11.18