-
1. Amazon EC2KH/TEAMPROJECT 2022. 10. 25. 12:36
1. EC2 사용 설정
Amazon EC2 사용 설정 - Amazon Elastic Compute Cloud
보안상의 이유로, SSH 유형의 규칙에 대해 [소스(Source)]를 [위치 무관(Anywhere)]으로 선택해서는 안 됩니다. 이렇게 하면 인터넷의 모든 IP 주소에서 인스턴스에 액세스할 수 있습니다. 테스트 환경
docs.aws.amazon.com
# 보안그룹
유형(SSH) 포트번호(22)
- AWS EC2에 터미널로 접속하는 경우를 의미
> pem 키 관리와 지정된 IP에서만 ssh 접속이 가능하도록 구성
2. Linux 인스턴스 시작
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance
자습서: Amazon EC2 Linux 인스턴스 시작 - Amazon Elastic Compute Cloud
키 페어 없이 진행(권장하지 않음)(Proceed without a key pair (Not recommended))을 선택하지 마세요. 키 페어 없이 인스턴스를 시작하면 인스턴스에 연결할 수 없습니다.
docs.aws.amazon.com
# 인스턴스
- 인스턴스 생성 시에 항상 새 IP를 할당
> 인스턴스를 중지 후 재시작하는 경우도 새 IP를 할당해 변경됨
> 인스턴스의 IP가 매번 변경되지 않고 고정 IP를 가지게 해야함
# EIP 할당
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html탄력적 IP 주소 - Amazon Elastic Compute Cloud
탄력적 IP(EIP) 주소의 역방향 DNS 설정에 대한 AWS 지원을 문의한 경우 역방향 DNS를 설정할 수 있지만, 탄력적 IP 주소는 AWS 지원에 의해 잠겨 있어서 해제할 수 없습니다. 탄력적 IP 주소를 해제하려
docs.aws.amazon.com
- 탄력적 IP는 생성하고 EC2 서버에 연결하지 않으면 비용이 발생
> 생성한 탈력적 IP는 무조건 EC2에 바로 연결해야 하며, 더이상 사용할 인스턴스가 없을 경우 탄력적 IP를 삭제
# WSL 사용
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/WSL.html
Windows Subsystem for Linux를 사용하여 Windows에서 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
https://learn.microsoft.com/ko-kr/windows/wsl/install?source=recommendations
WSL 설치
wsl --install 명령을 사용하여 Linux용 Windows 하위 시스템을 설치합니다. Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine 등 원하는 Linux 배포판에서 실행되는 Windows 머신에서 Bash 터미널을 사용할 수 있습니
learn.microsoft.com
https://learn.microsoft.com/ko-kr/windows/wsl/troubleshooting?source=recommendations
Linux용 Windows 하위 시스템 문제 해결
Linux용 Windows 하위 시스템에서 Linux를 실행하는 동안 사용자에게 발생할 수 있는 일반적인 오류 및 문제에 대한 자세한 정보를 제공합니다.
learn.microsoft.com
# 2-2. SSH 클라이언트를 사용하여 Amazon Linux 인스턴스에 연결 명령
ssh -i /path/key-pair-name.pem instance-user-name@ec2-203-0-113-25.compute-1.amazonaws.com3. Linux AMI에 LAMP 웹 서버 설치
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
자습서: Amazon Linux 2에 LAMP 웹 서버 설치 - Amazon Elastic Compute Cloud
Amazon Linux을 사용하지 않는 경우, 이러한 연결을 허용하도록 인스턴스의 방화벽을 구성할 필요가 있습니다. 방화벽 구성 방법에 대한 자세한 내용은 사용자의 특정 배포에 대한 문서를 참조하세
docs.aws.amazon.com
# 시간(TimeZone) 설정
Amazon Linux 2에서는 기본적으로 chronyAmazon Time Sync Service IP 주소를 사용
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html
Set the time for your Linux instance - Amazon Elastic Compute Cloud
Set the time for your Linux instance A consistent and accurate time reference is crucial for many server tasks and processes. Most system logs include a time stamp that you can use to determine when problems occurred and in what order the events took place
docs.aws.amazon.com
// 시간 확인 date // 한국시간(KTS)로 변경 sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime# JDK 설정
// 설치 가능한 JDK 확인 sudo yum list|grep jdk // 프로젝트에 맞는 JDK 버전[(.8.0)을 맞춰 설치 sudo yum install -y java-1.8.0-openjdk-devel.x86_64 // 설치 확인 java -version// vim 편집기로 java파일 생성 vim HelloWorld.java // i(insert 모드) public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World"); } } // ESC(명령모드) :wq 혹은 ZZ // 파일 내용 확인 cat HelloWorld.java // 컴파일 javac HelloWorld.java // class 파일 생성 확인 ls // java 파일 실행 java HelloWorld# JAVA_HOME 설정
// JAVAC 위치 확인 which javac readlink -f /usr/bin/javac // 편집기로 환경설정 파일 열기 vim /etc/profile // I(insert 모드), 파일 끝에 추가 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.amzn2.0.1.x86_64 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/tools.jar // ESC(명령 모드), 저장 :wq // profile reload source /etc/profile // 확인 echo $JAVA_HOME# 톰캣 설정
- 스프링 부트는 톰캣을 JAR파일에 내장하기 때문에 바로 실행가능한 JAR파일로 배포가 가능
> 스프링은 WAR파일로 배포하기 때문에 WAS가 있어야 실행 가능
사용할 톰캣 9.0 - https://tomcat.apache.org/download-90.cgi (Core: tar.gz 다운로드)
Apache Tomcat® - Apache Tomcat 9 Software Downloads
Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version
tomcat.apache.org
톰캣 다운로드
1) // 설치 가능한 톰캣 목록 확인(최신버전의 경우 홈페이지에서 직접 설치) sudo yum list | grep tomcat // 톰캣 설치 sudo yum install tomcat // 톰캣에서 실행되는 관리용 WEBAPP 패키지 설치 sudo yum install tomcat-admin-webapps sudo yum install tomcat-webapps sudo yum install tomcat-docs-webapp 2) 다운로드 후 이동 // 인스턴스에 복사 scp -i /path/mj/key-pair-name.pem /path/apache-tomcat-9.0.68.tar.gz instance-user-name@my-instance-public-dns-name:~ // 인스턴스로 이동 ssh -i /path/key_pair-name.pem instance-user-name@my-instance-public-dns-name 3) 링크로 다운 wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.68/bin/apache-tomcat-9.0.68.tar.gz톰캣 설치
// 압축해제 sudo tar xvfz apache-tomcat-9.0.68.tar.gz -C /usr/local //디렉토리명 변경 mv apache-tomcat-9.0.68 tomcat9.0 // 환경변수 설정 vim /etc/profile source /etc/profile // 문서 끝에 추가 export CATALINA_HOME=/usr/local/tomcat9.0 // 해당 경로의 server.xml 확인 후 수정 cd /usr/local/tomcat9.0/conf ls vim server.xml // 한글 인코딩 추가 <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" /> // 실행 확인을 위한 경로 cd /usr/local/tomcat9.0/bin // 톰캣 실행권한 설정 chmod +x startup.sh chmod +x shutdown.sh // 톰캣 실행 - cd /usr/local/tomcat9.0/bin/startup.sh ./startup.sh // 포트 확인 netstat -anp|grep 8080 // 브라우저에서 톰캣 홈페이지가 뜨는지 확인 퍼블릭IPv4DNS:8080톰캣 권한// 톰캣을 설치할 폴더 생성 sudo mkdir /opt/server // 압축해제 sudo tar xvfz apache-tomcat-9.0.68.tar.gz -C /opt/server/ // 폴더 이동 cd /opt // 적용 sudo ln -s /opt/server/apache-tomcat-9.0.68/ tomcat // 그룹 생성 sudo groupadd tomcat // tomcat 계정으로 직접 로그인 할 일이 없으므로 sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat // 계정에 그룹, 권한 부여 sudo usermod -aG tomcat ec2-user // tomcat 계정 권한 설정 cd /opt/tomcat sudo chgrp -R tomcat /opt/tomcat/ sudo chown -R tomcat /opt/tomcat/ sudo find . -type d -exec chmod 750 {} + sudo find . -type f -exec chmod 640 {} + sudo chmod 750 bin/*.sh //확인4.
https://junhyeong-jang.tistory.com/10
EC2(Linux) 사용자 별 .pem 파일 생성하기 및 ec2-user 비활성화
안녕하세요. 오늘은 EC2(Linux)를 생성할 때, 기본적으로 생성되는 ec2-user와 ec2-user에 맵핑되어 있는 Default .pem 파일을 비활성화 하고, 사용자별로 .pem 파일을 만들어주도록 하겠습니다. 이렇게 하는
junhyeong-jang.tistory.com
5. Amazon Linux 2에서 SSL/TLS 구성https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html
자습서: Amazon Linux 2에서 SSL/TLS 구성 - Amazon Elastic Compute Cloud
여러 가지 방법으로 사용자 지정 키를 EC2 인스턴스에 업로드할 수 있지만, 가장 간편하고 유익한 방법은 텍스트 편집기(예: vi, nano, 메모장)를 로컬 컴퓨터와 인스턴스에 모두 열고 두 편집기 간
docs.aws.amazon.com
'KH > TEAMPROJECT' 카테고리의 다른 글
1. DB 계정 (0) 2022.10.19 0.Github Desktop 새 branch 생성 (0) 2022.10.14 0. Repository 권한 부여 (0) 2022.10.14 0. gitignore 설정 (0) 2022.10.14 0. GitHub Desktop 설치 ~ Repository 연결 (0) 2022.10.13