1. OSI 7 계층OSI 모델(Open Systems Interconnection)은 네트워크 통신을 7개의 계층으로 나누어 설명하는 개념적인 모델로, 네트워크 구조의 이해와 통신 프로토콜 간의 상호 운용성을 높이기 위해 개발되었다.L7 - Application Layer (응용 계층):사용자와 직접 상호작용하는 계층.대표적인 프로토콜: HTTP, FTP, SMTP 등.주요 기능: 웹 브라우저, 이메일 등 애플리케이션이 네트워크 자원에 접근하도록 함.L6 - Presentation Layer (표현 계층):데이터의 형식이나 인코딩/디코딩을 담당.데이터 암호화와 압축을 수행.주요 기능: 데이터를 시스템 간에 올바른 형식으로 변환.L5 - Session Layer (세션 계층):두 네트워크 간 세션 설정,..
Scalability (확장성)Scalability : 애플리케이션 또는 시스템이 더 큰 부하를 처리하기 위해 적응하는 능력을 의미한다. 이를 통해 시스템은 수요가 증가하거나 감소할 때 유연하게 대응할 수 있다.Vertical Scaling(수직 확장)인스턴스의 크기를 늘리거나 줄이는 방식으로 확장.예: t2.nano(0.5GB RAM, 1 vCPU)에서 u-12tb1.metal(12.3TB RAM, 448 vCPU)로 확장.주로 데이터베이스와 같은 비분산 시스템에서 사용됨.RDS, ElastiCache 같은 서비스는 수직 확장을 지원함.단점: 하드웨어 제한으로 인해 무한한 확장은 불가능.Horizontal Scaling(수평 확장)인스턴스 또는 시스템의 수를 늘리거나 줄이는 방식으로 확장.Auto Sc..
AMI (Amazon Machine Image)Amazon Machine Image(AMI)는 새로운 EC2 인스턴스를 생성하기 위한 템플릿EBS 스냅샷을 사용하여 AMI의 백업을 하고 가용 영역(AZ) 간에 전송할 수 있다.EBS Snapshot Archive로 저렴한 스토리지를 사용하거나, Recycle Bin을 통해 삭제 후 임시로 보관할 수 있는 기능도 있다.주요 특징커스터마이징: AMI를 사용하면 EC2 인스턴스에 자신만의 소프트웨어, 설정, 모니터링 도구 등을 추가할 수 있다. 모든 것이 사전에 패키지화되어 있어 부팅 및 설정 시간 단축 가능하다.특정 리전용: AMI는 특정 AWS 리전에 맞춰 생성되지만, 필요시 다른 리전으로 복사할 수 있다.EC2 인스턴스를 시작할 수 있는 방법퍼블릭 AMI..
EBS (Elastic Block Store)EC2 인스턴스에 연결하여 사용할 수 있는 네트워크 기반 블록 스토리지EC2 인스턴스가 종료되더라도 데이터를 유지할 수 있으며, 용량 및 성능을 필요에 따라 조정 가능“네트워크 USB 메모리”와 같은 역할을 함. EC2 인스턴스에서 사용하고 데이터를 유지할 수 있는 가상의 스토리지이다.특징네트워크 드라이브 : 물리적 드라이브가 아닌 네트워크를 통해 인스턴스와 통신하며, 약간의 지연이 있을 수 있다.고정된 AZ : EBS 볼륨은 특정 가용 영역에 고정된다. 다른 가용 영역으로 이동하려면 스냅샷을 생성하여 복사해야함프로비저닝된 용량 : 볼륨의 크기(GB)와 IOPS는 프로비저닝된 용량에 따라 설정되며, 시간에 따라 용량을 늘릴 수 있다.월간 30GB의 무료 스토리..
1. 도전 계기정보처리기사를 준비하면서 데이터베이스(DB) 파트가 흥미로워서, 그 연장선으로 SQLD 시험에 도전하게 되었다.정보처리기사 준비하면서 쌓은 기초와, 전공 수업 때 수강한 DB 과목들이 큰 도움이 되었다.2. 준비 과정아이리포의 2025 SQLD 모든 것( https://product.kyobobook.co.kr/detail/S000213184428 ) 1회독 했다. (대략 1주일)노랭이 ( https://product.kyobobook.co.kr/detail/S000212021705 ) 로 1회독 후 시험 응시하였다. (대략 2~3일) 3. 간단한 시험 후기정보처리기사나 전공 과목과 달리 SQLD 시험에서는 보다 고급화된 쿼리 문제들이 많았다. 특히 데이터베이스의 심화 개념과 실무에 가까운..
Images vs Containers이미지를 기반으로 여러 개의 컨테이너를 생성할 수 있다:이미지는 애플리케이션의 모든 설정, 명령어, 코드가 포함된 불변(immutable) 패키지이다.컨테이너는 이 이미지를 바탕으로 실행되는 독립적인 실행 인스턴스이다.즉, 이미지는 애플리케이션을 실행하기 위한 **청사진(blueprint)**이며, 컨테이너는 그 이미지를 기반으로 실행된 애플리케이션이다.간단히 말해, 이미지는 템플릿이고, 컨테이너는 실행 중인 인스턴스라고 볼 수 있다.이미지를 직접 실행하는 것이 아니라, 이미지를 기반으로 컨테이너를 실행하는 것이다.비유: 이미지 = 청사진(코드 + 설정), 컨테이너 = 그 청사진을 바탕으로 실행된 실제 애플리케이션 인스턴스Image이미지를 만드는 방법에는 두 가지가 있..
Docker는 컨테이너를 생성하고 관리하기 위한 표준 도구이다.Docker != Container소프트웨어 개발에 컨테이너가 필요한 이유개발 환경과 배포 환경의 불일치 해결개발 환경과 배포 환경이 다르면, 애플리케이션이 로컬에서 제대로 작동하더라도 실제 배포 시 문제가 발생할 수 있다. 컨테이너는 개발과 배포 환경을 동일하게 유지하여 이러한 불일치 문제를 해결한다.팀 내 일관된 개발 환경 유지팀 구성원이 각각 다른 개발 환경을 사용하면 협업 시 문제가 생길 수 있다. 컨테이너는 동일한 환경을 제공하여, 환경 차이로 인한 문제를 방지하고 협업을 효율적으로 지원한다.다양한 프로젝트에서 도구 및 라이브러리 충돌 방지여러 프로젝트를 동시에 진행할 때, 각 프로젝트가 서로 다른 도구와 라이브러리를 요구할 수 있다..