코드스테이츠_국비교육/[Section4] 38

74.01_[Cloud] 배포 컨테이너_Docker 개요_22.12.06

>컨테이너 :물자를 싣고 나르는데 획기적인 변화를 가져다줌. : 인력과 시간 단축이 가장 큰 이점. : 컴퓨터에서도 컨테이너라는 것은 같은 의미를 뜻함. >리눅스 컨테이너, lxc : 소프트웨어의 수송, 즉 배포에 컨테이너 개념을 적용한 기술 : 하지만 애플리케이션을 컨테이너화 시키는 방법에 대한 커뮤니티가 부족했음. >Docker : Docker Hub라는 소프트웨어 저장소와 함께 컨테이너 개념을 적용함. >`컨테이너 방식으로 애플리케이션을 실행한다.` : 다른 말로는 애플리케이션 실행이 실행 환경, 예를 들면 OS같은,에 구애받지 않는다는 의미이다. : 컨테이너 방식을 이용한 기술의 대표적인 장점. >컨테이너 방식의 장점 -의존성 충돌 문제를 해결해 준다. 1. 개발과 배포 환경을 일치시킨다. 2. ..

73.02_[Cloud] 운영 환경 구성_데이터베이스 연결_22.12.05

>JWS RDS 인스턴스 연결 1. JWS RDS 인스턴스 생성 2. MySQL(DB)에 연결 3. 서버 코드의 application.properties(혹은.yml)에 환경 변수 설정하기 ========================================== *application.properties(혹은.yml) spring.jpa.database=mysql spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect spring.datasource.url=jdbc:mysql://{AWS RDS Endpoint}/test?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC sprin..

73.01_[Cloud] 운영 환경 구성_정적 웹 사이트 호스팅_22.12.05

>클라이언트 배포 전 환경 설정 ========================================= >nvm 설치 : local PC에서 진행할 것. 1. bash 명령어로 nvm 설치 진행 : ubuntu 터미널을 실행하여 /mnt/c/User/Jungho/ 에서 진행 : 공식 문서(https://github.com/nvm-sh/nvm#install--update-script) 에서 최신 버전으로 설치할 것. 명령어 : wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash /* wget 이 없다면?(설치 방법) # Ubuntu sudo apt update sudo apt install wget */ 2. ..

72.06_[Cloud] AWS_백그라운드 실행_22.12.02

>백그라운드에서 서버 실행하기 : 서버를 구동하면서 다른 작업을 하기 위해 백그라운드에서 서버를 실행시킬 필요가 있음.(실행시킨 창을 계속 띄워놔야함) : .jar 실행 명령어 뒤에 ` &`를 붙이기 : 이외에도 다른 방법이 많은데, 많은데는 이유가 있겠지. 각각의 디테일을 파악해두자 >셀 스크립트 : 백그라운드에서 어플리케이션(서버)을 실행시키고, 애플리케이션이 잘 실행되고 있는지 확인할 수 있는 방법 : 셀 스크립트란, 운영체제를 위한 스크립트이다. : 한번 작성하면 재작성 할 일이 거의 없음. 따로 공부하지말고, 필요한 스크립트를 모아두어 적시에 사용하자.(대략적인 구조는 파악하자) >백그라운드 실행 명령어 상세 - `실행 명령어 + &` : 백그라운드에서 작업을 실행시키는 명령어 : 보통 작업이 ..

72.05_[Cloud] AWS_보안 그룹_22.12.02

>보안 그룹 : AWS EC2를 서비스를 이용할 때, AWS에서 빌려주는 가상 방화벽 : 인바운드와 아웃바운드로 구분하고 각각의 규칙을 설정할 수 있음. : 인스턴스 탭에서 해당 인스턴스가 어떤 보안그룹에 속해있는지 확인할 수 있음. >인바운드 : 인스턴스로 들어가는 트래픽 -인바운드 규칙 : EC2 인스턴스로 들어오는 트래픽에 대한 규칙을 설정 : 기본값으로 SSH 접속을 위한 규칙만 설정되어 있음. >아웃바운드 : 인스턴스에서 나가는 트래픽 -아웃바운드 규칙 : EC2 인스턴스에서 나가는 트래픽에 대한 규칙을 설정 : 기본값으로 인스턴스에서 나가는 모든 트래픽을 허용 >보안 그룹 규칙 설정하기 1. 네트워크 및 보안 - 보안 그룹 - 인스턴스 탭에서 확인한 보안 그룹 설정으로 들어가기 - 작업 -인바..

72.04_[Cloud] AWS_인스턴스 연결_22.12.02

>Session Manager 1. AWS - EC2 - 인스턴스 - 연결을 원하는 인스턴스 선택 - 연결 - Session Manager로 연결 2. 터미널 화면으로 이용가능 3. bash 입력 시, git bash처럼 사용가능 (여러 선택지가 있을 것 같음) 4. 연결을 종료하고 싶으면 터미널에 exit 을 입력하거나, 오른쪽 상단의 `종료`버튼을 누르면됨. //연결을 종료해도 컴퓨터에 설치해둔것들은 유지가 됨. >EC2 사용 : 현재 가상의 컴퓨터를 연결만 한 상태이다. 즉, 컴퓨터를 사고 켜기만 했을뿐이고 아무것도 설치하지 않았으므로 필요한 도구를 설치해야한다. >Session Manager 연결 시 사용 방법 0. cd ~; 루트 경로로 이동하기. 1. 패키지 최신화하기 $ sudo apt up..

72.02_[Cloud] AWS, Amazon Web Service_22.12.02

>Amazon EC2 (Elastic Compute Cloud) : AWS, 아마존 웹 서비스에서 제공하는 클라우드 컴퓨팅 서비스 : 아마존에서 가상의 컴퓨터 한 대를 빌리는 개념 : 서버, 스토리지, 데이터베이스 등 /* Elastic의 의미 : 사용한만큼의 비용, 필요한만큼의 성능, 용량을 조절할 수 있기 때문 */ >Amazon EC2 장점 -빠르게 PC를 구축할 수 있음.(실제 PC를 구매하는 것 보다) -원하는 운영체제를 선택할 수 있음. (AMI) -CPU, RAM, 용량도 손쉽게 구성가능 >인스턴스 : 인스턴스란, AWS에서 빌린 1대의 컴퓨터를 의미하는 단위 : 인스턴스는 물리적으로 우리가 사용하는 PC랑 다를바가 없고, 물리적인 PC에서 할 수 있는 것을 모두 할 수 있음. : 단, 인터..

72.01_[Cloud] 운영 환경 구성_개요_22.12.02

>온프레미스 : 기존 서버 방식 : 물리적으로 서버를 구축 : 주기적인 관리의 어려움과 물리적인 공간의 필요가 단점 >클라우드 -장점 : 필요에 맞추어 유연하게 컴퓨팅 능력을 조절할 수 있음. : 사용한만큼만 비용이 소모됨 : 스냅샷을 이용해 다른 컴퓨터로 migration(이주) 가능 -단점 : 해당 클라우드 서비스를 제공하는 벤더에 종속됨. >클라우드 서비스 형태 //추가 검색 -SaaS(Software as a Service) : 당장 사용 가능한 소프트웨어 제공 -PaaS(Platform as a Service) : 데이터베이스, 개발 플랫폼 제공 -IaaS(Infrastructure as a Service) : 가상 컴퓨터까지 제공 >배포(4단계) -1단계; Development : Local ..

71.01_[Spring WebFlux] Spring Web Flux_22.12.01

>Spring WebFlux : Spring MVC 방식과 같은 애플리케이션의 방식 중 하나이며, Spring MVC 기반의 애플리케이션보다 대량의 클라이언트 요청을 효율적으로 처리할 수 있는 구현 방식(기술)이다. : 리액티브 시스템, 리액티브 프로그래밍, 리액티브 스트림즈, 프로젝트 리액터를 사용하는 기술이다. : Spring 5.0부터 지원하는 리액티브 웹 애플리케이션을 위한 웹 프레임워크이다. >WebFlux 단어의 이해 : Reactor의 타입은 0개 혹은 1개의 데이터만 emit하는 Mono 타입과 N개의 데이터를 emit하는 Flux 타입이 있다. : WebFlux는 말 그대로 Flux 타입을 Web 적용한 것을 의미한다. >Spring MVC와 Spring WebFlux 비교 >참고 링크 ..