0. 준비물

SSH 접속 툴 : Mobax

Putty와 FileZilla를 합쳐놓은 듯한 프로그램이다.

사용하기 편하고 무료버전도 충분하다. 다운로드하자. 

https://mobaxterm.mobatek.net/download.html

 

MobaXterm free Xserver and tabbed SSH client for Windows

The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!

mobaxterm.mobatek.net

 

참고 내용를 읽어보고 시작하자.

https://ondolroom.tistory.com/815

 

도커 설치 및 기본 이용

참고 영상 youtu.be/hWPv9LMlme8 www.yalco.kr/36_docker/ 가장 쉽게 배우는 도커 어려운 프로그래밍 개념들을 쉽게 설명해주는 유튜브 채널 '얄팍한 코딩사전'. 영상에서 다 알려주지 못한 정보들이나 자주

ondolroom.tistory.com

 

https://ondolroom.tistory.com/881

 

도커 docker 간단 정리

리눅스 우분투에 도커 설치 https://shanepark.tistory.com/237 Ubuntu 20.04 LTS ) Docker 설치하기 Intro Docker는 제가 회사에서 사용하는 노트북의 OS를 Windows 에서 Ubuntu 로 변경하게 된 트리거 였습니다...

ondolroom.tistory.com

 

 

1. SpringBoot 프로젝트 준비 및 세팅

간단한 todoList를 준비하였다. 아래에서 다운로드 받을 수 있다.

springdatajpa_project.zip
0.07MB

 

프로젝트 환경

//스프링부트 버전
springboot 2.6.2
// 자바 환경
java 1.8
// 데이터베이스
h2 mem database
// 포트
8082

 

위 프로젝트를 빌드하여 jar 파일로 만들자.

파일명은 springdatajpa_project 가 앞에 붙도록 제작하는 것을 추천한다.
(ex springdatajpa_project-asdf.jar 등)

 

빌드 툴이 없다면 아래 링크를 따라하여 빌드해보자.

https://velog.io/@kekim20/Spring-Boot-%EB%B9%8C%EB%93%9C%ED%95%98%EC%97%AC-jar%ED%8C%8C%EC%9D%BC-%EC%83%9D%EC%84%B1%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0

 

[Spring Boot] 빌드하여 jar파일 생성/실행하기

빌드하고 jar파일로 실행하기

velog.io

 

 

2. AWS EC2 세팅하기 

 

AWS는 콘솔화면이 자주 바뀐다.

20220425날짜 기준으로 작성 중이다.

 

AWS 아이디가 없다면 가입하자.

 

가입하고 인스턴스 시작을 눌러 클라우드 서버를 만들어보자.

 

이름은 없어도 되나 구분을 위해 적어주자.

 

AMI는 서버의 OS를 의미한다.

테스트 결과 도커 환경을 원활히 작동시키는 Ubuntu을 추천한다. 

 

인스턴스 유형은 서버의 성능을 정하는 부분이다.

현재 연습용이기 때문에 프리티어(AWS 신규 가입시 1년간 무료) 유형을 선택하자.

 

키페어는 보안접속을 위한 것이다.

키페어가 있다면 선택해주고, 없거나 새로만들고 싶으면 새 키 페어 생성으로 생성하자.
(생성 시 기본적으로 키페어 유형은 RSA, 여기서는 Mobax를 사용하므로 파일 형식은 pem 추천)

 

기존에 보안 그룹을 만들어 두지 않았다면 아래와 같이
SSH 트래픽허용 / HTTPS 트래픽 허용 / HTTP 트래픽 허용을 선택해주자.(22 / 443 / 80 인바운드 포트가 열린다.)
(추후 다른 포트를 사용할 경우 보안그룹에서 포트 설정을 해줘야 된다는 점을 기억하자.)

 

용량은 10기가 이상 gp3를 이용하는 것을 추천한다.
aws신규 가입자는 프리티어로 비용없이 사용가능 하기 때문에 30기가로 설정해도 무방하다.

 

 

모두 선택했다면 인스턴시작을 눌러주자.

 

모든 인스턴스 보기를 눌러 확인해보자.
(늦게 뜨는 경우가 있으니 새로고침하거나 기다려보자.)

 

퍼블릭 IPv4 주소를 확인하자.
(해당 아이피는 동적 아이피이다. 인스턴스를 중지하고 재실행하면 바뀔 수 있다. 바뀌지 않게 하려면 탄력적 IP를 사용하자.)

 

3. EC2 접속 및 도커 세팅하기

 

MobaXterm을 켜서 접속 세팅을 하자.

 

Session을 누른다.

 

SSH 클릭

Reomte host는 EC2서버의 퍼블릭 주소를 선택한다.

Specify username은 리눅스 서버의 기본유저명을 말한다.
우분투의 경우 ubuntu

포트는 22

Advanced SSH settings를 클릭하고 Use private key를 체크한다.

EC2를 구성할 때 생성한 키페어를 선택하여 넣어준다.

모두 작성했다면 OK를 눌러주자. 

 

아래와 같이 뜨면 접속에 성공한 것이다.

 

아래 링크를 참고하여 우분투에서 도커를 세팅해보자.

https://shanepark.tistory.com/237

 

Ubuntu 20.04 LTS ) Docker 설치하기

Intro Docker는 제가 회사에서 사용하는 노트북의 OS를 Windows 에서 Ubuntu 로 변경하게 된 트리거 였습니다. Docker를 사용하면 정말 편하게 격리된 컨테이너들을 구성해 가상화의 장점을 정말 잘 살릴

shanepark.tistory.com

 

 

4. 프로젝트 배포해보기

 

먼저 편안한 작업을 위해 Super User 권한을 받아오자.

 

원하는 경로에 폴더를 하나 만들어주자.

필자는 project 라고 이름 지었다.

 

해당 디렉토리로 이동해주자.

 

 

도커파일을 만들자.

확장자 없이 파일을 하나 만들고 이름을 Dockerfile 로 만든다.
(만들기 어렵다면, 예제 프로젝트 내부에 도커파일을 만들어 두었으니 사용하면된다.)

아래와 같이 내용을 입력해주자.
(1번 Jar파일 제작에서 정해준 이름에 따라 아래 ARG부분을 적절히 수정해주자. )

아래에 설명이 있으니 참고하자.

# 도커 허브에서 이미지를 가져와서 이미지를 작업한다
# FROM (이미지 이름:버전)
#FROM openjdk:8-alpine3.9
FROM openjdk:8-jre-alpine3.9

# 컨테이너 실행 전 작동할 명령
# RUN (명령)
# 타임존 설정 (설정을 하지 않으면 시간 저장시 다른 시간대로 저장됨)
RUN ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
RUN echo Asia/Seoul > /etc/timezone

# 컨테이너 내 작업 경로
# WORKDIR (경로)
WORKDIR /app

# 작업 파일을 변수화 하기
# ARG (변수명)=(파일명)
ARG JAR_FILE=springdatajpa_project*.jar

# 작업 파일을 컨테이너로 복사
# COPY (파일명 또는 ${변수명}) (복사할 파일명)
COPY ${JAR_FILE} application.jar

# 컨테이너 시작 시 내릴 명령 (CMD와 ENTRYPOINT 차이 확인)
# ENTRYPOINT [(명령),(매개변수),(매개변수),(...)]
ENTRYPOINT ["java","-jar","application.jar"]

 

도커파일과 Jar 파일을 드래그하여 폴더에 넣어주자.

 

 

도커 배포 순서

1. 이미지 만들기 docker bulid ~

2. 컨테이너 만들기 docker create

3. 컨테이너 실행하기 docker start

(컨테이너 만들기와 실행하기를 동시에 할 경우 docker run을 사용한다.)

 

해당 프로젝트 디렉토리로 이동해보자.

cd /home/ubuntu/project/

 

프로젝트를 이용하여 이미지를 만들어보자.

docker build [옵션] [ -t 이미지 명] [도커파일 경로]

-t 는 이미지에 이름을 붙여준다는 뜻이다.

. 은 도커파일의 경로이다. 아까 도커파일 경로로 이동했기 때문에 . (현재경로)로 입력한다.

docker build -t test_proj_img .

 

성공적으로 만들어 졌다면, 

아래 코드로 이미지를 확인해보자.

docker images

 

컨테이너를 만들어 보자.

docker create [옵션] [-p 외부포트:내부포트] [--name 컨테이너명] [이미지명]

프로젝트는 8082포트로 제작하였지만 외부에서 80포트로 들어올 경우를 가정하여 제작한다.

docker create --restart=always -p 80:8082 --name test_proj test_proj_img

 

컨테이너가 생성되었는지 확인해보자.

-a 옵션은 모든 컨테이너를 보여준다는 뜻이다. (-a를 빼면 실행 중인 컨테이너만 보인다.)

docker ps -a

 

도커를 실행한다.

docker start test_proj

 

#참고 -  create와 start를 동시에 할 경우 run 명령어를 사용한다.

 

작동 로그를 확인한다.

-f 옵션은 컨테이너 내부에 로그를 지속적으로 보여줄 때 사용한다.

docker logs -f test_proj

로그를 벗어날 때에는 Ctrl + C 를 사용한다.

 

컨테이너 안의 리눅스 환경을 확인하려면

// 일반 이미지 기반 컨테이너
docker exec -it test_proj /bin/bash

또는

// alpine이나 slim 이미지 기반 컨테이너
docker exec -it test_proj /bin/sh

 

접속이 된 것을 확인할 수 있으며 도커파일의 WORKDIR로 시작하는 것을 볼 수 있다.

 

해당 컨테이너에서 나갈 때에는 exit를 입력한다.

 

웹에서 확인해보자.

자신의 퍼블릭 아이피로 접속해보면

 

아래와 같이 나오면 성공이다.

 

 

0. 준비물

aws 계정

mobaXterm 프로그램 (무료버전)

기능이 완성된 Jar 파일 (여기서는 메모리 h2 데이터베이스를 사용함.)

 

1. aws를 켠다

 

2. ec2로 접속한다

 

3. 인스턴스 시작을 누른다

 

4. AMI를 선택한다

여기서는 Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type를 사용했다.

Ubuntu 등 원하는 것을 사용하면 된다.

 

5. 인스턴스 유형을 선택한다

자기가 원하는 사양을 고르면 된다.

사양이 높으면 높을수록 비싸진다.

여기서는 프리티어 t2.micro를 사용하였다.

여담이지만 초경량 배포를 위해서라면 ec2가 아닌 lightsail을 사용하는 것도 고려해볼만하다.

제한 사항이 꽤 있지만 매우 저렴한 비용으로 서버를 운영할 수 있다.

 

6. 인스턴스 세부 정보 구성

특별한 설정이 필요하지 않다면 다음으로 넘기자

 

7. 스토리지 추가

기본 설정은 8기가로 되어 있고, 프리티어 사용시 30기가까지 사용할 수 있다고 한다.

프리티어가 남아 있다면 30기가로 설정해서 이용하자.

 

8. 태그 추가

특별한 설정이 필요하지 않다면 다음으로 넘기자

 

8. 보안 그룹 구성

여기서 세팅해도 되나 추후 세팅해보기로 하고, 아래와 같이 기존 보안그룹을 선택한 뒤 패스 하자

 

9. 검토 및 시작 클릭

 

10. 시작하기 클릭

키 페어를 선택하라고 아래와 같이 뜨게 된다

새 키 페어 생성을 선택한 뒤 이름을 정하고 다운로드 한다.

한번 잃어버린 키페어는 다시 다운로드가 불가능하다고 하니 잘 보관하자.

 

11. 인스턴스 확인

ec2 대시보드에서 인스턴스를 선택해보자

 

아래와 같이 나오면 성공

 

12. ip 설정

인스턴스는 기본적으로 중지되었다가 실행되면 아이피가 변할 수 있는 상태이다.

서버 주소가 계속 변한다면 많은 애로사항이 꽃필 것이다.

변하지 않게 하려면 탄력적 IP를 만들어 주어야한다.

왼쪽의 카테고리에서 탄력적 IP를 찾아보자

 

들어갔다면 탄력적 IP 주소 할당을 누른다

 

특별히 건드릴 게 없다면 할당을 클릭하자

 

할당되었다면 해당 ip를 클릭하고 작업에서 탄력적 IP 주소 연결을 눌러보자

 

이전에 만들었던 인스턴스를 선택하면 되고, 해당 인스턴스의 프라이빗 IP주소를 선택하면 된다.

선택 후 연결을 눌러주자 

 

연결한 뒤 인스턴스로 돌아가서 인스턴스 재부팅을 해주면 탄력적 IP로 변경된 것을 확인할 수 있다.

 

13. 보안그룹 설정

SSH 통신을 위해서 보안그룹 설정을 하여야한다.

왼쪽 카테고리에서 보안 그룹 탭을 클릭하자.

 

보안 그룹 생성을 클릭하자.

 

보안 그룹 이름 / 설명을 입력하고 VPC는 특별한 사항이 없으면 그대로 두자.

 

인바운드 아웃바운드 규칙을 설정하자.

SSH 통신을 위해서  22포트를 열어주고 소스는 테스트 시 Anywhere로 하고 실제 배포 시엔 관리자 IP로 변경하자.

 

보안 그룹 생성을 누르자.

 

인스턴스로 돌아가서 이전에 생성한 인스턴스를 오른쪽 클릭하여 보안 그룹을 변경하자.

 

내가 만든 보안그룹을 선택하고 보은그룹 추가를 클릭하자.

그리고 이전에 연결된 보안 그룹을 제거하자.
(여러 보안그룹을 같이 사용할 수도 있다.)

이후 저장하면 완료.

 

14. SSH 접속

접속 방법은 다양하다.

첫번째 방법 = AWS 사이트에서 인스턴스를 선택후 연결.

웹상에서 바로 컨트롤 가능하다.

 

 

 

두번째 방법 = Putty , FileZilla 를 사용하기.

나쁘지 않으나 더 좋은 방법이 있다.

 

세번째 방법 = MobaXterm 사용하기

Putty , FileZilla를 같이 사용하는 느낌이다. 편해서 자주 사용한다.

무료버전을 사용해도 충분히 쓸 수 있으니 무료버전을 다운로드하여 사용하자.

다운로드하여 실행하면 아래와 같이 나온다.

Session을 클릭하여 새 세션을 만들자.

 

SSH를 선택.

이전에 생성한 탄력적 IP 입력.

아마존 리눅스의 기본 유저네임은 ec2-user 이다.

Advanced SSH settings를 선택.

Use private key를 클릭하여 이전에 만든 키페어를 선택.

OK를 누르면 세팅 완료.

 

접속하면 아래와 같이 뜬다.

루트 권한으로 사용하려면 sudo su를 사용하자.

서버 세팅은 완료 되었다.

 

혹시 연결이 되지 않을 경우 아래를 따라보자.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html?icmpid=docs_ec2_console#ec2-instance-connect-setup-security-group 

 

Set up EC2 Instance Connect - Amazon Elastic Compute Cloud

If you previously configured AuthorizedKeysCommand and AuthorizedKeysCommandUser, the Instance Connect installation will not change the values and you will not be able to use Instance Connect.

docs.aws.amazon.com

 

 

15. 도커를 설치하자

아래 사이트를 통해서 도커를 설치하고 자동실행 등록하자.
(컨테이너 다운로드 실행은 하지 않아도 된다.)

https://niceman.tistory.com/36

 

[Docker] CentOS 7 - Docker 설치 및 실행 방법

1. Docker 기본 설치 # 1.yum 패키지 업데이트 yum -y update # 2.Docker & Docker Registry 설치 yum -y install docker docker-registry cs 2. Docker 실행 및 자동(On Boot) 실행 서비스 등록 #..

niceman.tistory.com

 

16. 파일을 넣자

mobaX에서 usr/local 로 접속하여 폴더를 생성하려고하면

Permission Denied 관련 에러가 난다.

 

아래 사이트의 맨 아랫줄과 같이 이렇게 입력하면 에러가 풀릴 것이다.

 

 

17. 파일을 업로드하자

target 폴더 안에는 jar파일이 있다.

Docker 파일도 작성하여 올려주자.

도커파일 내용

FROM openjdk:11.0.8-jre-slim
RUN ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
RUN echo Asia/Seoul > /etc/timezone
WORKDIR application
ARG JAR_FILE=target/springdatajpa*.jar
COPY ${JAR_FILE} application.jar
ENTRYPOINT ["java","-jar","application.jar"]

 

18. 이미지를 생성하자

sudo su를 사용하여 루트권한을 얻자.

Dockerfile이 있는 디렉토리로 이동하여야한다.

 

이미지를 생성하자.

형식은 docker build -t [이미지이름] [도커파일 디렉토리]

docker build -t todo_img .

 

 

아래 명령어를 통해서 이미지가 생성 되었는지 확인 가능하다.

docker images

 

 

컨테이너를 생성하고 실행하자.

docker run --restart=always -d -p [외부포트]:[서버포트] --name [컨테이너명] [이미지명]

docker run --restart=always -d -p 8082:8082 --name todo_con todo_img

 

--restart=always 옵션은 컨테이너가 종료되면 다시 실행하도록 한다.

-d 옵션은 백그라운드 실행 설정이다.

-p 옵션은 포트설정 옵션이다.

--name 옵션은 컨테이너명을 설정할 수 있다.

 

아래 명령어를 통해서 컨테이너가 생성 되었는지 확인 가능하다.

docker ps

 

서버가 작동되어 있는지 확인하려면 아래 명령어를 사용해보자.

docker logs -f --tail=10 [컨테이너명]

docker logs -f --tail=10 todo_con

 

-f 옵션은 실시간 모니터링을 가능하게 해준다.

--tail=10 옵션은 마지막 10줄만 보여준다는 뜻이다.

 

 

 

로그 보기를 종료하려면 컨트롤 C를 누르자.

 

기타 도커에 관한 사항은 아래를 참고하자.

https://www.yalco.kr/36_docker/

 

가장 쉽게 배우는 도커

어려운 프로그래밍 개념들을 쉽게 설명해주는 유튜브 채널 '얄팍한 코딩사전'. 영상에서 다 알려주지 못한 정보들이나 자주 묻는 질문들의 답변들, 예제 코드들을 얄코에서 확인하세요!

www.yalco.kr

 

 

 

 

 

 

 

 

[도메인 등록]

1. Route53 페이지로 이동

 

2. 도메인 등록 화면으로 이동

 

3. 도메인 등록을 클릭

 

4. 도메인 이름을 선택

- 도메인 이름을 선택하고 기관(.com 등)을 선택하고 확인을 눌러서 사용 가능한지 확인 해본다

- 내가 적은 것이 사용 가능하면 사용 가능이라고 뜨며 원하는 도메인을 장바구니에 추가한다

 

5. 장바구니 확인

- 왼쪽에 장바구니에 등록된 도메인이 나온다

- 확인 후 아래에 있는 계속을 누른다

 

6. 도메인 등록 세부 정보를 입력한다

 

7. 약관을 확인하고 주문을 완료한다

 

8. 등록된 도메인 화면에서 도메인이 등록되었는지 확인한다 (끝)

 

[호스팅 관리]

1. DNS 관리 - 호스팅 영역으로 들어 간다

 

2. 도메인 리스트를 확인한다

- AWS에서 만든 도메인은 설명란에 HostedZone created by Route53 Registrar와 같이 뜬다

- 해당 도메인 이름을 클릭하여 이동한다

 

3. 레코드 생성을 클릭한다

 

4. 레코드의 속성을 입력한다

- 레코드 이름은 특별한 경우가 있을 경우 (blog.naver.com 등) 입력

- 레코드 유형 아래를 참고 하거나 인터넷 검색 해보자(사이트 아이피를 등록할 경우 A로 설정한다)

https://www.cloudflare.com/ko-kr/learning/dns/dns-records/

- 값 부분에 아이피를 입력한다

- TTL은 Route53이 레코드의 정보를 얻는 주기인 것 같다
(아이피를 변경할 경우 TTL의 시간만큼의 대기시간이 생긴다는 것)

- 기타 사항은 info 버튼을 이용하여 확인해보자

 

5. 레코드 생성 버튼을 클릭한다

 

6. 레코드가 추가 되었는지 확인한다 (끝)

- A 레코드로 입력한 사이트를 도메인으로 접속해본다 (접속이 되지 않을 경우 몇분 기다려 본다)

 

[HTTPS 적용]

 

웹 서버의 SSL 설정 없이 HTTPS 적용 가능한 시스템인 것 같다

http://devstory.ibksplatform.com/2017/10/aws-acm-amazon-certificate-manager-ssl.html

 

[AWS] ACM (Amazon Certificate Manager)를 통한 SSL 적용 웹사이트 구성

IBK시스템 플랫폼 사업팀 블로그입니다. 플랫폼 사업을 진행하면서 경험한 생생한 IT기술을 공유하고자 합니다.

devstory.ibksplatform.com

 

1. Certificate Manager로 접속한다

 

2. 인증서를 만들 것인지 사설 인증기관을 사용할 것인지 선택한다

- 여기서는 AWS에서 인증서를 생성한다

 

3. 인증서 요청을 클릭한다

 

4. 공인 인증서 요청

- 인증서 요청을 클릭

 

5. 도메인 이름을 추가한다

- 도메인 이름은 실제 도메인 이름과 앞에 www. 를 붙여 2가지로 작성한다
(www.을 추가하지 않으면 해당 주소로는 접속이 안된다고 한다)

- 다음을 클릭한다

 

6. 검증 방법 선택하기

- DNS 검증이 편할 경우 DNS 검증을 하고 aws계정에 등록된 메일 주소를 본인이 관리하고 있다면 이메일 검증도 가능하다

- 선택한 뒤 다음을 클릭한다

 

7. 메일을 확인한다

- 도메인 이름을 여러개 추가했을 경우 메일이 여러개 온다

- 확인 한 뒤 I Approve를 클릭해준다

 

8. 인증서 리스트 페이지에서 발급 확인

- 검증 상태가 모두 성공이 되고, 어느정도 기다리면 상태가 발급 완료로 변경된다.

 

9. EC2 콘솔에서 로드 밸런서를 찾아 들어간 뒤 로드 밸런서 생성

 

10. Application Load Balancer 선택

- 클래식을 사용해도 무방하나 http로 요청시 https로 리다이렉트하려면 Application Load Balancer를 선택해야한다

 

11. 로드 밸런서 설정하기

#

- 로드밸런서 이름을 기입한다

- 외부 통신이기 때문에 Internet-facing을 선택

- IP address type은  IP4 / IP6에 따라 선택

 

##

- VPC는 직접 인터넷을 검색해서 선택하거나 기본 사용하는 것이 있다면 사용

- Mappings는 해당 인스턴스의 지역을 체크 하면 되고 최소 2개 이상의 지역을 선택해야 함

 

###

- 보안 그룹을 설정한다

- 보안 그룹이 없다면 다른 페이지에서 생성 후 새로고침 버튼을 누른 후 추가 해준다
(세팅 시 아래와 같이 인바운드 옵션을 추가하자)

 

 

####

- 리스너와 라우팅을 추가한다

- 위 사진과 같이 HTTPS 프로토콜과 HTTP 프로토콜을 각각 만들어 주자

- 타겟 그룹을 선택해야 하지만 없다면 Create target group를 이용하여 타겟 그룹을 추가해보자

- 타겟 그룹은 아래와 같이 추가해보자

-

-

-

-

- 원하는 인스턴스 체크

-

-

- 타겟 그룹 생성 됨 (로드밸런서 설정으로 돌아가서 세팅하자)

 

#####

- 보안세팅은 기본 제시된 것으로 사용

- ACM은 위에서 만든 인증서를 등록하자

 

######

- 로드밸런서 생성

 

12. 로드 밸런서 리스트에서 확인

- DNS 이름을 따로 복사 해놓자

 

13. HTTP 접속 시 HTTPS 리다이렉트를 위해 리스너를 설정한다

- HTTP 80 포트의 규칙 보기/편집 클릭

 

14. 연필 모양 클릭 클릭

 

15. THEN 삭제

 

16. 작업추가- 리디렉션 대상 선택

 

17. 리디렉션 대상을 HTTPS 443으로 설정하고 업데이트

 

18. 호스팅 영역에서 해당 도메인을 선택한 뒤 위에서 만든 A 레코드를 삭제하고 새로운 레코드를 생성해야한다

- A레코드는 2가지를 생성해야한다 (레코드이름을 공백으로 한번 / www. 를 앞에 붙이고 한번더 )

- 트래픽 라우팅 대상은 별칭을 선택하고 이전에 만든 로드밸런서를 선택한다

 

19. 로드밸런서 아웃바운드 로드밸런서 설정

 

이제 HTTPS가 적용되었다. (끝)

 

참고.

https://twofootdog.tistory.com/29

 

AWS ELB(Elastic Load Balancing) 생성 후 EC2 연동 & 외부 도메인 연동

이번 글에서는 AWS ELB(Elastic Load Balancing)을 생성한 후 EC2 인스턴스와 연결한 뒤 외부 도메인을 연동하는 법에 대해 알아볼 것이다. 글의 순서는 다음과 같다. ELB에 대한 설명 ELB 생성 후 EC2 인스턴

twofootdog.tistory.com

 

https://sovovy.tistory.com/37

 

AWS EC2와 도메인 연결 (가비아)

 목표) AWS EC2에서 실행중인 웹 서버를 구매한 도메인과 연결하기 (가비아에서 구매한 도메인) 1. 우선 AWS의 Route53 서비스로 이동합니다. (https://console.aws.amazon.com/route53) 2. 두 버튼 중 아무거나..

sovovy.tistory.com

 

https://mwoo526.tistory.com/16

 

AWS Certificate Manager

- SSL/TLS 인증 서비스 간간히 도메인 주소창에 왼쪽 에 녹색 열쇠가 표시되는 경우가 보인다. "안전함" 이라고 적혀져 있던데 뭐가 안전하다는 걸까? 바로 SSL/TLS 인증을 받고 있다는 뜻이다. 이것

mwoo526.tistory.com

 

https://www.comtec.kr/2021/07/14/aws-dns-ssl/

 

 

소유권

file1.txt는 sudo로 만들었으니 소유권이 루트로 나올 것이다

file2.txt는 그냥 만들었으니 소유권이 현재사용자로 나올 것이다

 

 

 권한뒤의 1은 링크수이다(바로가기 등)

 

 

 

 

여기서 4096은 용량이다

 

 

:의 왼쪽은 사용자 , 오른쪽은 그룹을 지정하는 것이다

 

 

 

 

>표시를 사용하면 모니터에 출력되는 대신 파일에 출력하게 된다

 

 

 

 

이전내용이 덮어씌워진다

 

 

꺾쇠 두개를 사용하면 덮어씌워지는 것이 아니라 추가가 된다

 

 

nohup은 프로그램을 데몬으로 실행하게한다

데몬은 따로 등록해야하지만 nohup을 이용하면 임의적으로 데몬실행이 가능하다

콘솔창을 꺼도 지속적으로 작동하게 된다(서버 등)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

src 경로에 javalab이라는 폴더를 만든다

 

 

 

 

내 홈에서 src 가기

 

 

mv는 파일 이동

폴더 뒤에 슬래시 파일명을 다르게 적으면 다른파일명으로 저장된다

 

 

파일을 생성

 

 

파일이 들고 있는 데이터를 모니터에 출력

 

파일삭제

rm = 삭제

 

 

rm을 그냥 쓰면 디렉토리가 삭제 되지 않는다

 

 

-r은 디렉토리와 그 내용을 모두 삭제

 

 

기능을 알려면 help를 사용

 

 

파일찾기 명령어

명령어 찾기

 

 

초록색은 실제 실행파일

 

 

 

 

 

 

whereis 는 잘 안쓴다 대신 find를 사용함

 

 

 

 

 

 

 

 

 

 

 

 

$를 이용해 변수를 만들 수 있다.

위의 코드는 이용자의 폴더로 가게된다

$HOME = /home/ubuntu

 

 

이것도 마찬가지로 이용자의 폴더로 가게된다

 

 

폴더 생성 명령어

 

 

파일 생성 명령어

이렇게 생성하는 것 보다는 에디터(nano) 등을 사용하는 것이 좋다

 

 

버전 확인

 

 

리눅스 기본 에디터 vim

 

i키를 누르면 인서트모드(작성모드)

 

:q! + enter 빠져나오기

 

https://www.morenice.kr/25

 

Linux 개발환경 - vim 사용법

vim이란 간단히 말해 텍스트 에디터이다. 기존 터미널 환경의 vi라는 에디터에서 기능 개선 및 확장이 되었고, 그래서 이름이 "vi + improvement = vim"이다. 현재 터미널을 통하여 하는 개발 도구 중 ��

www.morenice.kr

 

 

리눅스는 파일 확장자에 의미를 두지 않는다, 권한에 의미를 둔다

 

 

탭키를 누르면 자동완성 된다

 

 

cat 모니터 화면에 파일의 모든 내용을 출력

tail 모니터 화면에 파일의 끝부분을 출력

 

 

 

 

에디터로 20줄 정도 적어본다

 

 

head 

head 는 파일의 맨 앞줄 10줄을 출력한다

 

 

-숫자 옵션을 이용하여 개수도 조정 할 수 있다

 

 

프로그램의 가이드를 보려면 아래와 같이 두가지 중 하나를 사용하면 된다

 

 

 

 

tail -f (--follow)

계속하여 로그를 확인할 때 사용

 

 

 

 

 

 

 

 

 

 

 

 

 

리눅스는 원래 root 사용자 비밀번호를 만들어야 한다

최고관리자 접속 su root 

 

 

 

 

 

 

파란색은 폴더

앞에 점이 붙어있으면 숨김파일

 

 

--------------------

 

리눅스는 하나의 루트 디렉토리만을 가지는 파일 시스템

 

 

데몬 프로세스 - 끊임없이 계속 도는 프로세스

크론 - 리눅스에서 특정시간이 되면 실행되게 하는 기능

쉘 - 사용자가 운영체제에 명령을 내릴 때 사용 /  운영체제는 커널에 요청 / 커널은 하드웨어를 컨트롤

------------------

기본 명령어

 

 

 

사설 내부 아이피가 보인다

 

-------------------

 

1. window -mysql 설치

2. 프로젝트 테스트 - DB 생성, 사용자 생성, 테이블 생성

3. aws sudo apt-get 명령어로 mysql 설치

4. war 배포

 

-----------------------

 

context.xml 설정

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxTotal="100" maxIdle="30" maxWaitMillis="10000"
               username="apple" password="bitc5600" driverClassName="com.mysql.cj.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/apple?serverTimezone=Asia/Seoul"/>

server.xml 설정

<Context docBase="apple" path="/apple" reloadable="true" />

 

----------------------

netstat -nlpt

- 서버 포트 연결 상태 확인

 

find / -name 이름

- 폴더나 파일 찾기

 

tail -f /var/log/tomcat8/catalina.out

- 콘솔 내용을 확인 할 수 있다

 

sudo rm -r 파일 및 폴더

- r 옵션은 내부의 관련된 파일을 모두 지우는 옵션이다

 

 

---------------------

 

 

 

------------

서비스 등록된 파일 확인

 

 

 

 

 

 

 

 

 

 

 

 

--------------

 

 

+ Recent posts