-
Books
가상 면접 사례로 배우는 대규모 시스템 설계 기초
목차1장 사용자 수에 따른 규모 확장성2장 개략적인규모추정3장 시스템 설계 면접 공략법4장 처리율제한장치의설계5장 안정해시설계6장 키-값저장소설계7장 분산시스템을위한유일 ID 생성기설계8장 URL 단축기설계9장 웹크롤러설계10장 알림시스템설계11장 뉴스피드시스템설계12장 채팅시스템설계13장 검색어자동완성시스템14장 유튜브설계15장 구글드라이브설계16장 배움은계속된다 추천 독자IT 계열에서 일을 하면서 모든 서비스를 경험해 보기에는 한계가 있지만,다른 서비스들은 어떻게 굴러갈지 서비스에 대한 설계 및 아키텍처가 궁금한 사람.개발자, 인프라 엔지니어, 학생 등 모두에게 나쁘지 않은 책으로 생각된다. 책소개 사실 요즘은 웬만한 정보들은 구글, GPT 등을 이용하면 거의 모든 정보들을 찾아볼 수 있다.이 책에서..
-
DNS
Mail SPF, DKIM, DMARC 레코드
이번에는 메일과 관련 된 레코드들에 대해서 알아보려고 합니다.지난 2024년에 들어서면서 구글에서 메일에 대한 정책을 강화하면서 이슈가 되었던 내용들입니다.해당 내용은 하루에 5,000개 이상의 메일을 보내는 대량 메일 발송하는 사용자가 대상이었으며 내용을 간단하게 요약하자면 아래와 같습니다.이메일 인증 필수 : 대량 메일 발송 사용자는 SPF, DKIM, DMARC를 사용하여 이메일 인증을 해야합니다.구독 취소 옵션 제공 : 이메일 수신자가 구독을 쉽게 취소 할 수 있는 옵션을 제공해야 합니다.스팸 방지 및 관리 : 이메일 발송자는 스팸 보고 기준을 초과하지 않도록 관리해야 합니다.조금 더 자세한 내용은 아래의 링크에서 확인 하실 수 있습니다.Google 이메일 발신자 가이드 라인 이메일 발신자 가이드..
-
AWS
AWS 콘솔 로그인 시 Slack으로 알림 받기
CloudNet@ AHSS 스터디 2주차 (IAM 보안) 진행 후 일부를 정리한 글 입니다. AWS에서 계정 그리고 Access Key 관리는 매우 중요합니다. 아래의 이미지는 구글에서 aws 해킹을 검색한 결과입니다. 구글에서 검색한 결과만 보더라도 AWS는 많은 해킹이 이루어지고 있으며, 해킹으로 인하여 매우 비싼 금액이 청구 된 사례들이 많다는 것을 확인 할 수 있습니다. 보통 AWS 지금 처럼 많이 사용하지 않던 시절에는?? Github 같은 곳에 ignore를 하지않고 AccessKey, Token 등을 올리는 실수가 많았지만, 그래도 요즘에는 많이 알려지다보니 예전보다는 많이 줄어든 것 같습니다. 물론 실수로 Github에 AccessKey를 올렸다고 하더라도 Github에서도 모니터링을 하면..
-
AWS
S3 미리 서명된 URL(Pre-signed url) 사용하기
CloudNet@ AHSS 스터디 1주차 (S3 보안) 진행 후 일부를 정리한 글 입니다. AWS에서 S3를 사용하다 보면 사용자들이 외부에서 S3에 있는 파일들을 다운로드 받거나, 업로드를 하는 등 외부에서 S3를 이용해야하는 상황들이 발생합니다. 이때, 외부에서 S3에 있는 파일에 접근 해야할 때 보통 아래와 같은 방법들을 이용할 수 있습니다.S3를 외부에서 접근 하능하도록 퍼블릭 상태로 변경 한 후에 접근하기AWS SDK 이용하기 (IAM 권한 필요)AWS CLI 이용하기 (IAM 권한 필요)S3 웹사이트 호스팅CloudFront를 S3에 연결하여 CloudFront로 접근하는 방법Pre-signed URL 생성하여 접근하기 1번의 경우에는 모든 사람들이 S3에 접근을 할 수 있기 때문에 웹사이트 ..
-
AWS
AWS Private Zone에서 NAT Instance로 외부와 통신하기
AWS 구성에서 위의 사진과 같이 Public Zone과 Private Zone으로 나누어서 인프라를 구축한다면 Public Zone에는 Internet Gateway가 있어 외부와 통신이 가능하지만, Private Zone은 사설존이기 때문에 Private 존에 있는 서버들은 외부와 통신이 불가능 합니다. Private Zone에 있는 서버가 외부와 통신하기 위한 방법 NAT Gateway를 이용하여 Private Zone있는 서버가 외부와 통신 가능하도록 설정 NAT Instance를 이용하여 Private Zone에 있는 서버가 외부와 통신 가능하도록 설정 1번 방법과 2번의 방법은 장단점 1번 방법의 경우 AWS에서 관리를 하기 때문에 NAT 인스턴스보다 신경을 덜 써도 되며, 고가용성으로 구성이..
-
Terraform
Trraform으로 지정한 AWS 리소스 비용 계산 해보기
CloudNet@ T101 스터디 진행 후 작성하는 졸업과제 포스팅 입니다. T101 스터디의 졸업 과제를 위해 어떤 포스팅을 해야 할지 고민 도중 유튜브에서 "비용을 잡아야 클라우드를 잡는다"라는 제목의 유튜브를 접하게 되었습니다. 해당 영상에서는 클라우드 환경에서 적합하지 않는 사양 등을 이용함으로써 낭비되는 비용이 약 20조 원의 규모로써 35%나 된다고 이야기를 하고 있습니다. 비용을 잡아야 클라우드를 잡는다 사실 클라우드의 사용 비용을 생각해보면 초기 투자 비용이 온프레미스보다 작기 때문에 싸게 보일수는 있지만, 제대로 된 아키텍처를 구성하지 않고 막상 사용을 해보면 클라우드 사용 비용도 만만치 않음을 깨닫게 됩니다. 그렇게 때문에 최근에는 클라우드의 비용을 관리하는 "Finance(재무)"와 ..
-
Certificate
AZ-900 공부 [핵심 Azure 개념에 관해 설명하기]
Microsoft Azure 기본 사항: 핵심 Azure 개념에 관해 설명하기 정리 https://learn.microsoft.com/ko-kr/training/paths/az-900-describe-cloud-concepts/ Azure 기본 사항 파트 1: 핵심 Azure 개념에 관해 설명하기(AZ-900) - Training 이 학습 경로에서는 Azure 클라우드 컴퓨팅 및 Azure 아키텍처의 기본 사항을 소개합니다. AZ-900을 준비하세요. learn.microsoft.com 클라우드 이점 및 고려사항 설명 클라우드 컴퓨팅의 이점 고가용성 : 선택한 SLA(서비스 수준 계약)에 따라, 클라우드 기반 앱은 문제 발생 시 가동 중지 시간 없이 지속적인 사용자 환경 제공 가능 확장성 : 수직 및 수..
-
Certificate
AZ-900 공부 [Azure 기본 사항 소개]
Azure 기본 사항 소개 정리 https://learn.microsoft.com/ko-kr/training/modules/intro-to-azure-fundamentals Azure 기본 사항 소개 - Training 이 모듈에서는 Azure의 기본 사항을 소개합니다. AZ-900을 준비하세요. learn.microsoft.com 클라우드 컴퓨팅이란 클라우드 컴퓨팅이 일반적으로 요금이 저렴한 이유 운영 비용을 절감 인프라를 더 효율적으로 실행 가능 비즈니스 요구 사항에 따라 크기 조절 가능 클라우드로 전환해야 하는 이유 거의 제한이 없는 컴퓨팅, 스토리지 및 네트워킹 구성 요소 풀. 애플리케이션을 차별화하는데 도움이 되는 음성 인식 및 기타 인식 서비스 소프트웨어 및 디바이스에서 원격 분석 데이터를 제..
-
Terraform
Terraform으로 AWS에서 많이 사용하는 기본 서비스 구성 구축해보기
CloudNet@ T101 스터디 진행 후 정리한 글 입니다. T101 스터디에서 배운 것들을 정리 할겸 위의 이미지와 같이 가장 기본적으로 많이 쓰이는 서비스의 구성을 테라폼 코드를 이용하여 AWS 서비스를 구축 해보려고 합니다. 테라폼 코드들은 생성 이후 수정, 유지보수 등을 위하여 가독성을 높이기 위해 서비스 별로 나누어 총 9개의 파일로 구성하였습니다. 테라폼 구성 파일 $ tree . |-- alb.tf |-- asg.tf |-- aws.tf |-- ec2.tf |-- outputs.tf |-- rds.tf |-- sg.tf |-- variables.tf `-- vpc.tf 0 directories, 9 files aws.tf aws.tf 파일에서는 테라폼에서 사용할 프로바이더를 지정하였습니다...
-
Terraform
Terraform 기본 명령어 & Flow
CloudNet@ T101 스터디 진행 후 정리한 글 입니다. 먼저 아래와 같이 aws에서 EC2를 생성 후 busybox로 http를 실행하는 테라폼 코드를 생성 합니다. ## main.tf provider "aws" { region = "ap-northeast-2" } resource "aws_instance" "example" { ami = "ami-0e9bfdb247cc8de84" instance_type = "t2.micro" user_data = "t3.medieum" tags = { "Name" = "terraform-Study-101" } hong@test MINGW64 /d/hong/git/test $ terraform.exe plan aws_instance.example: Refresh..
-
AWS
RDS 파라미터 그룹 설정 변경 시 재부팅이 필요한 항목
RDS를 사용하다보면 튜닝 등을 위해 파라미터 그룹의 설정을 변경해야 하는 경우가 발생합니다. 파라미터 그룹의 설정을 변경 시 일부 항목은 바로 적용이 되며, 일부 항목은 RDS의 리부팅을 필요로 하는 항목 있는데 이 항목들은 아래와 같이 나눠 집니다. DB 인스턴스를 수동으로 재부팅해야 적용 되는 경우 현재 파라미터 그룹을 다른 파라미터 그룹으로 교체하는 경우. 사용자 지정 파라미터 그룹에서 정적(Static) 파라미터를 수정하고 저장하는 경우. DB 인스턴스의 재부팅 없이 바로 적용되는 경우 사용자 지정 파라미터 그룹에서 동적(Dynamic) 파라미터를 수정하는 경우. 예를들어 RDS의 general log를 켜야할 경우 파라미터 그룹에서 general_log의 설정의 적용 유형 부분을 확인해 보면 ..
-
Terraform
Terraform ?
CloudNet@ T101 스터디 진행 후 정리한 글 입니다. Terraform? Terraform은 하시코프(Hashicorp)에서 Go 언어로 개발하여 만든 오픈 소스 도구로써, 간단한 선언적 언어를 사용하여 인프라를 코드로 정의 할 수 있도록 만든 도구입니다. 코드형 인프라 (IaC, Infrastructure as Code) 코드형 인프라(IaC)는 코드를 작성 및 실행하여 인프라 스트럭처를 관리한다는 개념입니다. [IaC] 테라폼 코드로 AWS의 EC2 인스턴스를 생성하는 예제 provider "aws" { region = "ap-northeast-2" } resource "aws_instance" "example" { ami = "ami-0c76973fbe0ee100c" instance_typ..
-
AWS
AWS 계정 MFA 분실 시 대처방법 그리고 공증..
핸드폰을 정리하면서 겸사겸사 MFA가 눈에 들어와 그간 등록만 했던 MFA도 정리를 하였는데.... 그만 사용하고 있는 AWS의 root 계정까지도 날려버렸습니다. 😱😱😱😱 😭😭😭😭 역시 사람은 안하던 짓은 하면 안 되나 봅니다. 그래서 부랴부랴 MFA 분실 시 찾는 방법을 확인해보니 아래와 같이 로그인 시에 인증 디바이스에 문제가 있으십니까? 여기를 클릭을 눌러 해결을 할 수 있습니다. 위의 링크 클릭 시 아래의 창으로 이동되며 아래의 절차를 통하면 정상적으로 콘솔에 로그인을 할 수 있게 됩니다. 1단계 : 이메일 주소 확인 확인 이메일 전송을 누르면 아래와 같은 메일이 오며, 내 메일이 맞다는 링크를 클릭해주기면 하면 완료입니다. 2단계 : 전화번호 확인 여기서 생각지도 못한 복병을 만났습니다.. 다..
-
AWS
EC2 인스턴스 유형 이름 네이밍
AWS를 사용하다 보면 기본적으로 사용하게 되는 서비스 중에 하나가 EC2(Elastic Compute Cloud)인데, EC2를 사용하다 문득 이 이름에는 어떤 의미가 있는지 궁금하여 조사를 해보았습니다. 먼저 인스턴스의 갯수는 2018년도 AWS re:Invent 때 약 175개의 인스턴스 유형이 있다고 발표하였으며, https://instances.vantage.sh/ 사이트에서 EC2 Instance info 확인 시 서울 리전의 인스턴스 유형은 약 507 종류가 있는 것으로 추측됩니다. 위의 이미지를 보면 M5d.xlarge의 인스턴스 유형 네임은 아래와 같이 구성이 되어 있는 것을 확인할 수 있습니다. 인스턴스 패밀리 세대 추가 기능 . 인스턴스 크기 M 5 d . xlarge ## 인스턴스 ..
-
AWS
운영중인 EC2 인스턴스 재부팅 없이 디스크 용량 확장하기
EC2 인스턴스 또는 온프레미스 서버, PC를 사용할 경우 디스크가 꽉 차는 상황이 종종 발생하는데, 이러한 상황에서 알고 있으면 도움이 되는 EC2 인스턴스의 루트 볼륨 확장 방법입니다. 아래의 서버 이미지를 보면 / 파티션이 100% 사용하고 있어 용량 증설이 필요한 상황입니다. ## EBS 용량 증설 가장 제일 먼저 해야 할 작업은 / 파티션이 사용하고 있는 EBS의 용량을 늘려주는 것 입니다. 서버에서 사용 중인 EBS 볼륨 ID는 아래와 같이 확인이 가능합니다. AWS 콘솔 접속 -> EC2 -> 인스턴스 -> 작업할 인스턴스 클릭 -> 스토리지를 클릭 -> 볼륨 ID 확인 위의 볼륨 ID를 클릭하여 작업 -> 볼륨 수정을 클릭하여 변경할 EBS 용량의 크기를 지정해 줍니다. 저는 기존 8G에서..
-
AWS
RDS 중지 최대 허용 시간 초과로 인해 시작 시 EventBridge로 알림 받기
RDS는 중지 시 EC2처럼 계속 중지가 되는 것이 아닌 최대 7일간 중지가 되며, DB 인스턴스를 수동으로 시작하지 않으면 DB 인스턴스가 자동으로 시작됩니다. 참조 URL : https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_StopInstance.html Amazon RDS DB 인스턴스의 일시적 중지 - Amazon Relational Database Service Amazon RDS DB 인스턴스의 일시적 중지 임시 테스트나 하루 단위의 개발 작업 등 DB 인스턴스를 간헐적으로 사용하는 경우에는 Amazon RDS DB 인스턴스를 일시적으로 중지하여 비용을 일시적으로 절약 docs.aws.amazon.com 이처럼 DB 인스턴스..
-
CICD
[Bitbucket] Error Bitbucket Cloud recently stopped supporting account passwords for Git authentication.
기존에 잘 사용하고 있던 bitbucket으로 오랜만에 작업 진행을 하려고 하는데 Bitbucket에서 아래와 같이 에러가 발생했습니다. ## 에러 내용 fatal: Authentication failed for 'Bitbucket 주소' fatal: Invalid credentials remote: Bitbucket Cloud recently stopped supporting account passwords for Git authentication. remote: See our community post for more details: https://atlassian.community/t5/x/x/ba-p/1948231 remote: App passwords are recommended for most..