Infra/AWS 24

AWS EC2 auto scaling 이해하기

AWS 단일 EC2 서버에 Auto Scaling 을 적용하기전 공식문서를 읽고 정리한 글 입니다. AWS 생태계에서 EC2 Auto Scaling 은 작은단위의 서비스로써, AWS의 다양한 서비스에 거의대부분 적용되는 서비스 같다. 모듈식으로 서로서로 연계되는 AWS에서 Auto Scaling 알아보자! [목차] Auto Scaling 을 사용하고자 하는 이유 Scale up 과 Scale Out Blue Green 배포 Auto Scaling 이란 Auto Scaling 특징 및 장단점 AWS EC2 Auto Scalig Group 적용 하기 1. Auto Scaling 을 사용하고자 하는 이유 Scale up 과 Scale Out 인프라를 확장하는 2가지 개념 scale up : 인프라 자체의 성능..

Infra/AWS 2024.02.28

[AWS] CloudFormation 이란 - "IaC : 인프라를 코드로"

인프런 CloudNet@와 함께하는 AWS 네트워킹 입문 강의를 보고 정리한 글입니다. ☁️ CloudFormation 이란 → AWS 클라우드 서비스 중 하나로 “인프라를 코드 기반으로 정의”하고 선언하여 자원을 생성하거나 삭제하는 기능을 제공하는 IaC 서비스입니다. 💡Iac (Infrastructure as Code)란 : 인프라를 코드로 정의한 것 CloudFormation 에서 코드로 인프라를 정의한 텍스트 파일을 템플릿이라고 합니다. 💡 CloudFormation 사용 순서 AWS CloudFormation 의 순서는 다음과 같습니다. 먼저 템플릿 파일을 작성해야합니다. 템플릿이란, CloudFormation에서 "JSON" or "YAML" 언어로(코드로) AWS 클라우드 인프라를 선언한 텍..

Infra/AWS 2023.05.11

탄력적 IP 란 - 왜 사용하고, 어떻게 써야할까 ❓

📌 탄력적 IP를 사용하려는 이유 사이드 프로젝트 중 문자 전송을 위해 알리고 서비스를 사용하고 있습니다 여기서 문제는! 알리고 서비스 사용시 전송 가능한 서버IP 주소를 등록해야 정상적으로 전송이 가능하다는 것입니다. 로컬서버에서는 보통 고정된 IP 주소를 사용하지만 클라우드 환경에서는 다릅니다. 보통 가상 인터넷 서버 EC2(AWS 기준) 의 public IPv4 주소를 이용에 서버에 접속을 하는데, 이 Pulbic IPv4주소는 서버가 중지, 중단, 일시정지 등 얼마든지 유동적으로 변해버립니다. 👏🏻 따라서 알리고 서비스를 사용하기 위해서는 변하지 않는 고정 IP 주소 [EIP(Elastic IP Address)]가 필요했습니다. 📌 탄력적 IP란 AWS 에서 탄력적 IP란, 동적인 클라우드 컴퓨팅..

Infra/AWS 2023.03.09

[AWS] EC2 가비아 도메인 연결하기

이전 글에 이어서 이제 도메인을 연결해 보고자 합니다. [Infra/AWS] - [AWS] EC2 에 Spring boot 올리는 과정 및 삽질 (with java 17 + spring boot3.0) 1. 도메인 구입 👏🏻 도메인은 가비아에서 .shop 도메인을 1년에 500원 으로 구매할 수 있습니다 Gabia 도메인 구입 링크 :https://domain.gabia.com/ 구매를 원하는 도메인을 검색하면 사용한 가능한 목록와 구매금액이 나옵니다. 핫한 도메인일수록 금액이 비싸고 생소할수록 저렴한 도메인으로 구매가 가능합니다. 2. 도메인 연결 도메인을 구매한 뒤 조금 기다리면 (길면 2일? 짧으면 10분) [My가비아] - [DNS 관리툴] 에 구매한 도메인이 보입니다. 👏🏻 그러면 aws 에 구..

Infra/AWS 2023.02.12

[AWS] EC2 에 Spring boot 올리는 과정 및 삽질 (with java 17 + spring boot3.0)

간단하게, aws 에 ec2를 생성하여 처음부터, git hub에 올라가있는 spring boot project를 구동시키는 과정을 기록한 글입니다. 시나리오 aws ec2 신규 생성 보안 그룹 out/inbound 오픈 ec2에 java 17, gradle 설치 ec2에 git clone ec2에 프로젝트 빌드 ec2 spring 백그라운드 실행 순서대로 해보겠습니담 1. EC2 생성 및 JAVA 17설치 EC2 생성및 inbound port 열기는 여기 참고 → 그사이에 aws 가 바뀌긴 했지만 얼추비슷하게 ubuntu 에 프리티어로 생성 2 EC2 터널링 접속 //ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피(인스턴스 퍼블릭 ipv4 주소) ex) ssh -i /path/my-k..

Infra/AWS 2023.02.10

[AWS] RDS Python 코드로 이용하기 - AWS RDS(Mysql)을 이용하여 사진 업로드

전전전? 아무튼 전 게시물에서 cloudfront로 프론트를, EB로 백엔드 application.py를 배포에 프론트와 백엔드를 연동해서 배포를 완료했다. 이번에는 이걸 이용해서 DB를 RDS로 연동해 주려고 한다. 1. EB 백엔드 예시 코드 - application.py import boto3 from flask import Flask, render_template, request, jsonify from flask_cors import CORS import os from flaskext.mysql import MySQL #pip install install flask-mysql application = Flask(__name__) # cors cors = CORS(application, resou..

Infra/AWS 2021.12.20

[AWS] Spring boot 랑 RDS Mysql 연동하기 (GitAction, EB)

전 게시물에서 EB를 이용해 배포를 하였기 때문에, EB 환경에서 데이터베이스(RDS)를 만들어 연동하고자 한다. Elastic Beanstalk > 환경 > 내 eb 환경 > 구성 > 데이터베이스 편집 여기서 데이터 베이스를 쭉쭉쭉 만들고 사용자 이름과 비밀번호를 기억해 두어야한다. (master 아이디가 된다.) 그럼 이렇게 RDS 가서 보면 데이터베이스가 생긴걸 확인 할 수 있다. 여기서 클릭해 엔드포인트를 기억해 두고, 인바운드 규칙을 편집한다. VPC 보안그룹 클릭 > 인바운드 규칙 편집 클릭 그다음 해당 데이터베이스의 포트를 열어준다. 나는 mysql을 사용했기 때문에 3306 포트를 열어주엇다. 그 다음 EB 환경변수에 아래의 값들을 추가해 준다. (EB 환경변수와 인텔리제이 환경변수 추가하..

Infra/AWS 2021.12.15

[AWS] 도커와 깃 액션을 이용해서 백엔드 배포하기 - EC2, EB, Docker, GitAction

프로젝트 배포를위해, 컨 게시글에서 프론트 페이지를 먼저 배포하였다. 이제 백엔드 쪽을 배포할 건데, Docker 와 GitAction을 사용하여, ElasticBeanstalk를 이용해서 배포할려고 한다. ElasticBeanstalk를 이용하면, ELB + Auto Scaling + EC2 한번에 관리할 수 있다. 아래의 게시글 따라하며, EB를 구성하는데, EB의 플랫폼을 도커로 설정하여 만들어줘야한다. EB 생성 https://thalals.tistory.com/151 [AWS] Elastic Beanstalk란 (ELB + Auto Scaling + EC2 한번에 관리) 🍯EB(ElasticBeanstalk) 란 ELB + Auto Scaling + EC2 한번에 관리할 수 있는 서비스입니다 A..

Infra/AWS 2021.12.15

[AWS] 프론트 부분 AWS 배포 - (S3, CloudFront 연동)

프로젝트 배포를 위해 프론트 부분을 배포하고자 한다. 프론트 부분은 직접 수동으로, s3 버킷 안에 업로드를 해주고, s3를 cloudfront로 연동시켜주어서 마무리 할 계획이다. CloudFront를 연동하는 이유는, 글로벌 서비스를 위한 캐싱 데이터의 사용과, s3에 집적 접근하는게 아닌, 클라우드 프론트를 이요하여 캐싱 데이터에 접근하는 것이기 때문에 AWS 비용 절감도 할 수 있기 때문이다. 쉽게 말해서 CloudFront란, 정적파일들을 캐싱해주는 서비스이다. (정적파일 호스팅까지) S3 만드는방법 https://thalals.tistory.com/139 aws s3 ( AWS 파일 업로드 저장소 ) 아마존 S3 - Simple Storage Service 아마존 s3는 아마존 웹서비스에서 제..

Infra/AWS 2021.12.08

[TIL] ssh: connect to host 13.209.64.175 port 22: Connection timed out Resolving 에러해결

잘되던 ssh 접속이 안된다... 휴 왜 타임아웃이야..? 왜..? 구글링을 해보니 방화벽을 열어줘야한다.. 볼륨을 해지해야한다.. 어쩌구 저쩌구,, 이유가 너무 많다. 일단 telnet 명령어로 포트로 접근은 되는지 확인해 보았다. 22포트가 열려있지 않은거 같다고 튜터님이 알려주셨다...ㅠㅠ AWS 확인 ec2 인바운드 규칙에는 분명히 22포트가 열려있다. 그다음은 vpc를 확인해보았다. 잘열려있다. 그다음은 인터넷 게이트웨이를 확인해보았다. 인터넷 게이트웨이가 없었다,,,,!!! 과금때문에 지웠었는데 이게 문제가 될지는 몰랐다. 인터넷 게이트웨이를 만들고 vpc를 연결해 준다음 라우팅 테이블을 확인해보니, 블랙홀 에러가 나와서 해당 포트를 지워주고 다시 22포트를 열어주었다. port 22 time..

Infra/AWS 2021.12.06