분류 전체보기
-
[AWS 비용절감 4] AWS Saving Plans 적용 과정Infra 2025. 4. 8. 01:50
개요시리즈에 마지막 Saving Plans 적용 과정입니다. 할인율도 높지만 지불을 한번에 한다는 점에서 신중한 고려가 필요합니다. AWS Saving Plans 란AWS Savings Plans는 EC2, Fargate, Lambda 등의 사용량을 1년 또는 3년 약정하고 시간당 요금을 할인받는 할인 프로그램입니다. 아래부터는 적용 과정을 공유하겠습니다. 1. 플랜 유형 선택 1. Compute Savings Plans: 가장 유연한 플랜적용대상: EC2 인스턴스 (리전, 인스턴스 패밀리, 크기, OS, 테넌시, AZ 무관),AWS Fargate, AWS Lambda할인율 (약 30%~35%)2. EC2 Instance Savings Plans: 특정 인스턴스 패밀리에 최적화된 플랜 적용대상: 특정 리..
-
[핏츠유 리펙토링1] 가독성과 유지보수성 개선Spring 2025. 3. 13. 16:38
배경그동안 빠른 프로덕트 출시를 위해 개발 속도를 우선시해 왔고, 이 과정에서 유지보수성과 성능을 저해하는 코드가 누적되었습니다. 해서 앞으로 주제를 정해 점진적으로 리펙토링을 진행하며 배운 내용과 변경 사항들을 공유하려고 합니다.첫번째 주제는 친숙하지만 어렵고 또 협업의 관점에가 가장 중요할 수 있는 '가독성과 유지보수성 개선'입니다. 변수 및 메서드 네이밍 규칙번거롭고 길더라도 그 의미를 파악할 수 있게 풀어서 설명하도록 함이 협업에 유리합니다.리스트(List), 맵(Map) 등의 자료구조가 포함된 경우, 이를 surfix 로 사용하여 자료형을 쉽게 유추할 수 있도록 하는 편입니다.그 도메인 안에서 누구나 직관적으로 이해가 되는 줄임말이라면 쓸 수 있지만 개인적으로 선호하진 않습니다 ex) btn(b..
-
[AWS 비용 절감 3] 최적의 EC2 인스턴스 유형 선택하기Infra 2025. 3. 7. 22:13
배경현재 사용 중인 EC2 인스턴스를 분석하여 요금을 절약할수 있는 최적화된 사양을 결정하는 것을 목표로 한다. EC2 선택 핵심 요소내게 맞는 EC2를 결정하기 위해서는 기본적으로 vCPU 개수, 메모리 크기, 네트워크 성능, 프로세서 아키텍처 등을 고려해야한다.그리고 나를 포함한 많은 사람들이 놓지는 또 한개의 요소가 있는데 이는 바로 프로세서 아키텍처 이다. 초기 서비스 단계에서는 향후 트래픽 증가를 정확히 예측하기 어려우며, 성공적인 서비스는 일반적으로 J 커브 성장을 보인다. 따라서 서비스 규모에 맞춰 인스턴스를 변경하는 것이 비용적으로 합리적이다. 하지만 여기서 프로세서 아키텍처가 다른 EC2로 변경하는 것은 번거로울 수 있다는 점을 고려해야 한다. 처음 EC2를 선택할 때, 추후 변경할 ..
-
[CI/CD] 모바일 CI/CD 1편Infra 2025. 2. 24. 17:14
배경모바일 앱 배포는 FE, BE와 달리 여러 가지 특별한 요소들을 고려해야 합니다.모바일(Android) 기준으로 다음과 같은 요소들이 빌드 결과물을 구성합니다.개발환경 (Build Flavor): dev, qa 등빌드타입 (Build Type): Debug, Release파일 형식 (File Type): .aab, .apk서명 키 (Signing Key)배포 플랫폼: Firebase, Play Console또한, 모바일 앱 배포는 배포 플랫폼을 통해 심사를 거쳐야 진정한 의미에서 배포가 완료됩니다. 배포 사고 사례모바일 배포는 다양한 경우의 수로 인해 실수할 여지가 많습니다.실제로 일부 서비스에서는 다음과 같은 배포 사고가 발생했습니다.서비스 이름에 "000개발"로 출시된 사례Dev 환경의 앱이 일반..
-
[AWS 비용 절감 2] 메모리 사용량 모니터링 설정Infra 2025. 2. 23. 16:37
배경- AWS 요금 절감을 위해서 EC2 스펙을 다운그레이드를 계획하고 있음- 이를 위해 CPU 및 메모리 사용량을 분석하여, 리소스 사용량을 기반으로 최적의 인스턴스 크기를 결정하려고 함 평균적인 메모리 사용량을 확인하기 위해서 EC2 에 CloudeWatchAgent 를 설치하고 메로리 관련 로그를 CloudeWatch 에서 확인하는 방법을 사용했습니다. 1. IAM 설정새롭게 권한을 생성하여 기존에 사용하고 있던 IAM 역할을 대체할 수도 있지만 보다 간단하게 기존 역할에 정책을 추가하는 방법을 사용했다. 기존 사용중인 인스턴스 > 보안 > IAM 역할 수정 > 권한 추가 > "CloudwatchAgentServerPolicy" 추가 2. CloudeWatch Agent 설치 및 설정1. E..
-
[AWS 자동화] 임시 등록 보안 규칙 IP 자동으로 삭제하기Infra 2025. 2. 21. 23:37
배경1. DEV 환경 서버 접속을 화이트리스트로 관리함2. 임시 등록된 IP 들이 점점 쌓이면서, 이를 수동으로 관리하는데 불편함을 느낌 해결 전략임시 등록 IP 보안 규칙에 태그를 붙이고 이를 일괄 삭제할 수 있는 스크립트를 만들어야 겠다고 생각 함 그러나 Boto3 Doc 를 찾아보니 아쉽게도 보안 그룹(DescribeSecurityGroups 객체)는 tag 를 제공하지만 내부 값으로 존재하는 보안 규칙(IpPermissions)에는 tag 값이 없었다. 그래도 다행히 IpPermissions 에서 Describtion 필드는 제공하고 있었기 때문에 규칙 추가시 Describtion 에 삭제할 날짜를 명시하는 것으로 전략 수정 1. Lamda 를 통한 스크립트 배포- 보안 규칙은 AWS 내부 요..
-
[AWS 비용 절감1] AWS 사용 현황 분석 및 요금 절감 전략 수립Infra 2025. 2. 13. 21:37
배경목표: 현재 사용 중인 AWS 인프라의 구성 및 사용 실태를 파악하여 비용 절감 가능성을 확인분석 대상 항목: EC2, EC2 Other, WAF, VPC, 기타 서비스할인 상태: 프리티어(Prettier) 할인을 받고 있으며, 3월까지 할인 적용 예정? 세부 항목 분석1. EC2Prod: m5.large 시간당: 0.118$ / 풀가동 30일 기준: $ 84.96 실제 $ 87DEV: t2.micro 현재는 프리티어로 전체 커버 됨 (t2.micro 750 시간 제공중) (이후) 시간당: $0.0144 / 풀가동 30일 기준: $ 10.368 EC2 가격표 (https://aws.amazon.com/ko/ec2/pricing/on-demand/?nc1=h_ls) 2. EC2 Other (..
-
JS 로 접근 디바이스 판별하기(모바일/PC 구분)WEB 2023. 12. 26. 23:47
개요 웹에서 접근 디바이스(모바일 / PC) 를 구분하는 방법들을 정리합니다 1. UserAgent “Mobi” 키워드 userAgent 에서 Mobi 키워드를 가지고 있는지를 확인하는 방법(Mobi 있을시 mobile 로 취급) MDN 공식문서에서 추천하고 있는 방법 주요 모바일 장치에서 주요 브라우저를 실행시켰을때의 userAgent 값을 비교 정리해 만들어낸 값 한계점 겔러시 폴드와 같이 예외적 user-agent 값을 갖는 케이스가 존재함 [접었을때] Mozilla/5.0 (Linux; Android 13; SM-F926N Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/120.0.6099.43..