전체 글

·IT/AWS
- CodeCommit은 완전 관리형 git 리포지토리입니다. - 파일 전송 간 / 유휴 상태에서도 자동으로 암호화합니다. - AWS IAM과 사용할 수 있습니다. 이번 포스팅에서는 리포지토리에서 clone, 변화를 주기 위해서 git helper를 통해서 IAM 크리덴셜을 사용할 예정입니다. 일전에 #1에서 만들었던 리포지토리로 이동합니다. 해당 콘솔에서 확인할 수 있는 화면은 다음과 같습니다. 여기서는 배포된 코드 내용 / Pull Request 이력 / 커밋 이력 / 브랜치 등을 확인할 수 있습니다. 다음의 서비스는 CodeBuild입니다. - 완전 관리형 빌드 서비스로, 소스 코드를 컴파일할 수 있고, 테스트 수행 그리고 소프트웨어 패키지를 만듭니다. - 리포지토리에 코드를 푸시하면 빌드, 실행 ..
·IT/AWS
앞서 #1편에서 프로덕션 레벨에서 구동하게끔 만들었던 CD(Continuous Deployment) 파이프라인을 만들었습니다. 여기서는 안전하게 변화시키는 예제에 대해서 설명합니다. SAM(Serverless Application Model)이라는 것을 통해서 진행합니다. SAM은 매크로 혹은 Cloud Formation 상의 리소스들을 변형할 수 있습니다. - S3, Amazon Kinesis, AWS Step Function 등의 리소스들을 SAM 템플릿 안에 포함하여 변경할 수 있습니다. AWS SAM은 변수 / 매핑 / 아웃풋 등을 지원합니다. 또한, AWS SAM은 Cloud Formation에서처럼 내장함수를 사용합니다. - Join / Git / Ref / GetAttr 등 - Fn::Joi..
·IT/AWS
안녕하세요, 오늘은 AWS SES를 통해서 메일을 세팅하고 보내는 내용을 다뤄볼 예정입니다. Step 1: 자격 증명 생성 먼저 보낼 이메일 주소를 세팅합니다. AWS SES > 구성: 확인된 자격 증명 > 자격 증명 생성으로 이동해서 이메일 주소를 입력합니다. Step 2: 자격 증명 생성 다음으로 해당 메일의 인증 과정을 거칩니다. 입력한 메일의 메일 박스로 들어가, 상단의 인증 메일을 클릭합니다. Step 3: 자격 증명 확인 SES 대시보드에서 자격 증명이 확인된 것을 보실 수 있습니다. Step 4: 테스트 메일 전송 그런 다음에 해당 내용이 정상적으로 적용되어 있는지 테스트 메일을 보내볼 수 있습니다. 시나리오 > 사용자 지정 > 수신자 설정 이후 발송합니다. 해당 내용 하기와 같이 이메일이 ..
·IT/AWS
1. CI란? Continuous Integration 지속적 통합은 소스가 변할 때마다 만들어 둔 source control 혹은 code base에 통합됩니다. 2. CD란? CD는 조직의 경험적인 측면과 스킬적인 측면에서 나뉩니다. 1) Continuous Delivery : 지속적인 제공 프로덕션 이전 환경인 스테이지 환경에 자동화 툴을 통해서 빌드하고, 사전 프로덕션 환경으로 스테이징하는 곳으로 수동적인 프로세스를 거쳐 프로덕션 레벨로 배포를 할 수 있습니다. 2) Continuous Deployment : 지속적 배포 엔드 투 엔드 간의 자동화된 테스팅과 robust integration(의역 ; 체계화된 통합), 그리고 완전 자동화된 프로세스로 배포 변화를 반영하고 싶으실 경우 지속적인 배포..
·IT/AWS
안녕하세요, 오늘은 EBS 볼륨 스토리지 비용이 많이 발생하는 경우에 대한 내용입니다. EBS 스토리지의 수명 주기를 관리하지 않아 EC2 스냅샷으로 인한 비용이 계속 증가할 수 있습니다. 스냅샷 수명 주기를 설정해서 스토리지 비용을 줄이는 방법을 정리해 봤습니다. 1. 인스턴스에 태그 dlm : managed 추가 2. DLM Policy 추가 DLM이라​고 하여, Data Lifecycle Manager라는 제품이 있습니다. 이를 통해 스냅샷 / EBS-backed AMI 등을 관리할 수 있습니다. Amazon EC2(Amazon Elastic Compute Cloud) 콘솔의 [Elastic Block Store] 아래에서 [Lifecycle Manager]를 선택하여, 위와 같이 설정하고 위의 이..
·IT/AWS
안녕하세요, 오랜만입니다. 오늘은 Redshift의 Cluster CPU가 갑자기 높아졌었던 당시 트러블 슈팅했던 내용에 대해서 다뤄보겠습니다. CPU utilization의 경우 지난 6시간 기준으로 조회해 보았을때, 리더 노드가 아닌 컴퓨팅 노드들의 CPU가 평균 35%인 것을 확인하였습니다. 문제 시점 실행중인 쿼리는 없었음에도 Compute instance의 35% 전후 cpu 사용률을 보였습니다. 또한, 해당 시간 워크로드 실행 분석 차트에서도 plan / wait / comit / execution이 실행 중인 상태가 아니었습니다. 해당 내용의 경우, 부적절한 배포 키 또는 배포 스타일이 해당 문제의 원인이 아닐까 생각되었습니다. 왜냐하면, 부적절한 배포 키 혹은 배포 스타일은 노드 전체에서 ..
·IT/GCP
안녕하세요! GCP 키 탈취가 이루어졌을 경우에는 먼저, 케이스를 오픈해서 환불신청을 진행합니다. 키 유출시 취하실 수 있는 내용은 다음과 같습니다. API키를 어드민으로 만들지 않고 관련된 권한만 허용하기 API키에 최대 할당량을 설정하기 카드랑 연결되어 있는 어카운트는 꼭 관리를 하고, 사용을 안할 경우에는 카드정보를 삭제하거나 삭제 요청 진행하기 그리고 하기 스크립트들은 인스턴스 삭제 / delete protection 해제 후 삭제, 디스크 삭제 관련 스크립트입니다. 하기 내용을 통해서 인스턴스 중 TERMINATE 된 인스턴스 검색하기 gcloud compute instances list | grep TERMINATE 인스턴스 삭제하기 gcloud compute instances list | g..
·IT/GCP
안녕하세요! 이번 랩은 소프트웨어 공급망 보안에 관한 내용입니다. 환경 변수 세팅하기 export PROJECT=$(gcloud config get-value project) 필요한 서비스 활성화 하기 gcloud services enable run.googleapis.com artifact registry 만들기 gcloud artifacts repositories create helloworld-repo --location=us-central1 --repository-format=docker --project=$PROJECT 샘플 애플리케이션 만들기 mkdir helloworld cd helloworld package.json { "name": "helloworld", "description": "S..
Jflip
Jflip의 기술 블로그