Amazon DynamoDBFine-Grained Access Control (세분화된 액세스 제어)특정 사용자가 DynamoDB 테이블의 특정 항목(Item)에만 접근 할 수 있도록 제한하는 기능이다.이를 통해 데이터를 더 안전하게 관리할 수 있으며, 각 사용자가 자신과 관련된 데이터만 보거나 수정할 수 있도록 만들 수 있다.DynamoDB의 특정 항목에 대한 접근 제한은 IAM Policy를 통해서 설정할 수 있다.그리고 설정한 IAM Policy는 Cognito를 통해 동적으로 할당할 수 있다. 🎮 예시)게임 앱에서 각 플레이어는 자신의 데이터만 볼 수 있어야 하고, 다른 플레이어의 데이터에 접근하면 안 됨PlayerID를 파티션 키로 사용하여 IAM Policy로 각 플레이어가 자신의 Play..
클라우드(AWS)/DVA-C02
Amazon CloudWatch 커스텀 메트릭 : 공식 문서PutMetricDataPutMetricData는 custom metrics(사용자의 커스텀 메트릭)을 기록할 때 사용하는 API이다.이를 통해 애플리케이션에서 특정 성능 지표를 직접 CloudWatch로 전송하여 모니터링할 수 있다.PutMetricData가 필요한 이유기본적으로 AWS 서비스는 CloudWatch에 로그 기록을 자동으로 전송한다.하지만 요건사항에 따라 AWS 서비스에서 지원하지 않는 메트릭을 사용해야 할 경우가 있을 수 있다.이런 경우 CloudWatch Agent나 API(예: PutMetricData)를 사용해 커스텀 메트릭을 CloudWatch에 전송할 수 있다. 참고 자료 🤔 문제 1개발자가 Amazon EC2 인스턴..
Server-Side Encryption, SSEKinesis Stream 서버 측 암호화Kinesis Data Streams에서 저장 중 데이터(Encryption at Rest)를 데이터를 암호화하여 보호하는 기능이다.이 기능은 Key Management Service(KMS)를 활용하여 데이터를 자동으로 암호화하고 복호화하며, 데이터의 기밀성과 보안을 강화한다. 자세한 내용 🤔 문제한 웹 애플리케이션이 클릭스트림 데이터를 처리하기 위해 Amazon Kinesis Streams를 사용 중이며, 데이터는 최대 12시간 동안 소비되지 않을 수 있습니다. 개발자는 Kinesis Streams에 저장된 데이터에 대해 저장 중 암호화(encryption at rest)를 어떻게 구현할 수 있습니까? Ki..
CloudFormation Change SetsCloudFormation에서 Stack(스택)을 업데이트하기 전에, 변경 사항이 기존 리소스에 미칠 영향을 미리 확인할 수 있는 기능이다. 어떤 리소스가 추가, 수정 또는 삭제될지를 미리 예측할 수 있다.🤯 예시기존의 EC2: t2.micro를 사용 중Resources: MyEC2Instance: Type: AWS::EC2::Instance Properties: InstanceType: t2.micro 수정된 EC2: t2.2xlarge로 변경Resources: MyEC2Instance: Type: AWS::EC2::Instance Properties: InstanceType: t2.2xlarge # 인스턴스 ..
DynamoDB에 관한 총 정리: https://jibinary.tistory.com/277 [AWS] DynamoDB란? 쉽게 기능 총정리 (NoSQL, Key-Value, Secondary Index, GSI, LSI, Global Table, DAX, WCU/RCU, Capacity Mo◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇ Fast NoSQL Key-Value DatabaseAmazon DynamoDBServerless 서비스: 서버, OS 관리 등 모두 AWS 측에서 Fully managed 해준다.NoSQLjibinary.tistory.com DynamoDB Read Consistency (읽기 일관성)Consistency 모델은 Read(읽기) 요..
Elastic Beanstalk 새로운 애플리케이션 버전을 배포하는 방법 👩🏫 애플리케이션 준비: 애플리케이션 코드를 .zip 형식으로 패키징한다.(.zip 파일에는 애플리케이션 코드와 함께 Elastic Beanstalk의 설정 파일(예: Dockerrun.aws.json, Procfile, web.config 등)이 포함되어야 한다) [AWS Management Console]Elastic Beanstalk > Applications > 자신의 애플리케이션 선택 > Application versions > Upload and Deploy 클릭– 애플리케이션의 .zip 파일을 선택하여 업로드한다.– 새로운 애플리케이션의 버전을 클릭하여 Deploy한다.자세한 내용 [AWS CLI]S3 buck..
Scenario (시나리오)애플리케이션을 개발 중이며 개발 코드는 CodeCommit에 저장한다.CodeCommit에 Pull Request 생성 또는 업데이트 시 AWS CodeBuild로 Unit Test를 실행하고싶다.CodeBuild의 Unit Test 작업은 개발자들이 새로 만든 Lambda 함수를 통해 실행하고 싶다아키텍쳐Pull Request 생성 > CodeCommit (EventBridge가 Lambda를 trigger) > CodeBuild (Lambda가 Unit-Test 실행) CodeCommit: 소스 코드 저장소로 Pull Request 이벤트가 생기면 lambda를 trigger한다.EventBridge: CodeCommit 이벤트와 Lambda 함수 연계.Lambda: Cod..
CodeDeploy가 bundle을 가져올 수 있는 소스애플리케이션의 코드를 배포하기 위해서 build 하여 bundle을 만들었다면 이를 CodeDeploy를 통해 배포해야한다.이 때, CodeDeploy는 bundle을 다음 두 가지 Source 에서 가져올 수 있다.Amazon S3Github1. Amazon S3 .zip, .tar, .tar.gz 파일 형식으로 bundle을 S3 버킷에 업로드한다.CodeDeploy로 배포시, 업로드한 S3의 URI를 지정해야 한다예: s3://bucket-name/folder/deployment-bundle.zip 2. GitHubGitHub 리포지토리에서 소스 코드 및 번들을 직접 가져올 수 있다. OAuth 토큰을 사용하여 인증하고, 특정 브랜치 또는 커밋..