본문 바로가기

분류 전체보기179

[AWS] ssh Tunneling SSH Tunneling은 VPC 내부의 프라이빗 서버와 같은 외부에서 직접 접근할 수 없는 서버에 보안된 통신 채널을 설정하여 외부에서 안전하게 접근할 수 있는 방식입니다. 일반적으로 프라이빗 서브넷에 있는 EC2 인스턴스는 퍼블릭 인터넷과 직접적으로 연결되지 않기 때문에 외부에서 접근이 불가능하지만, SSH Tunneling을 사용하면 퍼블릭 네트워크를 통해 안전하게 통신할 수 있습니다. SSH Tunneling이란? SSH Tunneling은 SSH 프로토콜을 사용하여 암호화된 연결을 통해 네트워크 트래픽을 포워딩하는 방법입니다. 이를 통해 외부에서 프라이빗 네트워크에 있는 서버에 보안된 경로를 통해 접근할 수 있게 해줍니다. SSH Tunneling을 사용하는 이유  1. 프라이빗 서버에 접근: .. 2024. 10. 16.
[AWS] aws 기본 동작방식 AWS의 핵심 인프라 서비스인 VPC(Virtual Private Cloud), EC2(Elastic Compute Cloud), 서브넷(Subnet), 라우팅 테이블(Routing Table), 인터넷 게이트웨이(Internet Gateway) 등의 구성 요소들은 서로 유기적으로 연결되어, 네트워크 환경을 관리하고 애플리케이션을 실행하는 중요한 역할을 합니다.  AWS의 네트워킹 구조 (VPC, 서브넷, EC2) 이해 AWS에서 애플리케이션을 실행하려면 먼저 네트워크가 필요합니다. AWS에서 네트워크는 VPC로 시작됩니다. 1. VPC (Virtual Private Cloud) VPC는 AWS에서 사용자에게 격리된 네트워크 공간을 제공합니다. 이 공간에서 사용자는 IP 주소 범위, 서브넷, 라우팅 규칙.. 2024. 10. 15.
[AWS] aws 기초 AWS(Amazon Web Services)는 클라우드 컴퓨팅 서비스 플랫폼으로, 다양한 클라우드 기반 제품과 서비스를 제공합니다. 이를 통해 기업이나 개인이 물리적인 서버를 사용하지 않고도 가상화된 서버와 스토리지, 네트워킹, 데이터베이스, AI/ML 서비스 등을 사용할 수 있습니다. AWS의 구조는 서로 유기적으로 연결된 다양한 서비스와 계층으로 이루어져 있습니다. 1. AWS의 주요 서비스 계층 및 구조 AWS는 크게 컴퓨팅, 스토리지, 데이터베이스, 네트워킹, 보안, 관리 도구, 배포 및 개발 도구로 구분할 수 있습니다. 아래는 주요 서비스들과 그에 대한 설명입니다. 1.1 컴퓨팅 서비스 (Compute) AWS의 컴퓨팅 서비스는 사용자가 서버를 가상 환경에서 운영할 수 있도록 도와줍니다.  • .. 2024. 10. 15.
[Spring] Bean 스프링의 Bean은 스프링 프레임워크에서 객체를 관리하는 기본 단위입니다. 스프링 컨테이너가 생성하고 관리하는 객체를 **빈(Bean)**이라고 부르며, 스프링 애플리케이션에서는 이러한 빈들이 서로 의존성을 주입받거나 협력하며 애플리케이션 로직을 처리하게 됩니다. 1. Bean의 정의  • 스프링 빈은 스프링 IoC(제어의 역전) 컨테이너에 의해 생성, 관리되고, 의존성을 주입받아 사용되는 객체입니다. • 빈은 스프링 애플리케이션의 핵심 구성 요소이며, 각 객체는 컨테이너에 의해 생성 시점, 라이프사이클, 종료 시점까지 관리됩니다. 2. 스프링 Bean의 생성 과정 스프링 애플리케이션이 실행되면 스프링 컨테이너는 설정 파일(예: XML, 자바 설정 파일)이나 애노테이션을 기반으로 빈을 생성하고, 애플리케.. 2024. 10. 12.
[Spring] Spring과 Tomcat 톰캣(Tomcat)이란? 아파치 톰캣(Apache Tomcat)은 자바 서블릿과 JSP(JavaServer Pages)를 실행할 수 있는 서블릿 컨테이너이자 웹 서버입니다. 톰캣은 HTTP 프로토콜을 통해 클라이언트의 요청을 받고, 서블릿 규격에 따라 자바 웹 애플리케이션을 실행하여 응답을 반환합니다. 스프링과 톰캣의 관계 스프링 프레임워크는 자체적으로 웹 서버 기능을 제공하지 않습니다. 대신, 서블릿 컨테이너인 톰캣 위에서 동작하여 웹 애플리케이션을 구동합니다. 스프링 애플리케이션은 톰캣과 같은 서블릿 컨테이너에 배포되어, 클라이언트의 HTTP 요청을 처리합니다. 동작 원리 상세 설명 1. 서블릿 컨테이너와 서블릿  • 서블릿 컨테이너는 서블릿의 생명주기(Lifecycle)를 관리하고, 클라이언트의 요.. 2024. 10. 12.
[Java] 간단한 예시로 SOLID원칙 적용해보기 SOLID 원칙 개요  1. SRP (Single Responsibility Principle): 단일 책임 원칙 – 클래스는 하나의 책임만 가져야 한다. 2. OCP (Open/Closed Principle): 개방/폐쇄 원칙 – 클래스는 확장에는 열려 있고, 수정에는 닫혀 있어야 한다. 3. LSP (Liskov Substitution Principle): 리스코프 치환 원칙 – 서브 클래스는 부모 클래스의 기능을 그대로 유지해야 한다. 4. ISP (Interface Segregation Principle): 인터페이스 분리 원칙 – 사용하지 않는 기능이 포함되지 않은 인터페이스를 정의해야 한다. 5. DIP (Dependency Inversion Principle): 의존성 역전 원칙 – 고수준 .. 2024. 10. 6.