일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백엔드
- MSA
- CICD
- bootcamp
- ec2
- goorm x kakao
- 스터디
- QueryDSL
- 오블완
- codebuild
- Spring Boot
- sqs
- goorm
- rds
- spring
- DynamoDB
- 개발자
- codedeploy
- jpa
- 자격증
- mapping
- aws
- s3
- orm
- serverless
- Redis
- CodeCommit
- 티스토리챌린지
- Docker
- backenddeveloper
- Today
- Total
목록스터디 (26)
gony-dev 님의 블로그
AWS SES(Simple Email Service)말 그대로 간단히 이메일을 보내는 서비스이다.SMTP 인터페이스나 AWS SDK로 사람들에게 메일을 보낸다.메일을 받기 위해서는 S3나 SNS, Lambda와 통합할 수 있다.Amazon OpenSearch Service해당 서비스는 Amazon ElasticSearch의 후속작이라고 생각하면 된다.DynamoDB에서는 PK나 인덱스를 통해서만 데이터를 쿼리할 수 있었다.하지만 OpenSearch 사용 시 일부만 매칭이 되어도 모든 필드를 검색할 수 있다.OpenSearch는 두 가지 모드로 클러스터를 프로비저닝할 수 있다.Managed Cluster물리적 인스턴스가 프로비저닝Serverless Cluster서버리스 상태로 프로비저닝Cognito나 IA..
암호화전송 중 암호화는 TLS 또는 SSL이라고 부른다.(TSL는 SSL의 가장 최근 버전)데이터 전송 전에 암호화가 되고 받은 후에 해독되는 원리로 작용한다.이는 네트워크와 서버의 소통을 위해 사용된다.TLS 인증서가 암호화를 지원한다.전송 중 암호화를 하는 이유?데이터를 전송할 때 공공 네트워크를 사용하는 경우도 있고, 데이터가 여러 다른 서버를 통해 지나가기 때문에 중간자 공격을 방어할 필요가 있기 때문이다."중간자 공격"은 중간의 서버가 데이터를 받고 서버로 전송 중인 패키지를 관찰해버리는 것을 말한다.이러한 이유로 우리는 HTTPS나 TLS, SSL을 원한다!TLS를 이용한 데이터 전송암호화와 해독을 위한 키는 어딘가에서 관리가 일어나고, 서버가 이 키에 대한 접근을 할 수 있어야 함을 나타낸다..
STS(Security Token Service) BasicSTS는 최대 1시간까지 임시 보안 자격 증명을 얻어 AWS 리소스에 바로 액세스할 수 있는 서비스이다.STS 요소들을 알아보자.(까만 부분이 시험 출제 높음)AssumeRole | 가장 핵심적인 계정이나 교차 내 역할을 추정하도록 한다.AssumeRoleWithSAML | 사용자가 SAML로 로그인한 경우, 사용자에게 임시 보안 인증을 부여한다.AssumeRoleWithWebIdentity | 사용자가 신분 제공자로 로그인하면 역할을 반환한다.- 요즘에는 Cognito 자격증명 풀을 사용한다.GetSessionToken | 사용자나 AWS 루트 계정에 MFA가 있는 경우를 말한다.GetFederationToken | 연합된 사용자의 임시 자격 ..
AWS Step FunctionsStep Function은 워크플로우를 상태 머신으로 모델링 하게 해준다.워크플로우 당 하나의 상태 머신을 가질 수 있다!JSON 형식으로 쓰이며, 워크플로우를 시각화하고 수행할 수 있다.워크플로우를 시작하기 위해 SDK API 호출을 사용할 수도 있고, API Gateway나 CloudWatch Event를 이용할 수 있다. 옆에 보이는 여러 박스들을 태스크라고 부르는데, 이 태스크 안에서 일어나는 상태들을 알아보자!태스트 상태는 상태머신에 어떠한 작업을 실행할 때 사용한다.람다 함수 호출AWS Batch 작업 호출ECS 태스크를 실행하고 완료되기까지 대기DynamoDB에 항목을 직접 삽입 등등태스크는 실행 중인 하나의 활동일 수도 있다.이 활동에는 Amazon ECS ..
Amazon CognitoCognito는 사용자에게 자격 증명을 부여해서 웹, 모바일 어플리케이션과 상호작용하게 한다.Cognito의 두 가지 하위 서비스:앱 사용자를 위한 로그인 기능API Gateway와 ALB를 통합Cognito Identity Pools (Federated Identity):AWS의 리소스에 바로 액세스할 수 있도록 임시 AWS 자격증명을 제공한다.Cognito 사용자 풀과도 통합 된다.Cognito와 IAM를 비교하면 IAM에 이미 사용자가 있더라도, Cognito는 AWS 외부에 자리한 웹/모바일 어플리케이션 사용자를 위한 것이다.Cognito User Pools(CUP)1. User Features웹/모바일 어플리케이션을 사용하는 유저들을 위한 서버리스 데이터베이스를 생성한다..
CDK BasicCDK는 프로그래밍 언어를 사용하여 클라우드 인프라를 정의한다.얼핏 CloudFormation과 비슷할 수 있지만 언어를 사용하여 정의한다는 것에 큰 차이를 둔다. 즉 상향이라는 것이다.코드는 cloudFormation 템플릿에 컴파일되며, 이를 통해 유연성이 높아지고 프로그래밍 언어를 사용할 수 있다.이렇게 하면 인프라와 어플리케이션 런타임 코드를 함께 배포할 수가 있게 된다.람다 함수ECS/EKS의 도커 컨테이너에 사용하면 좋다.CDK in a DiagramCDK CLI로 합성하여 CloudFormation으로 만들 수 있다. CDK vs. SAMSAM서버리스에 중점을 두고 있다.템플릿을 JSON이나 YAML 형식에 작성한다.람다를 사용해서 빠르게 시작할 수 있다.CloudFormat..
AWS SAMSAM은 Serverless Application Model의 약자로서버리스 어플리케이션을 개발하고 배포하기 위한 프레임워크이다.코드를 작성하고 SAM 프레임워크와 호환되는 YAML 형식의 구성 파일을 사용하게 된다.YAML 파일은 CloudFormation의 모든 항목을 지원하기에 SAM YAML 코드에서 출력, 매핑, 파라미터 리소스 등을 계속 사용할 수가 있다.SAM은 내부적으로 CodeDeploy를 사용하여 람다 함수를 배포할 수 있으며, API 게이트웨이, DynamoDB를 로컬에서 실행하는 데 도움을 준다. RecipeSAM은 레시피로 구성되며, 이는 템플릿 맨 위에 SAM 템플릿임을 나타내는 변환 헤더를 추가한다.그런 다음 코드를 작성하는데 CloudFormation을 사용하는 ..
AWS CodeDeployCodeDeploy는 어플리케이션 배포를 자동화해주는 배포 서비스이다.온-프레미스 서버, 람다 함수, ECS 서비스, EC2 인스턴스에 새로운 어플리케이션 버전을 배포한다.배포가 실패하거나, 알람이 트리거되면 자동으로 롤백을 시작할 수가 있다!appspec.yml인 파일을 사용하여 배포 방식을 정의할 수가 있다.CodeDeploy - EC2/On-preises Platform우리는 CodeDeploy를 사용하여 두 종류의 배포를 할 수 있다.하나는 in-place 배포, 다른 하나는 블루/그린 배포이다.CodeDeploy를 할 때는 CodeDeploy 에이전트를 타깃 인스턴스에 배포해야만 한다. 그 에이전트가 인스턴스 업데이트를 수행하기 때문이다.우리는 배포 속도도 정의할 수 있..
지금까지 섹션 24까지 진행하면서 우리는 AWS 리소스를 생성하고, AWS 프로그래밍 방식을 배우고, Beanstalk로 AWS에 코드를 배포하기도 하였다.하지만 이 모든 작업을 수동으로 하였는데, 이런 경우에 실수가 발생할 수 있다.우리는 이제 자동으로 AWS에 배포되는 방법을 배우고자 한다.CICDCICD에서 우리는 다음 사항들을 배울 것이다.AWS CodeCommit | 코드를 저장AWS CodePipeline | 코드에서 Elastic Beanstalk까지 파이프라인을 자동화AWS CodeBuild | 코드를 빌드하고 테스트AWS CodeDeploy | EC2 인스턴스에 코드를 배포AWS CodeStar | 하나의 장소에서 소프트웨어 개발 활동들을 관리AWS CodeArtifact | 소프트웨어 ..
DynamoDB - Optimistic Locking낙관적 잠금 기능은 조건부 쓰기를 수행한다.이는 업데이트나 삭제 전에 항목이 변경되지 않게 하는 것이다.각 항목들은 버전 번호로써 역할을 수행하는 속성을 갖게 된다. DynamoDB Accelerator(DAX)DAX는 DynamoDB에서 완전 관리형, 고가용성, 무결절성 인 메모리 캐시이다.캐시된 읽기와 쿼리에 마이크로초의 지연이 발생한다.이는 어플리케이션 로직에 어떤 변경을 요청하지 않고 존재하는 DynamoDB API에 호환된다.우리는 DAX를 통해 "Hot Key" 문제를 해결할 수 있다.Hot Key | 특정 키나 항목을 너무 많이 읽으면 RCU에 스로틀이 생기는 문제TTL은 캐시에서 기본 5분이다.클러스터에는 최대 10개의 노드를 가질 수 있..