전체 글 468

(AWS) SAM이란?

AWS Serverless Application Model (SAM)은 서버리스 구조로 Lambda 함수, 이벤트 소스 및 기타 리소스의 조합이다. 서버리스 애플리케이션은 단순한 Lambda 함수 그 이상입니다. API, 데이터베이스, 이벤트 매핑 등 추가 리소스를 포함할 수 있습니다. 생성을 하게되면 CloudFormation Stack에 추가됩니다. SAM 사용시 이점 단일 배포 구성.AWS SAM를 사용하면 관련 구성 요소 및 리소스를 쉽게 구성하고 단일 스택에서 작동할 수 있습니다. 다음을 수행할 수 있습니다.AWS SAM리소스 간에 구성 (예: 메모리 및 시간 초과) 을 공유하고 모든 관련 리소스를 버전이 지정된 단일 엔터티로 함께 배포합니다. 확장AWS CloudFormation. AWS Cl..

(AWS) Lambda Alias란?

Lambda의 버전관리는 다음과 같은 특징을 갖고 있다. 당신이 Lambda Function에서 작업하고 있다면 그것은 $LATEST 버전이다. Lambda Function을 배포할 준비가 되었다면 우리는 새로운 버전을 만들어야 한다. 그리고 만들어진 버전은 변경이 불가하다. 왜냐하면 스냅샷이기 때문이다. 버전별로 각 고유의 ARN을 가진다. 버전이란 "Code"와 "설정"의 조합이다. 그래서 수정이 불가하다. 모든 버전의 Lambda Function에 접근할 수 있다. 그래서 Alias를 사용하는데 Lambda Alias는 특정 함수 버전을 가리키는 포인터와 같다. 사용자는 Alias Amazon 리소스 이름(ARN)을 사용하여 함수 버전에 액세스할 수 있다. Alias의 특징은 다음과 같다. 사용자는..

(AWS) Lambda 에 대해서

Lambda 함수란 Lambda 함수 실행을 위한 Trigger 함수를 호출할 때 동기식으로 호출할 것인지 비동기식으로 호출할 것인지 선택할 수 있습니다. 동기식 호출의 경우 함수가 이벤트를 처리하여 응답을 반환하기를 기다립니다. 비동기식 호출의 경우, Lambda는 처리를 위해 이벤트를 대기열에 저장하고 즉시 응답을 반환합니다. 비동기식 호출의 경우 Lambda는 재시도를 처리하고, 호출 레코드를 대상에 보낼 수 있습니다. 함수를 동기식으로 호출하는 경우 Lambda는 함수를 실행하고 응답을 기다립니다. 함수가 완료되면 Lambda는 호출된 함수의 버전과 같은 추가 데이터가 포함된 응답을 함수의 코드에서 반환합니다. Amazon Simple Storage Service(Amazon S3), Amazon..

(AWS) Elastic Beanstalk의 CI/CD에 대해서

Elastic Beanstalk를 배포하는데 있어서 다음과 같은 전력이 가능하다. All at Once : 모든 인스턴스를 한번에 배포하나 Downtime발생 추가 자원이 필요하지는 않음 개발환경이 가벼워 금방 업데이트 된다면 괜찮은 방법 Rolling : 한번에 몇개의 인스턴스만 Rolling Update 업데이트 대상 인스턴스 갯수 지정가능 동시간에 v1 v2 모두 혼재 추가 자원이 필요하지는 않음 All at Once방식보다 시간이 더 걸림 Rolling with additional batches : Rolling 방식과 유사하나, 추가적으로 v2자원을 할당하고 개발이 완료된 후에 삭제하는 방식 Prod환경에 적합 적은 양의 추가 리소스 필요 업데이트 대상 인스턴스 갯수 지정가능 동시간에 v1 v2..

(AWS) Elastic Beanstalk란?

AWS Elastic Beanstalk란? AWS Elastic Beanstalk는 Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker를 사용하여 Apache, Nginx, Passenger, IIS와 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있는 서비스입니다. Elastic Beanstalk를 사용하면 코드를 업로드해서 용량 프로비저닝, 로드 밸런싱, 오토 스케일링, 애플리케이션 상태 모니터링, 배포를 자동으로 처리하도록 구성할 수 있습니다. 배포 완료 후 애플리케이션을 실행하는 데 필요한 AWS 리소스를 쉽게 제어할 수 있으며 언제든지 기본 리소스에 액세스할 수 있습니다. 사용법 1. Install the CLI 2...

(AWS) CloudFormation Stack Policy란?

Stack Poilcy란? 스택 업데이트 중 의도치 않게 업데이트되지 않도록 하려는 리소스를 정의합니다. 예를 들어 아래 예시에서 Resources.CriticalSecurityGroup은 업데이트가 되지 않도록 보호하고 싶을때 Stack Policy를 사용하면 좋다. 예시 # Read more here: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html Parameters: VPCId: Description: VPC to create the security group into Type: AWS::EC2::VPC::Id CidrSSH: Type: String Default: "0.0.0.0/..

(AWS) cfn-signal, cfn-get-metadata, cfn-hup 이란?

cfn은 CloudFormation 헬퍼스크립트를 뜻한다. cfn은 CloudFormation을 다루는데 용이한 기능을 제공하는데, CF Stack으로 생성된 EC2 인스턴스내에서 CLI로 실행할 수 있다. 1. cfn-signal이란? cfn-signal 헬퍼 스크립트는 Amazon EC2 인스턴스가 성공적으로 생성 또는 업데이트되었는지 여부를 나타내도록 CloudFormation에 신호를 보냅니다. 예시 AWSTemplateFormatVersion: 2010-09-09 Description: Simple EC2 instance Resources: MyInstance: Type: AWS::EC2::Instance Metadata: 'AWS::CloudFormation::Init': config: fil..

(JAVA) SpringBatch 사용을 위한 예제

전자정부 Spring Batch로 좋은 사용례를 보여주신 jydlove님께 감사드린다. 다만 해당 포스팅이 오래되다 보니 POM이 업데이트가 좀 필요했다. 그래서 재정비하고 아래에 포스팅 하였으니 참고하기 바란다. 출처 : https://jydlove.tistory.com/4?category=836164 개발 환경 설정 개발예제를 시작하기전에 프로젝트 설정에 필요한 내용을 정리해보자 전자정부프레임워크 메이븐 로컬 레파지토리 등록하기 메이븐 프로젝트 생성 후 pom.xml 설정하기 데이터 베이스 설치 1.로 jydlove.tistory.com 전자정부프레임워크 Spring Batch Guide https://github.com/eGovFrame/egovframework.rte.root/tree/master..

Programming/Java 2022.02.05

(AWS) CloudFormation Drift Detection, Status Code란?

Drift Detection 이란? Drift Detection은 CF Template이 정의했던 Resource가 실제로는 없거나 다르거나 하는 경우를 탐지하는 것이다. CF로 정의된 Resource를 사용자가 직접 수작업으로 수정하는 경우가 많다보니 이런 케이스가 발생한다. Drift Detection의 상세페이지로 들어가서 [Drifts] 메뉴에 들어간다. 'Detect Stack Drift'버튼을 클릭하면 탐지가 시작된다. Stack에 대한 Status Code 설명 스택 상태설명표 CREATE_COMPLETE 하나 이상의 스택을 성공적으로 생성했습니다. CREATE_IN_PROGRESS 하나 이상의 스택을 생성하고 있습니다. CREATE_FAILED 하나 이상의 스택을 생성하지 못했습니다. 연결..

(AWS) CloudFormation에서 Lambda Function 배포하기

CF에서 Lambda를 배포하는 방법은 다음과 같다. 1. 인라인 방식 : CF Template내에서 Lambda정의하기 템플릿 내에서 Lambda를 정의하는 방법이다. 아래에 보다싶이 Row가 매우 길어진다는 단점이 있다. 배포는 일반 CF Template배포하듯이 하면된다. 특이한점은 Lambda Function이 생성된후에 Lambda콘솔을 들어가 해당 Lambda Function을 보면 '이 Lambda Function은 CloudFormation Stack에 의해 생성된 것'이라고 표시된다. Template 사용 예제 Resources: ListBucketsS3Lambda: Type: "AWS::Lambda::Function" Properties: Handler: "index.handler" R..