일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스터디
- DynamoDB
- sqs
- 오블완
- s3
- QueryDSL
- backend
- backenddeveloper
- kakao
- 자격증
- Redis
- CICD
- spring
- mapping
- 티스토리챌린지
- orm
- MSA
- ec2
- Spring Boot
- 개발자
- rds
- codedeploy
- CodeCommit
- 백엔드
- jpa
- goorm
- Docker
- aws
- serverless
- codebuild
- Today
- Total
목록AWS (29)
gony-dev 님의 블로그
Lambda Layers람다 레이어는 두 가지 특징을 가질 수 있다. 1. Custom Runtimes원하는 언어로 커스터마이징하여 런타임을 설정할 수 있다.2. Externalize Dependencies to re-use them라이브러리를 재사용하기 위해 종속성을 외부화할 수 있다.람다 레이어를 통해 함수를 훨씬 빠르게 배포할 수 있고 종속성이 있을 때마다 매번 다시 패키징할 필요가 없다.또한 계층이 외부화되어 있으므로 다른 함수나 어플리케이션에서 다른 함수를 만들어 동일한 계층을 참조할 수 있다. 주의! 람다 계층의 데이터는 수정할 수 없다.Lambda File Systems Mounting람다 함수는 VPC 내에서 작동할 경우, EFS 파일 시스템에 액세스할 수 있다.그러기 위해서는 초기화하는..
서버리스란서버가 없는 상태가 아니라서버를 관리할 필요가 없는 상태를 의미한다.AWS Lambda람다를 설명하기에 앞서 EC2를 설명하자면 클라우드의 가상 서버라서 프로비저닝을 해야한다.또한 메모리와 CPU 크기가 제한되며 계속 실행해주어야 하는 특징이 있다.ASG로 스케일링이 가능하지만 이는 자동으로 추가해주고 삭제해야하는 것을 의미한다.하지만 람다는 가상의 함수로 관리할 서버 없이, 코드를 프로비저닝하고 함수를 실행한다.시간제한이 있어서 실행 시간이 짧지만 최대 15분이라 큰 단점은 아니다.on-demand로 실행되어 호출하지 않으면 실행되지 않아 비용도 호출 횟수에 따라 청구된다.스케일링 또한 자동화 되어 있다는 장점이 있다. Lambda의 장점Easy Pricing람다가 수신하는 요청의 숫자에 따라..
AWS X-Ray시험에 반드시 나오니 주의!발단운영 환경에서 디버깅할 때를 종종 마주한다.정석 방법은 로컬에서 테스트하고, 곳곳에 로그 구문을 추가하고, 운영 환경에 재배포하고 로그를 보며 잘못된 방법을 파악하는 방법이다.이러한 방법은 상당히 성가시기 때문에 AWS X-Ray를 사용한다. AWS X-Ray Visual analysis of our applicationsX-Ray는 어플리케이션에 대한 시각적 분석을 제공한다.이번 강의에서 어플리케이션에 요청을 수행하는 클라이언트 입장에서 요청이 얼마나 실패하고 성공하는지 확인할 것이다.아래 그림에서 볼 수 있듯이 EC2 인스턴스와 소통할 때 일어나는 일을 시각적으로 파악할 수 있다. X-Ray Advantages성능 트러블슈팅이 가능하고 병목 현상을 식별할..
AWS Monitoring모니터링이 중요한 이유?우리는 지금까지 AWS에 대해 배워오면서 어플리케이션을 배포하는 방법을 알아왔다.그것도 안전하고, 자동적이고, 인프라 시설을 사용하면서 말이다.하지만 우리의 어플리케이션이 배포가 되어도, 사용자들은 이 어플리케이션의 구축 방법에는 별로 관심이 없다.오로지 그들은 작동 여부만 따진다.그래서 어플리케이션의 지연이나 정지가 발생이 일어나기 전에 문제를 해결할 수 있도록 트러블 슈팅을 수행하는 것이 바람직하다.Monitoring in AWSAWS CloudWatch를 통해 모니터링을 수행할 수 있다:Metrics: 지표를 수집한다.Logs: 로그를 수집하고 로그 파일을 분석한다.Events: 특정 이벤트가 발생했을 때 알림을 보낸다.Alarms: 지표 이벤트 및 ..
KinesisKinesis는 스트리밍되는 데이터를 실기간으로 수집, 처리 및 분석하도록 도와준다.어플리케이션 로그, 지표, 웹사이트 클릭스트림, IoT 원격 데이터 등 실시간 데이터 어느 것이든 될 수 있다.그 중 Kinesis Data Streams는 데이터 스트림을 입력, 처리 및 저장할 수 있고,Kinesis Data Firehose는 내부나 외부의 데이터 스토어로 데이터를 로드한다.Kinesis Data Analytics는 SQL이나 Apache Flink를 통해 데이터 스트림을 분석한다.Kinesis Data StreamsKinesis Data Streams는 1개 이상의 샤드로 이루어져 있으며, 이 샤드는 사전에 프로비저닝되어 있어야 한다.모든 샤드에 걸쳐 데이터는 분산되고, 샤드가 수집 및 ..
여러 개의 어플리케이션을 배포하려고 할 때, 어플리케이션들은 서로 소통을 해야할 필요가 있다.여기 두 가지의 어플리케이션 의사소통 패턴이 있다.1. Synchronous communications- 어플리케이션이 또 다른 어플리케이션과 직접 연결된다.- 예시로 구매 서비스와 배송 서비스의 직접적인 연결이 있다.2. Asynchronous / Event based- 미들웨어가 어플리케이션을 연결한다. 직접적으로 연결되어 있지 않다는 의미이다.- 위와 같은 예시로 구매 서비스가 'queue'라는 대기열에 메시지를 전달한다. 그러면 배송 서비스는 대기열에게 구매 내역을 물어보고 메시지를 받아 행동을 취한다.Amazon SQSSQS의 핵심은 대기열이다.SQS 대기열에는 메시지를 포함하며, 메시지를 담기 위해서는..
AWS CloudFormationCloudFormation은 코드를 사용하여 AWS 인프라의 모든 리소스를 정의하는 방법이다.원하는 것을 선언하고 선언문을 말하면 CloudFormation은 사용자가 지정한 정확한 구성을 사용하여 올바른 순서로 해당 항목을 생성한다.수동 구성이나 수동 작업이 필요없으며 자동으로 프로비저닝 된다.CloudFormation이 어떻게 구성되어 있는지 확인하고 싶다면 'Application Composer'를 사용하여 이 인프라를 시각화하여 볼 수 있다. 1. CloudFormation을 사용하는 이유?코드로 표현된 인프라이다.이 말은 리소스가 수동으로 생성되지 않기에 제어 측면에서 매우 뛰어남을 뜻한다.Git 등을 사용하여 버전 제어에 사용될 수 있다.인프라에 대한 모든 변..
지금까지 우리는 아래와 같은 아키텍쳐를 통해 어플리케이션을 배포해왔다. 로드밸런서는 사용자의 모든 요청을 처리하고, 여러 가용 영역을 가진 오토 스케일링 그룹이 있고, 각 AZ에는 일부 EC2 인스턴스가 배포된다. 백엔드에는 데이터 서브네이 있을 수도 있다. 그래서 RDS와 읽기 전용 복제본 등이 있을 수 있다. 또한 캐싱 레이어가 필요하다면 ElastiCache를 살펴보아야 한다. 배포할 애플리케이션이 많고, 이들이 동일한 아키텍쳐를 따를 경우 반복적인 작업이 번거로울 수 있다.따라서 개발자로서 코드를 배포하기 위해 인프라를 관리하는 것은 복잡하다.또한 모든 데이터베이스, 로드 밸런서 등을 일일이 구성하고 싶지 않고, 모든 것이 확장되기를 원한다.지금까지의 학습을 통해 보면 대부분의 웹 어플리케이션들은..
Docker란?도커는 앱 배포를 위한 소프트웨어 개발 플랫폼이다.컨테이너에 앱이 패키징되는데 컨테이너는 표준화되어있어서 아무 운영체제에나 실행할 수 있다!!행위 특성도 예측이 가능해서 작업을 덜어주고, 유지 및 배포가 쉬우며, 언어, 운영체제, 기술에 상관 없이 실행이 가능하다는 장점이 있다.Docker images stored도커 에이전트를 실행하면 도커 컨테이너를 실행할 수 있다.도커 이미지는 도커 리포지토리에 저장된다.여러 리포지토리들을 알아보자Docker Hub퍼블릭 리포지토리로 많은 기술에 맞는 기본 이미지를 찾을 수 있다.Amazon ECR프라이빗 리포지토리퍼블릭 리포지토리로는 'Amazon ECR Public Gallery'가 있다.Docker vs. Virtual Machines도커도 가상..
Object Encryption다음 네 가지 방법 중 하나로 S3 버킷의 객체를 암호화 할 수 있다!Server-Side Encryption(SSE)S3 Managed Keys로 암호화 한다.이것은 버킷과 객체에 기본적으로 활성화되어 있다.KMS 키로 암호화 키를 관리해서 암호화 하는 SSE-KMS가 있다.사용자 제공 키인 SSE-C도 있다. 직접 암호화 키를 제공하는 방식이다.Client-Side Enccryption클라이언트 측에서 암호화한 다음 S3에 업로드 하는 방식이다.1. SSE-S3이 암호화에서 사용되는 키는 AWS에서 관리하고 소유한다. 사용자는 건드릴 수 없으며 AWS 서버 측에서 객체를 암호화한다.암호화 보안 유형은 AES-256헤더에 반드시 'x-amz-server-side-encry..