◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇ Lambda@Edge = Lambda + CloudFrontLambda@EdgeLambda@Edge는 Lambda를 통해 CloudFront의 Edge Location에서 코드를 실행할 수 있도록 지원하는 서비스이다.전 세계에 분산된 CloudFront Edge Server에서 Lambda 함수를 실행하여 더 낮은 대기 시간로 콘텐츠를 전달한다.Lambda@Edge는 us-east-1 리전에서만 작성 가능하다. (다른 리전에서 작성할려하면 에러가 띈다)Lambda@Edge는 현재 Node.js와 Python으로만 작성할 수 있다.Maximum Memory 사이즈: 128MB, Timout : 5초 CloudFront Event에 ..
전체 글
◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇ GetItem과 BatchGetItem은 DynamoDB에서 데이터베이스의 항목을 조회하는 데 사용되는 API이다. GetItemGetItem은 DynamoDB에서 단일 항목(아이템)을 조회하는 API이다.요청 시 지정한 기본 키(primary key)로 단일 아이템을 검색한다.aws dynamodb get-item \ --table-name YourTableName \ --key '{"YourPrimaryKeyAttributeName": {"S": "YourPrimaryKeyValue"}}' https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_..
◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇ SDK, Software Development KitAWS SDK SDK(Software Development Kit)는 애플리케이션의 코드 내에서 AWS를 쉽게 사용할 수 있도록 다양한 프로그래밍 언어에서 제공되는 라이브러리와 도구 모음이다.그래서 비교적 SDK는 개발자에게 친숙한 도구이다.AWS SDK를 사용하면 AWS의 서비스(예: EC2, S3, DynamoDB)를 코드에서 직접 호출하고 관리할 수 있다. SDK 사용법먼저, 사용하려는 프로그래밍 언어에 맞는 SDK를 설치해야 한다. 각 언어에 맞는 설치 방법이 있다AWS SDK에는 버전이 있으며 가장 최선 버전은 V3이다 (2024년 기준)https://docs.aws...
◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇ SAM (Serverless Application Model)SAM은 Serverless 애플리케이션을 배포하는 데 사용하는 오픈 소스 프레임워크이다.SAM은 CloudFormation의 확장 기능이다 → 배포 과정에서 SAM Template이 CloudFormation Template으로 변환Serverless 서비스인 Lambda, API Gateway, DynamoDB, S3 등을 배포한다. 💭 그럼 CloudFormation이 있는데 SAM은 왜 있는가???CloudFormation와 AWS SAM은 모두 인프라를 코드로 관리하는 도구이지만, SAM은 Serverless 애플리케이션에 특화되어 있으며, 개발자에게 보다..
◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇ CI/CD (Continuous Integration/Continuous Delivery)AWS의 CI/CD 툴AWS에서 제공하는 대표적인 CI/CD 툴은 다음과 같다.AWS CodePipelineAWS CodeCommitAWS CodeBuildAWS CodeDeployAWS CodeGuru AWS CodeArtifactAWS CodeStar ... 서비스 종료 CI/CD PipelineAWS CodePipelineAWS의 CI/CD 프로세스를 자동화 하는 서비스이다. CI/CD의 Build, Test, Deploy의 프로세스를 설정한다.쉽게 말하자면, AWS의 CI/CD 툴(CodeCommit, CodeBuild, Co..
야레야레 못말리는 Jenkins Jenkins (젠킨스)Jenkins는 오픈 소스 툴(거의 무료)로 CI/CD 파이프라인을 구축하고 관리하는 데 사용된다.소프트웨어 개발에서 개발자가 코드 변경을 Commit 할 때마다 Jenkins는 자동으로 Build(빌드)를 실행하고, 유닛 테스트와 Deploy(배포) 등의 작업을 자동화한다.Use Case개발자가 새로운 코드를 버전 관리 시스템(예: Github 또는 Gitlab)에 Commit 하면 Jenkins가 자동으로 빌드, 테스트, 패키징, 배포를 실행.GitHub에 코드가 푸시되면 Jenkins가 이를 감지하여 빌드를 시작.Maven이나 Gradle과 같은 빌드 도구를 사용하여 애플리케이션을 build하고, JUnit과 같은 테스트 프레임워크로 Unit ..
·네트워크
"Throttlie"의 일반적인 영어 뜻 목을 조르는 행위 ThrottlingThrottling은 시스템(예: API)에 과부하나 과도한 요청을 처리하지 못하도록 성능이나 요청 수를 제한하는 기술이다. 주로 서버나 서비스의 성능을 보호하기 위해 사용된다. 작동 방식요청 제한: 특정 시간 내에 처리할 수 있는 요청 수를 제한하기예를 들어, 초당 100개의 요청만 허용한다면, 그 이상 요청이 들어올 경우 "Throttle" 되어 요청이 실패된다.
·네트워크
Exponential BackoffExponential Backoff는 네트워크 요청 실패 시 재시도하는 방법이다.실패할 때마다 재시도 간격을 점점 더 길게 설정하는 방식이다.특히 API 호출, 네트워크 통신, 서버와의 상호작용 등에서 서버 과부하나 네트워크 지연으로 인한 오류가 발생할 때 사용된다.Exponential 뜻: 기하급수적인, 지수 함수적으로 늘어나는Backoff 뜻: 주로 컴퓨터 네트워크나 시스템에서 오류가 발생했을 때, 반복적인 시도를 점차적으로 지연시키는 방식 Exponential Backoff 작동 방식 (예시)첫 번째 재시도: 1초 대기 후 재시도두 번째 재시도: 2초 대기 후 재시도 (대기 시간을 2배로 증가)세 번째 재시도: 4초 대기 후 재시도 (다시 2배로 대기 시간 증가)..