AWS - S3, EC2, RDS 설정하기

프최's log·2020년 11월 4일
0

study

목록 보기
39/59
post-thumbnail

가입과 보안설정까지 마무리 되었다면, 본격적으로 AWS 서비스를 이용할 수 있다. 대표적인 S3, EC2, RDS 이용에 대한 설정을 이 포스팅에서 다루게 될 예정이다.


S3(Simple Storage Service)

버킷 만들기

  • 일반 구성에서 버킷이름을 작성한다.(고유한 버킷이름만 가능-규약 참조)
  • 퍼블릿 액세스 차단을 위한 버킷 체크 설정 해제
  • 버킷 버전 관리 활성화

만들어진 버킷 속성 및 권한 설정하기

  • 속성 최하단부에 위치한 '정적 웹 사이트 호스팅'을 활성화시킨다.
    • 버킷 웹사이트 엔드포인트를 통해서 버킷에 접속이 가능하다.
  • 권한 탭에서 버킷 정책을 편집한다.
    - 정책 생성기를 통해서 쉽게 설정할 수 있다.
    Select Type of Policy : S3 Bucket Policy
    Effect : Allow
    Principal : *
    Actions : GetObject
    Amazon Resource Name (ARN) : arn:aws:s3:::버킷명칭
  • Add statement를 클릭하면 정책이 생성되어 복사할 수 있다.
  • 복사한 것을 그대로 버킷정책에 넣고 저장하면 적용된다.
  • ARN(Amazon Resource Name) 링크
  • AWS 계정 권한 부여 : Principal 링크

EC2

인스턴스 생성하기

  • 현재 지역(리전) 체크하기
  • 인스턴스 시작을 눌러서 생성 시작 → Amazon Machine Image 선택
    • 프리티어 단계에서 만들 수 있는 운영체제를 선택한다.
    • 프리티어 단계에서 사용할 수 있는 인스턴스 유형을 선택한다.
      다른 걸 클릭하면 과금되니 주의
  • 기본 선택 완료 후 인스턴스 검토를 누르면 키페어를 받을 수 있다.
    • 새 키페어 생성을 통해 키이름을 적고 다운로드 받는다.
    • 확장자가 .pem 키를 다운 받으면 절대 잊어버리면 안되니 보관을 잘 해야한다.

네트워크 보안 설정하기

  • 보안 메뉴에서 [인바운드 규칙]을 설정하여 접속권한을 부여한다.
  • SSH 외 HTTP/사용자지정 TCP/MYSQL 등을 활용할 수 있다.

인스턴스 ssh 설정하기

 ssh를 설정하기 앞서 미리 ssh가 루트 폴더 안에 있는지 확인하고 없으면 ssh 폴더를 만들어서 그안에 키페어(.pem)을 넣어둔다.

  • ssh에 접속한 후, chmod 400 키페어이름.pem 에 권한을 표시한다.
  • 그 후 $ ssh -i ./키페어명.pem ubuntu@퍼블릭DNS 주소를 입력하면 ssh로 인스턴스에 원격접속이 진행된다.
  • 원격접속을 종료하려면 $ exit를 하면 되고, 로그아웃되었다는 표시를 볼 수 있다.

ssh를 통해 인스턴스 접속 후, nodejs, npm 등 필요한 프로그램을 설치하는 등 자유롭게 진행이 가능하다.(git 이미 세팅되어있다.)

로컬에서 확인해봤던 것 처럼 express 서버를 하나 만들어서 git repo 에 등록한 후, ssh를 통해 git clone을 받아 켜볼 수 있다.

터미널을 종료하면 서버가 자동으로 꺼지기 때문에 이를 켜놓고 싶을 경우 pm2 를 설치하여 활용하면 된다.


  • 인스턴스를 중지시켰다가 킬 경우, 퍼블릭 IPv4가 변경되는건지 혹은 다음날 다시 리셋되는지 확인예정

RDS 설정

  • 현재 지역(리전) 체크하기
  • 데이터베이스 생성을 눌러서 시작하면, 엔진옵션을 볼 수 있다. MySQL 등 본인이 사용하는 것으로 선택한다.
    • 스크롤을 내려서 자격증명설정에 마스터 이름정보/마스터암호를 설정한다.(기억해둬야하는 정보)
    • 연결 에서 추가연결 구성을 통해 퍼블릭액세스 가능을 '예'로 설정한다.
    • 데이터베이스 포트는 자유롭게 지정한다.
  • 데이터 베이스 생성이 완료되면 해당 데이터베이스를 눌러서 엔드포인트 경로설정한 포트번호 그리고 마스터 이름(구성 탭에서 확인 가능)을 확인해둔다.
  • 설정이 끝나면 EC2 보안정책 설정해줘야 RDS연결이 된다.(중요!)
  • ssh를 통해 접속한 인스턴스에서 RDS 설정을 확인해보거나, 로컬에서도 확인할 수 있다.
    • $ mysql -h 엔드포인트 경로 -P 포트번호 -u 마스터이름 -p 마스터암호 를 넣어서 접속을 시도한다.
    • 추후 워크벤치 등에 등록시켜서 활용하면 편하다.

관련글
Connecting to a DB instance running the MySQL database engine
RDS 연결 에러가 발생합니다
[Issue] AWS RDS 연결 문제

profile
차곡차곡 쌓아가는 나의 개발 기록

0개의 댓글