글

라벨이 enc인 게시물 표시

[AWS] AWS 가상컴퓨터 생성~8.EC2 서버에 도메인 연결~(아마존 클라우드 서버)_cloud computer virtual_-신촌 더조은 학원 AWS-+How to sign up for AWS and use EC2 service+

이미지
~8.EC2 서버에 도메인 연결~ 1. 내도메인 한국 회원가입 및 도메인 등록 (무료 테스트용 도메인 얻을 수 있음) https://xn--220b31d95hq8o.xn--3e0b707e/ - 회원가입 > 일반도메인 검색 > 등록하기 (만료기간3개월 무료)  aws-yg.kro.kr - 접속이 되는지 확인하기위해 단일페이지 체크 및 내용입력 후 수정  - 브라우저 접속 test http://www.aws-yg.kro.kr/ 2. EC2 서버와 등록한 도메인 연결  - EC2 퍼블릭 IPv4 DNS 복사  EC2 > 인스턴스 > 실행중 인스턴스 선택 > 퍼블릭 IPv4 DNS 복사  ec2-43-203-251-50.ap-northeast-2.compute.amazonaws.com - 내도메인 한국 > 도메인 관리 접속  단일페이지 체크 해지 별칭 왼쪽칸 www  별칭 오른쪽칸  ec2-43-203-251-50.ap-northeast-2.compute.amazonaws.com 3. 연결한 도메인 테스트 (http) http://www.aws-yg.kro.kr/todo/list

[AWS] AWS 가상컴퓨터 생성~7.EC2 서버에 배포용 스크립트 쉘 작성~(아마존 클라우드 서버)_cloud computer virtual_-신촌 더조은 학원 AWS-+How to sign up for AWS and use EC2 service+

이미지
 ~7.EC2 서버에 배포용 스크립트 쉘 작성~ 1. 서버에 구동시킬 배포용 쉘스크립트 작성 deployscript.sh  #!/bin/bash # 변수 설정 WAR_FILE=/home/ec2-user/app.war TOMCAT_WEBAPPS_DIR=/usr/local/lib/tomcat/webapps TOMCAT_BIN_DIR=/usr/local/lib/tomcat/bin # 0. 홈 디렉토리에 war 파일이 있는지 확인 if [ ! -f "$WAR_FILE" ]; then     echo "WAR 파일이 홈 디렉토리에 존재하지 않습니다: $WAR_FILE"     exit 1 fi # 1. 기존 Tomcat 배포 파일 제거 sudo rm -rf "$TOMCAT_WEBAPPS_DIR/*" if [ $? -ne 0 ]; then     echo "기존 Tomcat 배포 파일 제거에 실패했습니다."     exit 1 fi echo "기존 Tomcat 배포 파일 제거 완료" # 2. WAR 파일을 Tomcat 경로로 이동하고 이름 변경 sudo mv "$WAR_FILE" "$TOMCAT_WEBAPPS_DIR/ROOT.war" if [ $? -ne 0 ]; then     echo "WAR 파일 이동 및 이름 변경에 실패했습니다."     exit 1 fi echo "WAR 파일을 $TOMCAT_WEBAPPS_DIR/ROOT.war로 이동 및 이름 변경 완료" # 3. Tomcat 종료 sudo "$TOMCAT_BIN_DIR/shutdown.sh" if [ $? -ne 0 ]; then     echo "Tomcat 종료에 실패했습니다."     exit 1 fi echo "Tomcat 종료 완료" # 4. Tomcat 시작 sudo "$TOM...

[AWS] AWS 가상컴퓨터 생성~6.EC2 서버에 프록시 서버 생성하여 80port로 포트포워딩~(아마존 클라우드 서버)_cloud computer virtual_-신촌 더조은 학원 AWS-+How to sign up for AWS and use EC2 service+

이미지
 ~6.EC2 서버에 프록시 서버 생성하여 80port로 포트포워딩~ 1. aws ec2 server에 방화벽 인바운드 80 포트포워딩 추가 - ec2 > 인스턴스 > 실행 중 인스턴스 선택  - 하단 보안탭 선택 > 보안그룹 선택  - 인바운드 규칙 편집 선택  - 규칙추가 = 유형 : http / 포트 : 80/ 소스 : Anywhere-IPv4 > 규칙저장 2. vscode로 aws ec2 server에 접속  3. nginx 설치 sudo yum install nginx 4. nginx 설정  sudo vim /etc/nginx/nginx.conf - nginx.conf 파일안 server 부분 내부에 소스추가 location / { proxy_pass http://localhost:8080; } 5. nginx 재시작   sudo systemctl stop nginx  sudo systemctl start nginx 6. 브라우저 test : 8080대신 80port로 접근가능해짐  http://43.203.251.50/todo/list * 스프링 레거시 프로젝트와 스프링 부트 프로젝트의 배포 방식  이번에는 스프링 레거시로 그래들 빌드 후 나온 war파일을 webapps에 배포하는 방식으로 진행했음.  다음에는 스프링 부트에서 그래들 빌드 후 나온 jar파일을 아래 명령어로 배포 할 수 있음 user1@myserver01:~/springex-main$ ssh -i ../.ssh/EC2forLinux.pem ec2-user@52.79.117.155 java -jar xxx.jar  스프링 레거시 프로젝트 빌드 및 패키징 : Gradle 또는 Maven 을 사용하여 프로젝트를 빌드합니다. 이 과정에서 .jar 또는 .war 파일이 생성됩니다. Gradle을 사용할 경우, gradle build 명령어를 사용...

[AWS] AWS 가상컴퓨터 생성~5.AWS RDS생성 및 EC2 서버에연결~(아마존 클라우드 서버)_cloud computer virtual_-신촌 더조은 학원 AWS-+How to sign up for AWS and use EC2 service+

이미지
~5.AWS RDS생성 및 EC2 서버에연결~ 1. AMAZONE RDS 데이터베이스 생성 - 아마존 콘솔 > RDS검색 > 데이터베이스 > 데이터베이스 생성 - 엔진옵션 : MYSQL  - 템플릿 : 프리티어 - 설정  DB인스턴스 식별자 : mysqltestDB 마스터 사용자 이름 : springex 자격증명 관리 : 제체관리(돈안들어감) 마스터 암호 : password0729 - 스토리지  할당된 스토리지 : 15GIB - 연결  컴퓨팅 리소스 (vpc내에서 ec2와 통신설정 나중에 변경가능) : EC2 컴퓨팅 리소스에 연결 안 함 퍼블릭 엑세스 : 예  (EC2에서만 연결해서 사용한다면 퍼블릭 액세스를 "아니오"로 선택해야지만 Workbench로 접근하려면 "예"를 선택해야 함) - 추가구성  백업 : 자동백업 활성화 체크 해제  - 데이터베이스 생성  2. Ping 테스트로 ip확인  - 데이터베이스 생성 대기  - 생성완료 후 생성된 데이터베이스 선택 > 엔드포인트  복사 - cmd > ping mysqltestdb.c3kso6acmqnt.ap-northeast-2.rds.amazonaws.com Ping ec2-3-38-224-44.ap-northeast-2.compute.amazonaws.com [3.38.224.44] 32바이트 데이터 사용: (아이피 보임)  3. 방화벽 오픈 : 인바운드 규칙 추가  - 생성된 데이터베이스 > 보안그룹 선택  -  보안 그룹 > 보안 그룹 선택  - 인바운드규칙 편집  - 규칙 추가 > mys/aurora tcp 3306 사용자지정 0.0.0.0/0  4. MySQL Workbench 접속 테스트  - mysql 워크밴치 접속 > 커넥션 추가 (+) >  호스트네임 (aws db 엔...

[AWS] AWS 가상컴퓨터 생성~4.다른 서버에서 ssh 원격으로 aws ec2에 접속 및 프로젝트 전송,배포~(아마존 클라우드 서버)_cloud computer virtual_-신촌 더조은 학원 AWS-+How to sign up for AWS and use EC2 service+

이미지
~4.다른 서버에서 ssh 원격으로 aws ec2에 접속 및 프로젝트 전송,배포~ # 다른서버 = 지난번 포스팅에서 vitual box를 이용하여 ubuntu server 2개를 생성하였었음 그중 개발서버 server01 (아래링크 참조) https://rockbottomdevbus.blogspot.com/2024/08/ubuntu-virtualbox-vs-6-vscode-remote.html 1. 우분투 서버01 에서 aws ec2서버 ssh연결 - 지난번 생성한 virtual box ubuntu server01(개발서버) 시작  - vscode로 우분투 서버01 접속  - 로컬 암호화키 AWS_TEST_KEY.pem를 서버01에 드래그앤드롭  - 해당파일 /home/user1/.ssh/ 로 이동시키기  mv AWS_TEST_KEY.pem .ssh - 권한변경  chmod 600 .ssh/AWS_TEST_KEY.pem  2. 우분투 서버01 에서 aws ec2서버로 프로젝트 war파일전달 - 프로젝트는 아래 링크에서 다운가능  https://github.com/test119770808/springex   - 프로젝트 폴더 경로로 이동 cd springex-main - server01 프로젝트의 war파일 aws ec2서버로 복사해서 보내기 (gradlew bulid를 진행하면 생성되는 프로젝트 war파일) tip) war파일 풀기 톰캣 재실행 (재실행하면 /usr/local/lib/tomcat/webapps 경로에 war파일이 압축풀리면서 배포됨 ) scp -i ~/.ssh/AWS_TEST_KEY.pem ./build/libs/springex-1.0-SNAPSHOT.war ec2-user@43.203.251.50:~/app.war * (권한때문에 다이렉트로 못가서 홈으로 보냄) yes  - ec2내부에서 전달받은 war파일 이동 및 이름변경  ssh -i ~/.s...
T O P