EC2 인스턴스에 프로젝트 clone 방법 익히기


1. SSH 생성하기

EC2 인스턴스에 접근할 때도 SSH를 사용했듯, 내 github에 안전하게 접근하고 앞으로 편리하게 프로젝트를 가져오기
위해 SSH를 등록해놓으면 편하다.

 

1. 생성 위치로 이동

 

cd ~/.ssh

- 위 명령어로 /home/ubunbtu/.ssh[각주:1]

위치로 이동한다. (여기서 앞에 존재하는 물결표시/home/ubuntu 를 의미한다)


2. SSH 생성

 

ssh-keygen -t ras -C "이메일주소"

- ssh-keygen 명령어로 생성시작, -t로 SSH 유형 선택 (rsa 선택함, ED25519 등도 선택가능) -C[각주:2]에 메일 입력


키의 저장 위치 및 저장 이름 지정, 입력 않고 Enter키로 기본 위치에 기본 이름으로 저장

 


SSH에 접근하기 위한 암호지정, 현재는 Enter 키로 지정 없이 넘어간다.


비밀번호 재입력 역시 Enter


 

- 생성과 동시에 이렇게 randomart 키가 나타나게 된다. 이는 복잡한 키를 사용자가 편하게 알아봐 키의 무결성을 확인하기 위해 사용된다.[각주:3]


이로써  비밀키(id rsa)와 공개키 (id rsa.pub) 가 생성된다.


2. github에 SSH 입력하기

1. 생성한 SSH 복사

- cat[각주:4]  명령어로 생성한

SSH 공개키 출력 및 복사

 

cat id_rsa.pub


2. SSH 등록하기

 - 순서대로

Settings > SSH and GPG Keys > New SSH key 를 통해 등록해준다.

 

 

 

 

 

 

 


clone 해오기

 

 

 

 

 

 

1. 가져올 Repository의 SSH 클론 주소 복사

- git@github.com:사용자이름/저장소이름.git 이기 때문에 복사없이 추후에 그냥 입력해도 무방하다.

 

 

 

 

 

 


2. clone 하기

git clone git@github.com:사용자이름/저장소이름.git

3. 선택지 선택

- yes로 clone 진행

- (fingerprint[각주:5])

 



추가적으로.. (workspace 만들어 프로젝트 관리하기)

 

1. mkdir(make directory) 명령어로 ~(위에서도 언급했듯 /home/ubuntu를 뜻함) 하위에 workspace를 생성

 

2. mv 설치디렉토리위치/프로젝트디렉토리명 ~/workspace

예시)
mv ~/.ssh/my_project ~/workspace

 

  1. 유닉스 및 리눅스에 SSH 관련 파일을 저장하는 표준 디렉토리이다. [본문으로]
  2. Comment / 여기서는 말 그대로 주석으로 사용돼 현재 생성하는 SSH의 사용용도를 사용자가 구분하기 위해 입력하는 용도이다.
    추후 SSH 키의 마지막에 해당 이메일이 나타나게돼 구분할 수 있다. [본문으로]
  3. 같은 SSH 타입과 같은 주석을 사용했다면 항상 같은 randomart가 생성되기 때문에 해당 그림?을 통해 키가 변경되진 않았는지 아니면 내가 사용하려는 키가 맞는지를 편하게 확인하기 위해 생성된다고 한다. 지금 당장 프로젝트 한개를 clone 해보려는 입장에서는 사용하지 않을 기능. [본문으로]
  4. concatenate (연쇄시키다), 파일의 내용을 터미널에 출력하는 명령어 [본문으로]
  5. fingerprint란 해시함수에 공개키를 적용시켜 얻은 '지문'으로 선택지에서 fingerprint를 선택할 경우 서로의 '지문'을 대조해 공개키의 일관성이 유지되고 있는지 직접확인한 다음 clone 할 수 있게 해준다. (서로 같은 공개키 즉, id_rsa.pub를 갖고 있기 때문에 '지문'의 대조가 가능함) [본문으로]
목표 설정
  • AWS를 이용한 백엔드 프로젝트 배포
배포 방식 
  • AWS의 EC2를 이용해 배포
    • EC2 - "Elastic Compute Cloud"의 약어로, 아마존 웹 서비스(Amazon Web Services, AWS)에서 제공하는 클라우드 컴퓨팅 서비스이다. EC2를 사용하면 가상 컴퓨팅 환경을 생성하고 실행할 수 있다.
EC2 >  AWS에서 가상의 컴퓨터 환경을 빌려다 쓰는 것

 

배포 순서

1. EC2 를 이용해 EC2 인스턴스 생성 (클래스를 이용해 인스턴스 생성하듯 EC2 드가서 인스턴스 생성하자)

1 - 1. 보안 그룹 및 키 페어 설정 (보안 그룹은 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어)

  • 인스턴스에 액세스할 수 있는 IP 주소 범위
  • 포트 및 프로토콜
  • 키 페어 생성(인스턴스에 접근하기 위해 사용되는 프로토콜로 SSH 또는 RDP 같은 원격 액세스를 뜻함)

2024.06.03 - [Java/배포해보자] - 1. EC2 를 이용해 EC2 인스턴스 생성

 

1. EC2 를 이용해 EC2 인스턴스 생성

EC2 인스턴스 생성 방법 익히기인스턴스 이름 생성 방법AMI 선택 방법     1.EC2 콘솔의 첫 화면에서 인스턴스 시작 버튼 클릭       2.인스턴스의 이름 지정- 인스턴스명을 보고 어떠한 용도

subray.tistory.com


2. 인스턴스 연결 (인스턴스의 운영 체제에 액세스해 필요한 소프트웨어(내 프로젝트)를 설치하거나 구성하자)

  • SSH 또는 RDP를 사용해 연결

2024.06.08 - [Java/배포해보자] - 2. EC2 인스턴스 연결 (puTTY 이용)

 

2. EC2 인스턴스 연결 (puTTY 이용)

EC2 인스턴스 연결 방법 익히기puTTY를 이용한 연결방법- 리눅스를 통하면 간편하게 접속이 가능하지만 나는 윈도우즈를 사용하기 때문에 puTTY를 이용해 접속해 보자.- EC2 인스턴스 생성

subray.tistory.com


3. 애플리케이션 설치 및 설정

  • 웹 서버
  • DB
  • 애플리케이션 서버 등의 소프트웨어 설치 및 구성

2024.06.09 - [Java/배포해보자] - [배포 3] 애플리케이션 설치 및 설정

 

[배포 3] 애플리케이션 설치 및 설정

EC2 인스턴스에 필요한 애플리케이션 설치 및 설정 방법 익히기git 설치2024.06.09 - [Java/배포해보자] - [배포 3] 애플리케이션 설치 및 설정_EC2에 git 설치 [배포 3_git 설치] 애플리케이션 설치 및 설정

subray.tistory.com


4.프로젝트 clone

  • github에서의 clone 해오기

2024.06.16 - [Java/배포해보자] - [배포 4] 프로젝트 clone

 

[배포 4] 프로젝트 clone

EC2 인스턴스에 프로젝트 clone 방법 익히기1. SSH 생성하기EC2 인스턴스에 접근할 때도 SSH를 사용했듯, 내 github에 안전하게 접근하고 앞으로 편리하게 프로젝트를 가져오기 위해 SSH를 등록해놓으면

subray.tistory.com


5. 프로젝트 build

2024.06.16 - [Java/배포해보자] - [배포 4] 프로젝트 build

 

[배포 4] 프로젝트 build

EC2 인스턴스에 프로젝트 build 방법 익히기build 하기 전에 EC2에 설치돼 있는 MySQL에 테이블과 필드 생성해놓기build 하기 전에 MySQL을 백그라운드에서 실행해놓기 (sudo systemctl start mysql)build 하기 전

subray.tistory.com

 

EC2 인스턴스 생성 방법 익히기

  • 인스턴스 이름 생성 방법
  • AMI 선택 방법

 

 

 

 

 

1.

EC2 콘솔의 첫 화면에서 인스턴스 시작 버튼 클릭

 

 

 

 

 


 

 

2.

인스턴스의 이름 지정

- 인스턴스명을 보고 어떠한 용도로 쓰이는지 알아볼 수 있도록 유니크한 명명규칙을 정해주는 것이 좋다

 


 

 

 

 

3.

AMI(Amazon Machine Image) 선택

- Windows 보단 오랜 기간 서버 환경의 구성에 사용돼 안정성과 신뢰성을 보장받고 커널의 유연성으로 인해 여러 서버 환경에 맞게 사용자 정의할 수 있는 이유로 유닉스 또는 리눅스 기반을 선택하는데 AWS에서는 리눅스의 배포판인 Ubuntu가 가장 많이 사용된다.

 

 

 

 


 

 

4 - 1.

새 키 페어 생성을 눌러 키 페어 생성 창을 띄우기



 

4 - 2.

키 페어 유형 선택

- ED25519를 선택

(이전엔 소인수 분해 문제에 기반하여 동작하는 RSA만 존재했으나 2011년 이후 타원 곡선 암호학에 기반한 ED25519 알고리즘이 출시되어 더 작은 키 크기로도 높은 보안 수준을 제공하여 리소스 사용량을 줄이고 봉나을 강화했다)

 

키 파일 유형 선택

- .pem을 선택

(pem >  Unix 및 Linux 사용,

  ppk > 주로 puTTY와 같은

Windows용 SSH 클라이언트에서 사용)

 

키 페어의 RSA는 레거시 시스템과의 호환성을 위해,
또는 특정 보안 정책을 준수하기 위해 여전히 선택되기도 한다.

 

5.

네트워크 설정

- SSH 트래픽 허용을 위치 무관으로 해 누구나 접근 가능하게 설정했으나 본인만 접근하게 하고 싶다면 내 IP로 설정

- HTTPS 및 HTTP에서도 접근 가능하도록 트래픽 허용에 체크했다.

 

+ 보안 그룹 생성과 동시에

스크린샷의 우측위 편집을 눌러

게시글과 같이 인바운드 규칙을

미리 편집해놓으면 편하다.

(인스턴스 생성 후 수정해도 무방)


 

 

 

 

 

 

 

 

 

 

 

 

 

6.

인스턴스 생성

및 성공

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


키 페어 설정에 있어 함께 알아두면 좋을 정보

 

이와 같이 AMI가 Windows 일 경우

ED25519는 선택할 수 없다.

 

그럼 AMI가 Windows 일 때

RSA 라면 ?? 똑같은 SSH 방식인데 사용이 안돼야 하지 않나 ?


이와 같이 RSA는 키 페어를 사용해 관리자 암호를 복호화해서 Windows 인스턴스에 접근할 수 있게 해준다.

 


 

2024.06.08 - [Java/배포해보자] - 2. EC2 인스턴스 연결 (puTTY 이용)

 

2. EC2 인스턴스 연결 (puTTY 이용)

EC2 인스턴스 연결 방법 익히기puTTY를 이용한 연결방법- 리눅스를 통하면 간편하게 접속이 가능하지만 나는 윈도우즈를 사용하기 때문에 puTTY를 이용해 접속해 보자.- EC2 인스턴스 생성

subray.tistory.com

 

EC2 인스턴스 연결 방법 익히기

  • puTTY를 이용한 연결방법

- 리눅스를 통하면 간편하게 접속이 가능하지만 나는 윈도우즈를 사용하기 때문에 puTTY를 이용해 접속해 보자.

- EC2 인스턴스 생성 시 키 페어 유형을 pem으로 했다면 ppk로 변경하고시작 하자. 

2024.06.08 - [Java/배포해보자] - 키 페어 유형 변경(puTTYgen 이용)


 

 

 

 

 

1.

puTTY 실행 후 키 불러오기

- 화면과 같이 Auth의 Credencials를 찾아 들어가

Private key fila for authentication에 .ppk 확장자의 키 페어를 넣어준다.

 

 

 

 

 

 


2.

AWS 에서 내 인스턴스의 퍼블릭 IPv4 주소 가져오기

- 이를 통해 외부(내 컴퓨터) 에서 해당 인스턴스에 접속하거나 통신할 수 있다.



3.

인스턴스에 접근할 세션명 정해 저장하기

- 해당 인스턴스에 접속할 때 계속해서 설정해줄 필요 없이 세션명을 정해 저장해놓으면 앞으로 해당 세션명으로 접근이 가능하다.

  • puTTY의 Session으로 들어간다.
  • Host Name에 퍼블릭 Ip를 넣어준다.
  • Saved Sessions에 해당 인스턴스에 접근할 때 사용할 세션명을 넣고 Save 한다.

 


 

 

 

 

 

4.

저장한 세션을 바탕으로 접속하기

- 저장한 세션명을 선택 후 Open

 

 

 

 

 

 


 

 

 

 

5.

인스턴스 접속 확인

- 명령어창이 뜨게 되면 login as :에

ubuntu 입력(AMI를 ubuntu로 했기 때문)

 

접속 성공 확인

EC2 인스턴스에 필요한 애플리케이션 설치 및 설정 방법 익히기


  • git 설치

2024.06.09 - [Java/배포해보자] - [배포 3] 애플리케이션 설치 및 설정_EC2에 git 설치

 

[배포 3] 애플리케이션 설치 및 설정_EC2에 git 설치

EC2 인스턴스에 git 설치 방법 익히기1.sudo apt update- apt를 우선 업데이트 시킨다.2.sudo apt install git- git 설치 진행3.git --version- 설치 확인

subray.tistory.com


  • 자바 설치 (jdk)

2024.06.09 - [Java/배포해보자] - [배포 3] 애플리케이션 설치 및 설정_EC2에 jdk 설치

 

[배포 3] 애플리케이션 설치 및 설정_EC2에 jdk 설치

EC2 인스턴스에 jdk 설치 방법 익히기 1.jdk 버전 확인- 윈도우 기준 콘솔창에서java -version 입력해서 jdk 확인 2.설치 가능 jdk 목록 확인- 다시 ubuntu로 돌아와sudo apt search openjdk 명령어로설치 가능 jdk

subray.tistory.com


  • Gradle 설치

2024.06.09 - [Java/배포해보자] - [배포 3] 애플리케이션 설치 및 설정_EC2에 Gradle 설치

 

[배포 3] 애플리케이션 설치 및 설정_EC2에 Gradle 설치

EC2 인스턴스에 Gradle 설치 방법 익히기 1.내 gradle 버전 알아오기- 인텔리제이 기준gradle-wrapper.properties에서 gradle 버전 확인 가능 2.ubuntu에 gradle 설치-  wget https://services.gradle.org/distiributions/gradle-8.

subray.tistory.com


  • RDBMS 설치 (mySQL)

2024.06.10 - [Java/배포해보자] - [배포 3] 애플리케이션 설치 및 설정_EC2에 MySQL설치

 

[배포 3] 애플리케이션 설치 및 설정_EC2에 MySQL설치

EC2 인스턴스에 MySQL 설치 및 보안설정 익히기 1.MySQL 설치sudo apt install mysql-server- 위 명령어로 설치 진행2.설치 확인mysql --version- 위 명령어로 하단에 설치 버전이 확인됨3.보안 설정sudo mysql_secure_in

subray.tistory.com


  • NoSQL 설치 (redis)

2024.06.12 - [Java/배포해보자] - [배포 3] 애플리케이션 설치 및 설정_EC2에 Redis 설치

 

[배포 3] 애플리케이션 설치 및 설정_EC2에 Redis 설치

.EC2 인스턴스에 redis 설치 방법 익히기 1.redis 설치 하기sudo apt-get instell redis-server- 위 명령어로 redis 설치 진행1 - 1.redis 설치 확인redis-server --version- 위 명령어 입력해 설치가 이상없이 완료됐음을

subray.tistory.com


  • 웹서버 설치 (Tomcat)

2024.06.11 - [Java/배포해보자] - [배포 3] 애플리케이션 설치 및 설정_EC2에 Tomcat 설치

 

[배포 3] 애플리케이션 설치 및 설정_EC2에 Tomcat 설치

EC2 인스턴스에 Tomcat 설치 방법 익히기       1.내 톰캣 버전 알아오기- 인텔리제이 기준 Run > Edit Configurations로들어가 톰캣의 버전을 알아낼 수 있다.     2.톰캣 설치 폴더 만들기sudo mkdir /ho

subray.tistory.com

 

EC2 인스턴스에 git 설치 방법 익히기


1.

sudo apt update

- apt를 우선 업데이트 시킨다.


2.

sudo apt install git

- git 설치 진행


3.

git --version

- 설치 확인

 

+ Recent posts