전체 게시물
-
[Linux] smem으로 Linux RAM 사용량 파악하기dev-ops/Linux 2025. 4. 17. 12:46
smem 명령어는 리눅스 시스템에서만 사용가능 합니다.smem 명령어는 /proc 파일 시스템을 통해 메모리 정보를 수집합니다./proc은 리눅스 고유의 가상 파일 시스템이며, 각 프로세스의 메모리 정보가 /proc/{pid}/smaps 파일에 저장됩니다. RSS, USS, PSS 개념세 개의 프로세스와 공유 메모리가 존재한다고 가정합니다:프로세스전용 메모리 (USS)공유 메모리A20MB60MB 공유B30MB60MB 공유C40MB60MB 공유USS (Unique Set Size)해당 프로세스만 사용하는 전용 메모리USS는 해당 프로세스만 사용하는 메모리 양입니다. (프로세스의 전용 메모리) USS 계산 시에는 다른 프로세스와 공유하는 메모리량을 포함하지 않습니다. 즉, 오직 해당 프로세스만 사용하는 전용..
-
[Pulumi] index.ts에 정의된 값을 쉘 스크립트로 동적 치환 방법dev-ops/Pulumi 2025. 4. 13. 14:08
📌 개요Pulumi를 기반으로 AWS 인프라를 코드로 관리하면서 EC2 인스턴스의 초기화 스크립트(user-data.sh)에 EFS ID를 동적으로 삽입하는 방식을 구현했다. 이 과정에서 IMDSv2 방식으로는 EFS 정보를 조회할 수 없다는 문제점이 존재해, Pulumi의 apply() 함수를 활용한 동적 치환(interpolation) 기법을 적용했다. 문제점: EC2 메타데이터에서 EFS 정보 미제공CloudWatch 대시보드에서 EFS 관련 지표를 시각화하기 위해 EFS의 ID가 필요했다. 그러나 EC2 인스턴스 내에서 IMDSv2를 통해 제공되는 메타데이터에는 EFS 정보가 포함되어 있지 않기 때문에, 해당 정보를 직접적으로 조회할 수 없었다. 따라서, EC2 인스턴스가 시작될 때 필요한 E..
-
[AWS] IMDSv1과 IMDSv2 비교dev-ops/aws 2025. 4. 12. 16:53
글을 작성하게된 계기현재 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)dev-ops/aws 2025. 4. 10. 22:38
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의 내구성과 가용성dev-ops/aws 2025. 4. 7. 20:32
객체 스토리지 방식으로 데이터를 저장한다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 경로에 있는 로그를 수집하는 방법dev-ops/aws 2025. 3. 20. 19:51
- 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": [ { ..