DevOps

    AWS 대신 맥미니

    맥미니를 홈서버로 추천 프로젝트를 시작하면서 AWS를 사용하려했지만, 매달 나가는 비용이 만만치 않을 것으로 생각했습니다. 그래서 직접 서버를 구축해보자 라는 생각으로 시작하게 되었습니다. 라즈베리파이, 현재 사용하고있는 window 본체 등등 많은것을 생각해 보았지만 전력, 소음, 외관, 관리, 활용성을 생각하여 맥미니를 고르게 되었습니다. 새 제품으로 맥미니를 사게 된다면 돈이 많이 들테지만, 저는 당근을 이용했습니다. 맥을 판매하시는 분들 중에 적응을 못해 적게 사용하고 판매하시는 분들이 많기 때문입니다. 덕분에 M1 / 256GB / 16GB / 에플케어 25년 11월까지 제품을 65만원에 구매했습니다. (M1, M2 큰차이 없다는 의견을 듣고 M1으로 구매하고 16GB를 선택했습니다. 전력도 M..

    Artifact, AWS IAM - GitHub Actions 배포 자동화 (2)

    이전 글에 이어 작성했습니다. 이전 글에서 2가지의 문제점이 있었는데 Artifact와 AWS IAM을 통해 해결하였습니다. 1. 배포 단계를 빌드에서 사용 -> Artifact 를 통해 업로드, 다운로드 - actions/upload-artifact@v4 - actions/download-artifact@v4 2. SSH 전체허용 -> AWS IAM를 이용하여 보안 그룹에 IP 등록 및 삭제 - github action IP 획득 (https://github.com/haythem/public-ip) - aws-actions/configure-aws-credentials@v4 사전작업 1. 우선 권한을 얻기 위해 AWS에서 IAM 사용자를 추가해줍니다. 2. 사용자 이름을 넣고 권한설정에서 아래와 같이 ..

    AWS EC2에 SSH으로 - GitHub Actions 배포 자동화 (1)

    배포 자동화를 자주 이용하지는 않았습니다. 물론 처음에는 자동화 배포를 적용했지만, 제가 느끼기엔 EC2 인스턴스가 크지 않아 수동으로 배포하는 것이 더 컨트롤하기 쉽고 빠르며, 변수상황에 대처하기가 너무 좋다고 생각했습니다. 그렇다 보니 반복적인 작업이 마냥 귀찮게만 느껴지지는 않은 상황이었습니다. 하지만 관리해야할 서버, 프로젝트가 늘어남에 따라 자동화 배포를 하기로 적용하기로 결정했습니다. Jenkins, Github-Actions, AWS-Codebuild, GCP-Cloudbuild 배포 자동화할 수 있는 방향은 많습니다. 큰 프로젝트는 Jenkins, 가벼운 자동화 배포는 github actions을 많이 이용하는 것 같습니다. 그 중에서도 저는 AWS-Codebuild / Deploy (Co..

    [AWS] AWS Activate 스타트업 $1350 지원

    aws에서 스타트업에게 1350달러를 지원한다하길래 현재 환율이 미쳐있기도 해서 신청했습니다. 그리고 서버 개발자라면 돈에 민감하게 반응해야한다고 생각합니다. https://aws.amazon.com/ko/activate/founders/ 지금 기준으로 1:1291 입니다. 2008년 금융위기 다음으로 역대급 환율.. 자격요건이 크게 까다로운게 아니라서 대부분 회사가 받을 수 있다고 생각합니다. 신청하는 단계도 크게 어렵지 않고 회사정보, 개인정보를 넣으면 됩니다. 개인정보를 넣을 때, 링크드인 계정이 필요합니다. 특별한 정보없이 간단하게 만들어서 프로필 주소를 넣으면 됩니다. 7일 걸린다고했는데 4일만에 왔습니다. 정리하자면 1. 유효기간 2년, $1000 지원 / 자동 적용 2. 유효기간 1년 $35..

    [AWS] AWS 서버비용 150만원 환불 내용

    많은 회사나 프로젝트에서 AWS를 사용하고 있습니다. 그만큼 사용하기 편리하고 대중적이라 생각하는데, 처음 사용하거나 익숙치 않아 잘못하면 요금이 많이나오기 쉽습니다. 제가 프로젝트를 하면서 항상 예상치 못한 요금을 얻어맞는 경험을 했는데, 그 때마다 문의를 넣어 환불을 쉽게 받았습니다. 그 때 부터 청구서를 한 번씩 확인하는 습관을 가지게 되었습니다. (Billing을 치면 월 별과 앞으로 결제될 예상 청구서 까지 잘 나와있습니다.) 회사에서 AWS의 청구서를 확인해 봤는데, 너무 과도하게 청구가 되어 세부적으로 확인을 해봤더니, 사용하지 않는 서비스인데 매달 400달러씩 나가고 있었습니다. 한국 돈으로 50만원으로 3달 동안 청구가 되었습니다. 개인적인 실수로 10만원 환불을 받아본 경험은 있었지만,..

    [AWS] CodePipeline - S3 Client 자동화

    자동화를 하는 이유는 수동적이고 반복적인 배포과정을 자동화함으로써 시간을 절약할 수가 있습니다. 또한 사람이 배포를 하다 설정을 잘못하여 실수 할 수 있는 부분도 방지할 수 있습니다. 앞으로 할 부분을 간략히 설명하면, 깃허브에 새로운 코드를 푸쉬하여 올려 놓을 때 마다 AWS에서 자동화 설정을 하면 자동으로 반영됩니다. AWS에서는 자동화 기능을 제공하고 있는데 CodePipeline 에서 설정이 가능합니다. 여기서 파이프라인 생성을 눌러 시작할 수 있습니다. 하지만 시작하기전에 S3버킷을 생성하고 정적 웹 호스팅용으로 설정을 미리 해놓아야 합니다. 0. 빌드 파일 생성 최상위 디렉토리에 buildspec.yml 파일을 생성하여 아래의 내용으로 저장합니다. 이 파일을 올리는 이유는 업로드를 하고나서 추..

    [AWS] HTTPS 적용

    대부분의 사이트가 HTTPS를 사용하는만큼 HTTPS로의 설정은 필수로 여겨지기 때문에 설정할 줄 알아야 된다고 합니다. 설정 경로를 이어보자면 아래와 같이 표현할 수 있다고 생각합니다. EC2 로드밸런서 route 53 cloudFront S3 여기서는 EC2, S3는 생성 완료 되었다 가정하고 설명했습니다. (Server, Client 순 입니다.) 간결하게 하려 했기에 조금 보기 어려울 수도 있습니다. 1. HTTPS Server 1. Route 53 호스팅 영역 생성 제일 먼저 호스팅 영역을 생성해야합니다. (인증서를 받기 위함) 배포하고자 하는 도메인으로 이름을 짓고 단순히 생성만 하면 됩니다. NS 유형의 값들을 구매한 도메인 사이트에 입력을 해주어야 합니다. 그리고 저는 가비아에서 도메인을 ..

    [AWS] RDS

    RDS는 Relational Database Service의 약자로 AWS에서 제공하는 관계형 데이터베이스 서비스입니다. EC2 인스턴스에 관계형 데이터베이스 엔진을 설치해서 데이터를 관리할 때와 RDS를 통해 데이터를 관리할 때의 차이는 EC2 인스턴스를 사용하면 데이터베이스와 관련해서 자동으로 관리를 담당하는 부분이 매우 적기 때문에, 사용자가 일일이 시간을 투자하여 데이터베이스 엔진의 설치와 버전 관리, 데이터 백업을 해야 합니다. 게다가 가용성과 내구성이 확보되지 않기 때문에 데이터베이스에 저장된 데이터가 유실되거나 정상적으로 사용하지 못할 확률이 커지며, 후에 필요에 따라 데이터베이스의 규모를 확장하기 어렵습니다. 그에 비해 RDS를 이용하는 것은 RDS를 이용하면 데이터베이스 유지 보수와 관련..

    [AWS] S3 배포

    S3는 Simple Storage Service의 약자로 AWS에서 제공하는 클라우드 스토리지 서비스입니다. Amazon S3를 사용하여 데이터 레이크, 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅 데이터 분석 등 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호할 수 있다고 아마존에서는 설명 합니다. https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/Welcome.html S3 사용 시 얻을 수 있는 이점으로 높은 확장성이 있습니다. 확장성이 높으면 많은 시간과 수고를 들이지 않고 스토리지 규모를 확장/축소할 수 있습니다. 또한 S3에서는 스토리지의 용량을 무한히 확장할 수 ..

    [AWS] EC2 배포 및 생성

    EC2는 컴퓨터를 한 대 빌리는 것이므로 컴퓨터로 할 수 있는 모든 일을 할 수 있습니다. 빌린 컴퓨터는 직접 사용하는 컴퓨터와 다르게 아마존이 전 세계에 만들어 놓은 데이터 센터(인프라)에 만들어져 있기 때문에 컴퓨터를 조작하기 위해 네트워크(인터넷)를 통해서 컴퓨터를 제어해야 한다는 차이점이 있을 뿐 일반적인 컴퓨터와 다른 점은 없습니다. 아마존 EC2를 통해서 할 수 있는 가장 기본적인 일은 웹서버를 설치하고 웹 서버를 통해서 사용자가 웹 브라우저를 통해 요청하는 서비스를 제공하는 것이 가장 기본적인 사용방법입니다. 인스턴스는 1대의 컴퓨터를 의미하는 단위이고 AWS에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 합니다. 1. 보안 그룹 만들기 네트워크 및 보안 > 보안 그룹 > 보안 그룹생성 을 ..