AWS practice

BenKim·2020년 8월 3일
0

S3

React (app) 만들고, build 해서 배포할 app 정적파일생성

Aws s3 -> bucket 생성 속성에서 -> 정적 웹사이트 호스팅(403)
권한에서 퍼블릭엑세스 권한 체크 다 풀기 -> 퍼블릭 엑세스 허용(404)
버킷정책 구성

정책생성시
정책 타입 –s3 bucket policy
Principal
Actions getObject
Amazon Resource Name (ARN)
arn:aws:s3:::<bucket_name>/<key_name>
arn:aws:s3:::bucketId/

Add statement
생성된 JSON 도큐먼트 복사 후
버킷정책에 복사
빌드된 파일 복사 (주의점 폴더채로 넣으면 안됨!) 200

EC2

AWS 접속
서비스 EC2 검색
인스턴스 시작
ubuntu 18.04 select – "프리티어" 사용가능 선택 –
시작하기 – 새로운 키페어 선택 및 기입 (ex second_key) download !
인스턴스 시작

인스턴스 네임 설정(혼동없기 위해)
~/.ssh 폴더 이동 ( 없을 시 생성!)
이동 후, 다운로드 받은 pem 키 옮기기
Mv ~/downloards/second_key.pem ./
(옮긴다. 대상 폴더의 pem키 현재폴더)
권한 설정
Chmod 400 second_key.pem
Ec2 서버 실행
Ssh –I second_key.pem ubuntu@52.15.82.219(public id)
(헷갈릴 경우, 인스턴스 선택 후, 상단의 connect 버튼 클릭시 나오는 명령어를 사용해도 된다)

ubuntu에 nodeJS 설치

Node-v ( 노드버전 확인 )
Npm install
Sudo apt update
sudo apt install nodejs
sudo apt install npm
Git clone
해당폴더로 이동 후 npm install (ls – al 로 node_modules 확인)
서버 실행 확인
Node index.js OR npm start
IPv4:port 접속 -> 실패

보안 설정 확인

인스턴스 선택 -> 보안그룹설정(가장 우측의 security groups)

인바운드 규칙 설정

HTTP
( 위치 무관 ) ::0, 0.0.0.0/0 (소스 확인)
사용자지정(custom TCP) 포트(설정된 포트) ::0, 0.0.0.0/0 (소스 확인)
IPv4:port 접속! 성공~
서버를 24시간 가동하기 위해, PM2 모듈 설치 해야합니다
-터미널을 종료해도 서버는 계속 가동을 할수 있도록 하는 모듈입니다
Sudo npm –install –g pm2 (범용적이기에 글로벌로 설치를 추천 슈퍼유저 권한 필요)
실행
Pm2 start index.js (가동!)
Pm2 list (가동확인!)
Pm2 stop id (해당 id 가동 중지)
Pm2 kill ( pm2 종료)

RDS

RDS검색후
손쉬운생성 - 프리티어 체크후 mysql 선택
db식별자, 사용자이름, 암호 작성
mysql 버전은 8번대
비밀번호 (""포함할수없음)
추가연결구성- 퍼블릭엑세스 가능체크
포트3306은 노출위험이있어 수정
추가구성
데이터베이스 초기이름 작성
VPC보안그룹- 인바운드 규칙 - 소스 모든트래픽 허용
mysql 서버 실행
sudo /etc/init.d/mysql start (우분투)
mysql -u 사용자이름 --host 데이터베이스엔드포인트 -P 포트번호 -p
비밀번호 입력후 접속완료

rds제거후 snapshot 확인(과금가능성 있기때문에)

profile
연습과 자신감

0개의 댓글