배포의 길. 1) http

김민석·2021년 5월 3일
0

aws

목록 보기
1/4
post-thumbnail

참고한 곳
같은 동기의 블로그...압도적 감사
수업 내용에 있던 블로그...압도적 감사
아마존 레퍼런스...하나도 안감사

그냥 가이드 라인을 따라가면 될 것이라고 생각했는데 막상 해보니 그것 너머의 무언가가 있었다....

지금까지의 여정을 기록하여서 나중에 참고할 수 있기를....

사용한 서비스

1. ec2

클라우드 컴퓨팅 서비스다.
AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한대 빌리는 것이라고 생각하면된다.

2. s3

클라우드 스토리지의 일종이다.
정적 웹 사이드 호스팅이 가능하다. (미리 저장된 파일이 그대로 전달되는 웹 페이지)

3. RDS

데이터 베이스 엔진

4. cloudfront

웹 콘텐츠를 좀 더 빠르게 전송하는 기술이다.
전 세계에 Edge Server를 두고 클라이언트에 가장 가까운 Edge Server를 찾아 클라이언트에 제공한다.

5. route 53

DNS 웹 서비스

6. loadbalancer

트래픽이 많을 때, 여러 대의 서버가 분산처리하게 하는 기술

7. AWS certificate

인증서 처리


ec2로 인스턴스 구축

생성

ec2에 들어가 인스턴스 생성을 한다.

도중에 키 페어 생성에서 키를 받으면 된다.

해당 키는 ssh 통신을 위한 프라이빗 키가 기록된 파일이다. 이 키는 나중에 인스턴스에 연결 할 때 사용한다.

연결

무언가 가려져버린 저 부분을 키가 있는 위치에서 접속해주면 된다.

그렇게 하면,

접속이 잘 된다~

이후 개발 환경을 설정해주면 된다.

나는 아래와 같이 노드.js를 설치해주었다.

sudo apt update // sudo apt install wget

//nvm  설치
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
//버전 확인 (버전 확인전에 한번 껐다가 켜야한다.)
nvm --version

//node js 설치
nvm install --lts

// node js 버전 확인
node -v 
//
sudo apt install npm

레퍼지토리 당겨오기

개발환경이 모두 설정했으면 레퍼지토리를 당겨오자!

당겨 온 후 서버에 접속해보기

인스턴스에 dns 서버를 이용하여 연결하기를 해보면, 서버에 접속되지 않는 것을 볼 수 있다.

그 이유는 현재 보안 설정이 인바운드 트래픽에 대해 막혀있기 때문이다.

아마 보안그룹이 SSH에만 접속을 허용하고 있을 터인데,
해당 인스턴스가 속한 보안그룹의 설정을
http프로토콜을 통해 80번 포트에 인바운드 접근이 가능하게 바꿔주면 접속이 가능해진다.


RDS로 데이터베이스 구축

DB 만들기는 상대적으로 쉽다.

1. 연결 옵션에서 아래 부분을 모두 기입하고,

2. 퍼블릭 엑세스 가능을 '예'로 바꿔줌

3. 포트 번호를 13306으로 바꿔주었다.(노출 방지)

4. 초기 데이터 베이스 이름을 test로 바꿔주었음.

test로 바꿔주면 첫 연결에 test 항목을 볼 수 있다.

5. 생성 후 확인

mysql.server start

mysql -u [마스터 이름] --host [엔드포인트 주소] -P 13306(포트번호) -p

이렇게 하면 RDS로 생성한 데이터 베이스에 연결되는 것을 볼 수 있다.


S3로 정적 웹사이트 호스팅

<create-react-app 기준>
build한 파일들은 전부 s3 버킷에 업로드시키면 된다.

버킷 생성

우선 이름을 정해서 버킷하나를 생성한다.

배포를 해보니 이때의 리전은 상관이 없는 것으로 보인다.

이런 식으로 생성이 된 것을 볼 수 있다.

이때 해야하는 것이 두 가지가 있다.

1) 외부에서 이곳에 접속을 했을 때 , 정적 웹페이지를 서비스 할 수 있게 설정

2) 외부에서 접근이 가능하게 퍼블릭 액세스를 차단 해제하고 정책 생성 하기.

정적 웹페이지를 서비스할 수 있게 설정

버킷을 눌러보면 속성 메뉴가 있다.
맨 아래 정적 웹사이트 호스팅 옵션이 있다.

활성화 옵션을 선택한다.

그러면 아래 처럼 메뉴가 뜨는데 index.html을 입력해서 다음을 누른다.

다음은 객체 메뉴로 가서 build 폴더의 내용 모두를 업로드 한다.

퍼블릭 액세스 차단 해제 및 정책 생성

1) 권한 메뉴로 간다.

2) 퍼블릭 엑세스 차단을 모두 비활성시킨다.

3) 버킷 정책을 편집한다.

4) 생성한 버킷 정책을 복사하여 붙여넣는다


0개의 댓글