코드스테이츠_국비교육 158

74.03_[Cloud] 배포 컨테이너_Docker 키워드_22.12.06

>컨테이너 : 애플리케이션이 의존성, 네트워크 환경, 파일 시스템에 구애받지 않는 애플리케이션 상자. : Docker라는 기술 위에서 실행되도록 만들어짐. >이미지 : 애플리케이션과 애플리케이션 구성을 함께 담아놓은 템플릿. : 이미지라는 템플릿으로 컨테이너를 생성할 수 있다. : 같은 이미지로 여러 개의 컨테이너를 생성할 수 있다. 이게 곧 수평 확장이다. : 기본 이미지를 만들고, 기본 이미지에 필요한 부분을 수정하고 추가하여 새로운 이미지를 만들 수도 있다. : 예를 들면, 스프링부트 초기 세팅을 기본 이미지로 삼고, 내가 만든 애플리케이션을 추가/커밋하여 이미지화 시킬 수 있다. >레지스트리 : 이미지를 저장하는 공간을 레지스트리라고 한다. : Docker Hub, Amazon ECR이 대표적인 ..

74.02_[Cloud] 배포 컨테이너_컨테이너 방식의 장점_22.12.06

>컨테이너 방식의 장점 -의존성 충돌 문제 해결 1. 개발과 배포 환경을 일치시킨다. 2. 수평 확장을 쉽게 해준다. 3. 각 서버에 새로운 내용을 배포하기 쉽게 만들어준다. (1) 개발과 배포 환경을 일치시킨다. -개발 문제 : 컨테이너 방식을 사용하지 않는다면, 애플리케이션을 개발하는 개발팀은 모두 같은 버전과 같은 개발 도구를 설치하여 개발 환경을 동일하게 구축해야한다. : 하지만 그럼에도 특정 변수에 의해 어떤 팀원의 개발 환경에서는 애플리케이션이 실행이 안될 확률이 있다. : 컨테이너를 사용하면 YAML 파일과 명령어로만 이러한 문제를 간단히 해결한다. -배포 문제 : 배포 문제 또한 개발 문제와 같이 사용자의 런타임 환경에 따라 문제가 발생할 수 있는 부분이다. : 하지만 이 또한 컨테이너 방..

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에서 할 수 있는 것을 모두 할 수 있음. : 단, 인터..