본문 바로가기

전체 게시물

(200)
[AWS] IMDSv1과 IMDSv2 비교 글을 작성하게된 계기현재 Pulumi 기반 IaC 도구로 EC2 인스턴스 생성 자동화를 진행 중이다. 인스턴스 생성 시 User Data를 적용하고, 이 데이터를 기반으로 CloudWatch 대시보드까지 한 번의 프로세스로 만들어내는 작업을 수행하고 있다. CloudWatch 대시보드에는 생성된 인스턴스의 ID, Name, EBS, EFS 등 인스턴스 생성 후 확인 가능한 메타데이터 값들이 포함되어야 했다. 이 값을 동적으로 조회하기 위해 IMDSv2 방식을 사용했다. 처음에는 "IMDSv2 방식으로 인스턴스 정보를 동적으로 가져올 수 있다" 정도로만 알고 있었지만, IMDSv1과 v2의 차이점과 정확한 개념은 명확하지 않았다. 이번 기회에 IMDS의 동작 방식, v1과 v2의 차이, 그리고 v2가 어떤..
[AWS] AWS KMS(Key Management Service) CMK (Customer Master Key)CMK는 KMS에서 생성되어 HSM 내부에서 관리되는 마스터 키CMK의 역할:Data Key 생성: GeneratedDataKey API(KMS에서 제공) 호출 시, HSM 내부에서 CMK를 사용해 Plaintext Data Key와 Encrypted Data key를 생성Key Rotation: CMK에 대한 키 회전을 자동 또는 수동으로 수향CloudTrail 로깅: CMK를 활용한 모든 활동은 로그로 기록됨 (감사 추적용)Key 삭제/폐기: 사용하지 않게 된 CMK는 삭제 예약 및 폐기 가능GeneratedDataKey API가 호출되면서 2개의 Data Key를 생성한다.Plaintext Data Key: 데이터 암호화에 사용되는 키Encrypted D..
[AWS] AWS S3의 내구성과 가용성 객체 스토리지 방식으로 데이터를 저장한다AWS S3는 객체 스토리지 방식이다. 객체 스토리지는 객체 형태로 데이터를 저장하는데 객체는 데이터 + 메타데이터 + 고유 식별자로 이루어져 있다.객체 = 데이터 + 메타데이터 + 고유 식별자데이터(Body): 실제 저장되는 데이터 내용메타데이터(Metadata): 객체에 대한 부가 정보시스템 메타데이터: AWS S3가 자동으로 관리하는 정보ex. Content-Type: image/jpeg, Content-Length: 140사용자 정의 메타데이터: 사용자가 직접 추가할 수 있는 커스텀 정보ex. x-amz-meta- 가 prefix로 사용된다.고유 식별자(Object Key): AWS S3에는 폴더가 존재하지 않고 Key가 경로처럼 동작한다.ex. Key=im..
[AWS] CloudWatch Agent가 /root 경로에 있는 로그를 수집하는 방법 - ubuntu EC2- EC2 인스턴스는 CloudWatchAgentServerPolicy 역할을 부여받은 상태- /root/.. 경로에 저장되는 로그를 수집하고자 함 CloudWatch Agent가 실행될 때 수행할 작업은 /opt/aws/amazon-cloudwatch-agent/bin/config.json에 저장된다. { "agent": { "metrics_collection_interval": 60, "run_as_user": "cwagent" }, "logs": { "logs_collected": { "files": { "collect_list": [ { ..
[AWS] ASG & ELB 실습 가이드 실습 환경 : ubuntu ec2 본 게시물은 AWS ASG(Auto Scaling Group)와 ELB(Elastic Load Balanacer)를 이용하여 EC2 인스턴스를 자동으로 생성하고 트래픽을 분산하는 실습 합니다. 실습의 최종 결과물은 다음과 같습니다. 1. ASG와 ELB 개요1.1 Auto Scaling Group(ASG)이란?ASG(Auto Scaling Group)는 EC2 인스턴스를 자동으로 확장(Scale-out) 또는 축소(Scale-in)하여 트래픽 부하에 따라 가용성을 유지하는 서비스입니다. 특정 조건을 설정하면 ASG가 자동으로 인스턴스를 추가하거나 삭제합니다.1.2 Elastic Load Balancer(ELB)란?ELB는 여러 개의 EC2 인스턴스에 트래픽을 균등하게 분..
[AWS] 다중 AZ(Multi-AZ)로 구성한 Amazon RDS는 EBS를 공유할 수 없다. AWS에서는 관계형 데이터베이스 서비스로 Amazon RDS와 Amazon Aurora RDS를 제공합니다. 이 두 서비스는 모두 AWS에서 관리하는 RDS 서비스이지만, 내부 아키텍처 및 동작 방식에서 차이점이 존재합니다.Amazon RDS : 기존의 RDBMS(ex. MySQL, PostgreSQL)를 관리형 서비스로 제공하며, 싱글 AZ 및 다중 AZ를 제공합니다.Amazon Aurora RDS : AWS에서 개발한 고성능 DB로, 스토리지 계층을 공유하며 자동 확장되는 구조를 가집니다.본 글에서는 Amazon RDS에 대해서 설명하며 Aurora RDS와의 차이점에 대한 설명은 포함하지 않습니다. 1. Amazon RDSAmazon RDS는 AWS가 제공하는 관리형 데이터베이스 서비스입니다. My..
[자바] 최소 공배수(LCM) 구하는 방법 a*b static int lcm(int a, int b) { return (a * b) / gcd(a, b);}static int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b);} 만약 a*b > 2,147,483,647 이라면 나눗셈을 먼저하고 곱셈을 하면 된다.static int lcm(int a, int b) { return (a / gcd(a, b)) * b;}static int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b);}
[자바] 소수를 판단하는 근거 입력받은 숫자가 소수인지 판단하는 근거는 다음과 같다.숫자 1은 소수가 아니다.약수로 1과 자기 자신의 값만 갖는다. 예를 들어, 숫자 13의 약수는 1과 13이므로 소수이다. 위 조건에 맞춰 자바 코드를 작성할 수 있다.static boolean isPrimeNumber(int num) { if (num == 1) { return false; } for (int i = 2; i  그러나 위 방법으로 소수를 판단하게 되면 소요 시간이 길다는 단점이 있다. 만약 num이 소수이면서 매우 큰 수라면 반복문 수행 시간이 너무 길어지기 때문에 비효율이 존재한다. 반복문 소요 시간을 줄이기 위해 소수를 판단하는 근거를 새로 설정한다.숫자 1은 소수가 아니다.숫자 2는 짝수 중에서 유일..