본문 바로가기
728x90

전체 글410

Amazon VPC와 Public & Private Subnet 1분 요약 정리 VPC(Virtual Private Cloud)란? 사용자가 정의한 가상의 네트워크이다. 논리적으로 격리되어 있다. Amazon VPC란? 프로젝트에 사용 중인 AWS의 리소스들이 하나의 데이터 센터에 위치에 있다고 가정해 보자. 해당 위치에 문제가 발생하여 서비스가 공급되지 못한다면 어떻게 될까? AWS에서 복구하기 전까지 할 수 있는 게 없다. 기다리는 수밖에. 이를 방지하기 위해 가상의 네트워크를 이용하여 물리적으로 다른 곳에 위치해도 같은 사설망 IP 대역에 위치하게 만들어 리소스 간 통신을 가능하게 만드는 기술이다. 따라서 복수의 AZ에 걸친 형태로 생성이 가능하다. AWS에는 기본 VPC를 제공하며, 사용자가 직접 VPC를 생성하여 리소스를 위치시킬 수 있다. 프리티어 계정의 경우에도 VPC를.. 2023. 1. 9.
사이더(CIDR, Classless Inter-Domain Routing) 30초 요약 정리 📌 사이더(CIDR, Classless Inter-Domain Routing) IP 주소를 할당하고 패킷을 라우팅 하는 방식 중 하나이다. 원래는 IP를 할당할 때 클래스를 나누어 할당했지만 인터넷의 발달로 IP 주소의 소모가 빨라져 CIDR 방식이 사용되기 시작했다. IPv4의 예로 설명하면 192.168.0.0/24의 경우. IPv4는 총 32비트로 이루어져 있고 8비트를 하나의 옥텟이라고 한다. 즉, IPv4는 4개의 옥텟으로 이루어져 있다. /24의 의미는 앞의 24비트 이후에 오는 4번째 옥텟을 전부 사용할 수 있다는 뜻이다. 192.168.0.0 ~ 192.168.0.255까지 사용이 가능함을 의미한다. 왜 255? 192.168.0.0 ~ 192.168.0.255를 2진수로 표현하면 1100.. 2023. 1. 9.
IP(인터넷 프로토콜) 3분 요약 정리 (IPv4, IPv6, 공인 IP, 사설IP) 📌 IP는 뭘까? IP는 인터넷 프로토콜(Internet Protocol)의 약자로 인터넷에서 어떤 정보를 송수신하는 통신에 대한 규약을 의미한다. 패킷 교환 네트워크 상에서 데이터를 교환하기 위한 프로토콜이다.(다른 설명) 지정한 IP 주소에 데이터를 패킷이라는 단위로 전달하는 역할을 한다. IP 프로토콜의 한계 비연결성 패킷을 받을 대상이 있든 없든 일단 전송한다. 비신뢰성 패킷이 중간에 사라지거나 순서대로 안와도 이를 해결할 방법이 없다. 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 이를 구분할 방법이 없다. 그럼 IP 주소는? IP address는 인터넷에서 컴퓨터 및 통신 장치들 간에 서로를 인식하고 통신하기 위해 사용하는 고유 식별 번호이다. 네트워크 ID(.. 2023. 1. 9.
AWS 리전(region), 가용 영역(AZ), 엣지 로케이션(Edge Location) 1분 요약 정리 리전(region, 지역) 전세계에 AWS의 데이터센터가 있는 물리적인 위치를 의미한다. 전세계 곳곳에 리전을 만든 이유? 재해 발생 시 특정 지역에 데이터센터가 몰려있다면 데이터 영구 손실이나 서비스 공급 장기 중단 등 문제가 발생할 수 있기 때문 리전이 한곳에 있다면, 리전으로부터 먼 곳은 서비스 이용 속도가 매우 느림(노드를 많이 거쳐 속도가 떨어지기 때문) 가용 영역(AZ, Availability Zone) 데이터센터의 클러스터로 한 리전에는 여러 가용 영역이 있다. 한 리전 안에는 최소 2개 이상의 가용 영역가 존재한다.(2023.01월 기준 서울 리전에는 4개의 AZ가 존재한다.) 가용 영역 간에는 지연시간이 짧은 링크로 연결되어있어 마치 한 건물에 있는 것처럼 빠르게 데이터를 주고 받을 수.. 2023. 1. 8.
코드스테이츠 백엔드 부트캠프 메인 프로젝트 회고 -2 본격적인 프로젝트 진행 본격적으로 프로젝트가 시작되었다. 개인적으로 메인 프로젝트에 들어가면 꼭 해보고 싶었던 것 중 하나가 바로 깃허브 내에 이슈와 칸반보드를 활용하는 것이었다. 프리 프로젝트 때는 처음이기도 하고 시간도 짧아 전혀 활용하지 못했기 때문에 메인 프로젝트에서는 최대한 활용하여 프로젝트를 진행해보고 싶었다. 이유는 간단하다. 1. 협업하는 기분을 낼 수 있고(ㅋ.ㅋ), 2. 팀원들의 진행 상황을 굳이 물어보지 않아도 한눈에 파악할 수 있기 때문이다. 팀에서도 이슈나 칸반보드를 활용해보고 싶다는 의견이 지배적이었기 때문에 내가 나서서 만들고 회의할 때 팀원분들께 보여줬더니 다들 매우 좋아하셨다. 특히 label이 예쁘다고 칭찬받았다ㅎㅎ 첫 멘토링 멘토링 전 날에 백엔드 팀원분들과 함께 ERD.. 2023. 1. 8.
AWS 프리티어 기본 메모리 1G -> 3G로 늘리는 법(프리티어 EC2 빌드 무한 로딩 해결, EC2 멈춤 해결) 서론 프리 프로젝트 진행 중에 여기저기 들리는 곡소리.. 그 원인은 바로 프리티어 EC2 인스턴스 성능의 한계로 빌드가 진행이 안되고 무한 로딩되었다가 죽어버리는 현상 때문. AWS에서는 프리티어라는 플랜이 존재해 1년 정도 가입한 회원에게 제한된 기능을 제공해주는데 EC2의 경우 그 성능이 너무나도 좋지 않아 간단한 빌드 작업도 너무 오래 걸리고 서버가 버티지 못하여 죽어버리는 일이 비일비재하다. 아니 도대체 얼마나 안 좋길래..라고 물으신다면 무려 기본 메모리 1gb... 따라서 aws를 통해 배포를 진행해보려는 나 같은 초보자들에게는 또 하나의 시련처럼 다가온다. 무한로딩 기다리다가 날리는 시간은 덤. 결국 프리 프로젝트에서 우리 팀은 파일질라를 통해 수동으로 빌드 파일을 EC2 서버에 업로드하는 .. 2023. 1. 8.
😡 github Actions Gradle.yml 빌드 실패 문제 해결 : Cannot locate a Gradle wrapper properties file 🚨 Error : Error: Cannot locate a Gradle wrapper properties file at {경로}. Specify 'gradle-version' or 'gradle-executable' for projects without Gradle wrapper configured. 🤓 원인 : 알 수가 없다. 🚒 해결 : 프로젝트 팀장님과 한참 고민했다. 애초에 둘 다 yml 파일을 만진 적이 거의 없기 때문에(복붙은 많이 해봤는데..) 이해를 못 해서 더는 손대기 어렵겠다 싶었다. 포기 직전까지 갔을 때 팀장님께서 gradle-build-action이 깃허브 액션을 통해 빌드하는 것 같은데 이게 문제인 것 같다고 하셨다. 곧바로 팀장님께서 git repository에 저장된 grad.. 2023. 1. 8.
😡 github Actions Gradle.yml 빌드 실패 문제 해결 : 최상위 경로 문제 🚨 Error 1 : Error: Gradle script '/home/runner/work/seb41_main_027/{프로젝트 명}/gradlew' is not executable. 🚒 원인 : .github가 git repository 최상위에 위치해 있었는데 server 폴더 안에 gradlew가 있었음에도 찾지 못했다. .github와 gradlew는 같은 디렉토리 내에 있어야하는 것 같다. ※ .github 안에는 workflows/Gradle.yml로 구성되어있음. 😎 해결 : 위와 같은 방식으로 working-directory를 사용하여 실행 경로를 gradlew이 있는 server 디렉토리 안으로 수정해주니 해결되었다. 🤔 의문점 : yml 문법을 잘 몰라서 정확히 어떻게 작성해야 하는지.. 2023. 1. 8.
728x90