본문 바로가기
Spring/AWS 실습

AWS 결제시스템 실습

by pms93 2022. 11. 2.

< aws(아마존 웹 서비스) 결제시스템 실습 >

EC2 - 서버
RDS - 데이터베이스
* 탄력적 IP
 - 컴퓨터를 끄면 서버가 다운되면서 접근 ip들이 바뀐다. 이때 고정ip를 설정하고 싶으면 탄력 ip를 설정하게 된다. (설정하게 되면 서버가 꺼져도 요금이 부과되기 때문에 사용x)

* aws페이지 -> ec2 검색 -> 인스턴스 시작 -> 이름 설정 -> os ubuntu 18.04 프리티어 선택 -> 키페어 생성 -> HTTPS, HTTP 허용

* 인스턴스 정상 생성 후 인스턴스 ID클릭 -> 
SSH 클라이언트 -> 
하단의 명령 프롬프트 명령어 복사 -> 
명령 프롬프트에서 실행 후 yes -> 
users/(컴퓨터 계정명)/.ssh에 찾아가 인스턴스 생성시에 다운로드 된 .pem 확장자 파일을 넣는다. -> 
다시 프롬프트 명령어 복사 후 실행 -> 
sudo apt install openjdk-8-jdk 명령어 실행(다운로드) -> 
sudo vim /etc/profile -> 
{
최하위단에 아랫문장 추가
'o' 클릭 후 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ 복사 후 마우스 우클릭 -> 
:wq를 입력하면 저장 후 textfile 탈출
:q!를 입력하면 저장하지 않고 강제탈출
}
esc 누른 후 :wq 입력 -> 
source /etc/profile(서버에 설정을 적용하는 행위) 입력 -> 
sudo useradd -r -m  -U -d /opt/tomcat -s /bin/false tomcat 명령어 실행(tomcat이라는 유저 생성) -> 
sudo tail -5 /etc/shadow, sudo tail -5 /etc/group 명령어로 잘 생성됐는지 확인 -> 
wget http://mirror.apache-kr.org/tomcat/tomcat-9/v9.0.68/bin/apache-tomcat-9.0.68.tar.gz 실행 -> 
sudo tar -xf /home/ubuntu/apache-tomcat-9.0.68.tar.gz -C /opt/tomcat -> 
sudo mv apache-tomcat-9.0.68/ tomcat-9 -> 
sudo chown -RH tomcat: /opt/tomcat/tomcat-9 -> 
sudo sh -c 'chmod +x /opt/tomcat/tomcat-9/bin/*.sh(권한부여) -> 
sudo vim /opt/tomcat/tomcat-9/conf/server.xml ->
{
아래 내용 port 변경
 <Connector port="8888" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
}
sudo vim /etc/systemd/ststem/tomcat.service ->
{
[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"

Environment="CATALINA_BASE=/opt/tomcat/tomcat-9"
Environment="CATALINA_HOME=/opt/tomcat/tomcat-9"
Environment="CATALINA_PID=/opt/tomcat/tomcat-9/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/tomcat-9/bin/startup.sh
ExecStop=/opt/tomcat/tomcat-9/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
}
sudo systemctl daemon-reload ->
sudo systemctl start tomcat ->
sudo systemctl status tomcat -> (상위 2문장 실행 후 해당 문장을 통해 서버 실행상태 확인)

ec2 -> 
보안그룹 ->
인바운드 규칙 ->
인바운드 규칙 편집 ->
규칙 추가 ->
사용자 지정 TCP ->
port 번호 8888 ->
ip = 0.0.0.0/0 ->
규칙 저장

< 명령어 >
* pwd : 현재 경로를 보여준다
* ls : 현재 디렉토리의 파일목록을 보여준다
* tar는 packaging된 파일이다. tar -xf를 통해 경로를 지정해 unpacking을 할 수 있다.
* tail : 조회 명령어
* chown : change owner


* 프로젝트 우클릭 -> run as -> maven build -> goals : clean package -> run 하면 알아서 server에서 압축 풀어서 서비스 해준다
[aws]
sudo chmod 777 webapps
sudo ls -al webapps/

< window에서 >
scp -i [pem파일경로] [업로드할 파일 이름] [ec2-user계정명]@[ec2 instance의 public DNS]:~/[경로]
scp -i bootServer.pem C:\javas\boot_workspace\boot\target\boot.war ubuntu@ec2-43-201-8-191.apnortheast-2.compute.amazonaws.com:/opt/tomcat/tomcat-9/webapps