일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 트랜잭션
- 갤럭시 S24
- B tree 데이터삽입
- CPU 스케줄링
- 쉬운코드
- concurrency control
- 김영한
- 쉬운 코드
- recoverability
- 시그널 핸들러
- 네트워크
- 코딩애플
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 인터럽트
- 백엔드
- 데이터베이스
- 운영체제
- SDK
- SQL
- 온디바이스AI
- 반효경
- 개발남노씨
- 운영체제와 정보기술의 원리
- Git
- Extendable hashing
- 시스템프로그래밍
- 커널 동기화
- 프로세스 주소 공간
- 코딩테스트 [ ALL IN ONE ]
- vite
- Today
- Total
티끌모아 태산
백엔드 CI/CD에 필요한 AWS 지식 본문
✅배포란(Deployment)?
배포란 내가 만든 서비스를 다른 사용자들이 인터넷을 통해서 사용할 수 있게 만드는 것을 의미한다. 쉽게 말해 우리가 만든 웹 페이지나 서버를 다른 사람들이 사용하려면 인터넷 상에 배포가 돼있어야한다.
보통 자신의 컴퓨터에서 개발을 할 때는 'localhost' 라는 주소로 테스트도하고 개발을 한다. 하지만 이 localhost는 다른 컴퓨터에서 접근이 불가능한 주소다. 그렇기 때문에 배포를 하게되면 고유의 IP주소나 도메인 주소를 부여받게되고, 다른 컴퓨터에서 그 주소로 접속할 수 있게 된다.
따라서 어떤 서비스를 완성했으면, 그것을 다른 사용자들이 사용할 수 있도록 배포를 해줘야한다.
✅EC2(Elastic Compute Cloud)란 무엇인가?
EC2란 쉽게 말해 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스다. 쉽게 말해 하나의 컴퓨터를 의미한다. 그렇다면 EC2를 왜 배울까? 배포를 하기 위해서는 컴퓨터가 필요한데, 내 컴퓨터를 활용할 수 있다. 하지만 내 컴퓨터로 서버를 배포하게 되면 24시간 동안 컴퓨터를 켜놔야한다. 또한 인터넷을 통해 내 컴퓨터에 접근할 수 있게 만들다보니 보안상의 위험이 있다.
이러한 문제점을 해결하기 위해서 내 컴퓨터를 사용하지 않고, AWS EC2라는 컴퓨터를 빌려서 해결할 수 있다. 이 외에도 AWS EC2는 여러가지 부가 기능(로깅, 오토스케일링, 로드밸런싱 등)을 많을 갖고 있다. 실제 현업에서도 서버를 배포할 때 AWS EC2를 많이 활용한다.
- 백엔드 서버를 배포해야 할 때면 EC2에 서버를 배포해서 사용한다.
- 프론트엔드 웹 페이지를 배포할 때는 AWS EC2를 활용할 수 있지만 vercel, netlify 또는 AWS S3를 사용해서 주로 배포한다.
IP와 Port의 개념
IP란 host에 대한 식별자로, 네트워크 상에서 특정 컴퓨터를 가리키는 주소다. Port란 한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소를 의미한다. 예를 들어, 외부에서 특정 컴퓨터 내부에 있는 Spring Boot라는 서버에 통신을 하고 싶다고 가정하자. 하지만 외부에서 IP주소만 알아서는 실행되고 있는 여러 프로그램 중 어떤 프로그램과 통신을 해야 할 지 알 수가 없다. 그래서 특정 서버와 통신을 할 때는 IP 주소와 서버가 실행되고 있는 포트 번호까지 알고 있어야 한다.
- 22번 (SSH, Secure Shell Protocol): 원격 접속을 위한 포트 번호. EC2 인스턴스에 연결할 때, 22번 포트를 사용한다.
- 80번 (HTTP): HTTP로 통신을 할 때 사용한다.
- 442 (HTTPS): HTTPS로 통신을 할 때 사용한다.
위 포트 번호는 일반적으로 정해져 있는 규약이지 반드시 지켜야하는 것은 아니다. 예를 들어, 특정 서버와 HTTP 통신을 할 때 80번 포트를 쓰지 않고 3000번 포트나 8080번 포트를 써도 상관 없다.
'백엔드 > DevOps' 카테고리의 다른 글
CI/CD를 왜 배우는 걸까? (0) | 2024.06.02 |
---|