AWSRDS는 귀찮은 DB Server 구축을 몇분만에 만들어서 바로 사용 가능하도록 해주는데요 아래는 Amazon RDS 프리티어에 대한 소개 문구 입니다.

 

Amazon RDS AWS 프리 티어
·         MySQL, MariaDB, PostgreSQL, Oracle BYOL 또는 SQL Server(SQL Server Express Edition 실행)를 실행하는 Amazon RDS 단일 AZ db.t2.micro 인스턴스를 750시간 무료 사용 – 매월 지속적으로 DB 인스턴스를 실행하기에 충분한 시간
·         20GB의 범용(SSD) DB 스토리지
·         자동 데이터베이스 백업과 사용자 실행 DB 스냅샷을 위한 백업 스토리지 20GB
이러한 서비스 외에도 Amazon RDS에서 DB 인스턴스를 구축하고 관리할 수 있는 AWS Management Console이 무료로 제공됩니다.
 

 

20GB 이내의 크기라면 프로젝트에 따라 다르겠지만 초기 데이터가 없는 경우라면 개발단계에서는 충분한 크기인것 같습니다.

 

 

1. RDS Database 선택

 

RDS를 생성 하려면 먼저 aws에 로그인을 하고 검색을 하면 바로 찾을 수가 있습니다.

 

 

검색창에 rds를 입력하고 우측에 나오는 RDS를 클릭하여 생성 단계 페이지로 이동 합니다.

 

 

[데이터베이스 생성] 버튼을 클릭하면 데이터베이스 생성페이지로 이동하여 생성을 시작 합니다.

 

 

여기에서 사용하려는 데이터베이스와 버전을 선택합니다.

 

생성방식 : 표준생성

엔진 유형 : 자신이 원하는 Database를 선택해 줍니다.  저는 PostgreSQL를 선택했습니다.

버전 : 희망하는 DB 버전 선택

 

 

템프릿은 무료로 테스트만 하려는거라서 [프리 티어]를 선택 합니다. 프리티어를 선택하면 하단의 가용성 및 내구성은 비활성화 됩니다.

 

 

2. RDS Database 설정

 

 

DB 인스턴스 식별자는 고유한 인스턴스명을 만드는것으로 자신이 RDS를 어떤 목적으로 생성하는지 확인할 수 있도록 만들면 됩니다.  실제 사용할 DB Name은 나중에 입력하는 항목이 나오니 혼동하지 않으면 됩니다.  물론 DB명으로 똑같이 입력해도 되겠죠.

마스터 사용자 정보는 DB에 접속할 ID와 비밀번호 입니다. 이건 DB 접속에 사용되는 ID/PW 정보이니 잘 기입하고 기억해 둡니다.

 

 

DB Server의 사양을 선택하는 것으로 RDS 설명 페이지에서 무료 인스턴스는 db.t2.micro 로 되어 있는데 db.t3.micro가 선택되어 있습니다.

이전 세대 클래스 포함을 활성화해서 t2를 찾아도 안나오는걸 봐서 t3으로 변경되었나 봅니다.

 

 

할당된 스토리지가 기본값으로 200이 되어있는데 무료가 20GB이라고 했으니 낮추고 스토리지 자동조정 활성화도 체크 되어있는데 체크를 해제 해야 합니다.  사용중 데이터 용량이 모자라면 자동으로 확장하는건데 확장하는 만큼 과금 됩니다.

 

 

3. RDS Database 연결 및 보안 설정

 

 

연결 설정은 RDS를 신규로 작성해서 사용하거나 기존에 EC2를 생성했고 EC2에서 연결해서 사용하려는 것인지에 따라 선택을 달리 하면 됩니다.

위에 있는 이미지는 RDS를 신규로 생성해서 사용하는 설정 입니다.  외부에서 RDS에 접속도 가능하게 하려는 경우 위와같이 설정을 해줍니다.

 

만일 기존에 생성한 EC2가 있고 EC2와 연결해서 사용하도록 설정을 하려면 아래처럼 설정해 줍니다.

 

 

VPC 보안그룹을 기존에 생성한 EC2와 동일하게 사용해서 퍼블릭 엑세스 항목을 보면 아예 EC2에서만 접속이 되도록 고정이 되어있습니다. 

 

 

위에서 설정 항목 입력시 입력한 마스터 사용자이름과 마스터 암호를 사용해서 접속하기 위해 암호 인증 방법을 선택 합니다.

 

 

4. RDS Database DB name 설정

 

 

초기 데이터베이스 이름이 DB name으로 여기에 사용할 데이터베이스 이름을 입력하면 됩니다.

이제 맨 하단으로 이동을 합니다.

 

 

5. RDS Database 생성

 

 

중간에 나오는 값들은 대부분 추가요금을 내야하는 설정이므로 기본으로 두고 [데이터베이스 생성] 버튼을 클릭 합니다.

잠시 생성되는데 시간이 소요되니 다른일을 하다 옵니다. 

 

 

이제 RDS가 생성이 되었고 인스턴스가 사용가능하게 되었습니다.

EC2를 통한 접속이거나 외부 연결이 가능한 접속이거나 이제 DBTable을 만들어서 바로 사용하면 됩니다.

 

- copy coding -

 

 

AWS에서 Linux Server 인스턴스를 설치하고 접속해서 사용하는 방법을 알아 보려고 합니다.

그러기 위해서는 먼저 인스턴스를 생성할 때 키를 putty 접속을 선택해서 만들어야 합니다.

 

 

 

그리고 [키 페어 생성] 버튼을 클릭하여 만들어진 키는 잘 저장하고 있어야 합니다.

 

인스턴스가 생성되었다면 EC2 목록을 확인 하고 작업을 시작 합니다.

 

 

인스턴스 ID를 클릭 하여 상세 페이지를 확인 합니다.

IP는 뒷자리를 삭제하고 보여드립니다.

 

 

여기에 접속에 필요한 정보들이 있습니다.

[퍼블릭 IPv4 주소]가 접속할 IP로 사용되고 아래 [보안] 탭에 포트 범위가 22인 항목이 보이면 외부에서 putty FileZilla로 접속이 가능한 상태 입니다.

 

먼저 PuTTY 를 연결하기 위해 실행을 하고 좌측 메뉴에서 Connection > SSH > Auth를 선택 합니다.   그리고 우측에서 [Browse..] 버튼을 클릭하여

 

 

저장해둔 키 파일을 선택해 줍니다.

 

 

 

이렇게 키 선택을 완료 하였으면 좌측 메뉴를 상단으로 올려서

 

 

좌측 메뉴의 Session을 선택한 상태에서 필요한 정보를 모두 입력 하고 [Save] 버튼을 이용하여 저장을 합니다.  물론 저장을 하지 않고 매번 동일한 설정 작업을 해서 접속을 해도 됩니다.

저장된 Session을 더블 클릭 하거나 [Load] 버튼과 [Open] 버튼을 클릭 해서 접속 합니다.

 

 

초기 접속시에 원격 접속 허용여부 팝업에서 [Accept]를 선택 하면 바로 접속 됩니다.

 

 

ID를 입력해야 하는데 만든 기억이 없죠.

login idcentos 입력하고 enter key를 치면 바로 접속이 됩니다.

저는 CentOS라 그렇고 Ubuntu 운영체제를 선택해서 인스턴스를 만들었다면 ubuntu를 입력해 주면 계정 로그인이 됩니다.

 

가장 중요한 root 비밀번호는 최초에 생성이 되어있지 않기 때문에 생성을 해야 합니다.

아래 명령어를 이용하여 root의 비밀번호를 생성해 줍니다.

$ sudo passwd root

 

 

putty 접속은 이렇게 해서 완료가 되었습니다.

 

 

이제 FileZilla로 접속을 하도록 하겠습니다.

 

 

FileZilla는 메뉴 아래에 있는 첫번째 아이콘[사이트 관리자 열기]을 클릭 합니다.

 

 

여기에서 EC2 인스턴스의 정보를 입력 합니다.

프로토콜은 SFTP를 선택하고 EC2 IP를 입력한 후 로그인 유형은 키 파일을 선택 합니다.

사용자는 centos (Ubuntu 운영체제를 선택해서 인스턴스를 만들었다면 ubuntu)를 입력하고  키 파일도 [찾아보기]로 선택해 줍니다.

 

그리고 마지막으로 [연결] 버튼을 클릭 하면 접속이 완료 됩니다.

 

 

이렇게 해서 EC2 Server를 사용하여 작업할 준비가 완료 되었습니다.

  

- copy coding -

 

AWS에 회원 가입을 하였다면 가장 기본적인 EC2 인스턴스를 생성해서 무엇인가 Server 작업을 해봐야 겠죠?  Hardware 사양이 조금 낮기는 하겠지만 사용하는데는 지장이 없는 Server를 무료로 만들어 보겠습니다.

Free Tier는 만드는 방법은 너무 간단해서 한번 해보고 나면 다음번에는 1분이면 생성이 가능 합니다.   예전에는  Server를 잘못 설치 하거나 프로그램을 잘못 설치하면 다시 설치하느라 회사에서 퇴근을 못했는데 이제는 클릭 몇번으로 테스트 서버를 그것도 공짜로 몇번이고 만들어볼 수 있는 시대가 되었네요.

 

AWS에 로그인을 하고 EC2에서 [인스턴스 new]를 클릭 하면 우측에 [인스턴스 시작] 버튼이 보입니다.  만일 인스턴스를 생성 했다면 인스턴스 리스트가 나오겠지요.

 

 

신규 인스턴스를 생성하기 위해 우측에서 [인스턴스 시작] 버튼 클릭합니다.

 

 

 

이름은 편한대로 적어주고

애플리케이션 및 OS 이미지(Amazon Machine Image) 에서 어떤 운영체제의 서버를 생성할 것인가 생각을 하였을테니 검색 창에 필요로 하는 OS 명을 입력하여 검색 합니다. 

 

 

 

좀더 검색된 결과의 개수를 줄이려면 좌측 [좌측 결과 구체화]에서 검색하려는 설정 항목을 체크하면 우측에 검색 결과가 나오고 체크하는 항목에 따라 상단에 검색된 숫자가 변경되는것을 볼 수 있습니다.

사진에 요금 모델은 Free로 하고 운영체제는 CentOS를 체크한 결과가 나왔습니다.

 

CentOS7Free Tier라는 내용은 안보이지만 가능하기 때문에 검색 결과에 나온것입니다.

상단에 나온 CentOS 7[선택] 버튼을 클릭 하거나 버튼 이외의 영역을 클릭해서 상세 정보를 살펴보고 선택할 수 있습니다.

 

 

 

상세 내용에서는 Free Tier라는 내용이 나오고 t2.micro 라는 사양을 사용해야 한다는군요.  계속을 선택하고 이제 아래쪽 상세 설정으로 너어 갑니다.

 

 

 

상단의 요약정보를 확인하고

인스턴스 유형은 Free Tier로 사용하기 위해 Server 사양을 t2.micro를 선택 했습니다.

실제 운영서버를 만드는 거라면 가격표를 보고 좀더 높은 사양을 선택하기만 하면 됩니다.

 

 

 

키 페어는 원격에서 공개키 방식으로 Server에 접속하기 위한 키를 생성하는 작업 입니다.  Google같은 경우는 사용자가 키쌍을(공개키, 개인키) 생성해서 Server에 등록하는 방식으로 되어있는데 AWS에서는 서버 생성시 키를 만들 수 있도록 기능이 되어 있습니다.

 

키 페어 이름은 기억하기 편하게 입력 하는데 나중에 생성된 키의 파일명으로 사용됩니다.

그리고 어떤식으로 접속할것인가 생각한 후 아래 라디오 버튼도 선택을 해 줍니다.  저는 putty로 접속하고 RSA 공개키 방식을 선택 했습니다.

 

이름을 입력하고 사용할 내용을 선택 한 후 [키 페어 생서] 버튼을 클릭 합니다.

키가 생성되었고 공개키는 저장할 위치를 선택하여 잘 저장해 놓습니다.  다음에 puttyFTP로 접속할 때 키를 사용해야 합니다.

 

 

 

네트워크 설정에서 방화벽 규칙을 위한 보안그룹을 생성 하는데 신규 인스턴스인 경우 보안 그룹 생성을 클릭하고 원격 접속을 위해 SSH 트래픽 허용도 체크를 해줍니다.

위치 무관은 아무곳에서나 Server에 접속 할 수 있다는 설정이고 특정한 IP만 접속을 허가하려면 IP 설정을 하면 됩니다.

 

 

 

나머지 고급 세부 정보 설정은 돈이 들 수 있으니 그냥 놔두고 [인스턴스 시작]버튼을 클릭 합니다.

 

 

 

인스턴스를 생성하기 시작 하는데 시간이 소요됩니다.  잠시 휴식...

 

 

 

인스턴스를 생성하는 동안 휴식 보다는 [결제 알림 생성]을 설정 합니다.

 

 

 

저는 두개만 선택하고 [기본 설정 저장] 클릭했습니다.  화면 캡처를 하기위해 이메일 주소를 입력하지 않았는데 꼭 입력 하세요.

 

 

얼마의 시간이 지나고 드디어 인스턴스가 생성 되었습니다.

 

인스턴스 ID를 클릭하면 상세 내용을 확인 할 수 있는데 잠깐 살펴 보겠습니다.

 

여기서 중요한건 자동 할당된 IP 주소입니다.  이것이 외부에 공개된 Server IP 입니다.

그리고 보안 탭에서 인바운드는 외부에서 서버에 접속 할 수 있는 포트를 설정한 것이고 아웃바운드는 서버에서 아무곳으로나 접속이 가능하도록 설정 되어 있는 것을 볼 수 있습니다.

 

이제 인스턴스를 삭제하고 새로 만들어 보세요.  동시에 인스턴스가 2개만 되지 않도록 하면 공짜이니 서너번 생성 해보고나면 좀더 이해가 가고 얼마나 간단하게 서버 구성이 되는지 확인할 수 있습니다.

 

- copy coding -

 

AWS에서 Free Tier를 사용하다 실제로 서비스를 하기 위해서는 프로젝트에 적합한 Hardware 사양을 선택해야 합니다.

여기서는 RDS를 기준으로 예상되는 요금을 계산하는 방법을 알아봅니다.  물론 EC2등도 동일한 방법으로 계산해 볼 수 있습니다.

 

 

1. 서비스 하려는 RDS 선택

 

RDSDB Server와 관련된 온디맨드 DB 인스턴스, 예약 인스턴스 이외에 추가로 데이터베이스 스토리지, 백업 스토리지, 스냅샷등등의 서비스가 추가되어야 합니다.  그래서 어떤 Server를 선택해서 운영할 것인지 미리 결정을 해야 요금 계산기를 사용할 때 편리하게 작업이 가능 합니다.

 

https://aws.amazon.com/ko/rds/postgresql/pricing/

 

Server의 종류는 위의 링크에 접속해서 적합한 기종을 선택 합니다.

 

저는 [온디맨드 DB 인스턴스] [다중 AZ 배포(읽기 가능한 대기 2)]를 사용하기로 했고 그중 db.m5d.xlarge 이것이 마음에 드는군요. 잘 기억하거나 별도의 브라우저 창으로 띄워놓습니다.

 

 

2. RDS 요금 계산 선택

 

이제 실제 비용을 계산하기 위해 아래 링크를 클릭해서 요금 계산 화면으로 이동 합니다.

 

https://calculator.aws/#/addService

 

 

해당 리전에 있는 서비스만 검색할지 전체 서비스를 검색할지 선택하는 항목이 나오는데 [Search by location type]을 선택해서 해당 리전에서 서비스 가능한 제품만 나오도록 합니다.

그리고 리전을 선택해주면 이용할 수 있는 서비스 리스트가 아래에 나열 됩니다.

 

 

 

리스트 중에는 EC2도 있지만 지금은 RDS를 하려고 하니 이건 건너띄고 좀더 아래로 내려가면

 

 

 

이렇게 RDS들이 모여있는곳이 있습니다.  여기서 저는 [Amazon RDS for PostgreSQL]의 요금을 계산해 보려고 합니다.  [구성] 버튼을 클릭하여 상세 견적 화면으로 이동 합니다.

 

 

 

이런식으로 양식이 시작하는데 [PostgreSQL 인스턴스 사양]에서 위에서 설명드린대로 미리 서비스 하려는 인스턴스를 선택하였다면 바로 찾아서 작업할 수 있습니다. 

저는 db.m5d.xlarge 을 서비스 하기로 했으니 찾아서 적용 합니다.

 

 

 

제가 찾는 인스턴스는 하단에 있네요.  선택을 합니다.

 

 

 

[PostgreSQL 인스턴스 사양]을 선택한 화면입니다.

[계산 표시]를 누르면 금액 계산 상세 내역이 나옵니다.

 

계산 양식의 아래에 다른 항목도 서비스에 필요한 만큼 설정을 합니다.

 

 

 

[스토리지] Database를 저장할 공간을 말합니다.  서비스 하는데 필요한 데이터의 합이 어느정도 발생할지 예상을 하고 스토리지 크기를 정합니다.

이게 제일 어려운것 같은데 처음 시작 할때는 좀 작은 크기에서부터 사용고 데이터가 늘어나면 확장하면 되겠죠.

 

 

 

스토리지에 맞추어 스냅샷도 설정 합니다.

항목 하나하나 선택하고 숫자를 입력할 때마다 좌측 하단에 월별 비용이 추가됩니다.

이런식으로 실제 서비스에 필요한 항목들을 한번에 모아서 예상 금액을 계산해 볼 수 있습니다.

보면 알겠지만 여기서 트래픽 비용은 제외된 금액이니 나중에 더 올라갈것을 예상해야 됩니다.

최종 금액은 1,805.90 달러이고 아무것도 선택 하지 않은 다중 AZ 배포의 금액이 1,752.90이었습니다.  중간에 스토리지나 스냅샷을 추가해서 증가한 금액이 53달라가 추가된거네요.

 

너무 비싸네요.  저는 포기해야 겠습니다.

 

여담.

처음에는 금액을 알아보려고 실제 서비스를 신청하면 마지막 부분에서 견적 비용이 나오는줄 알고 위와같이 선택하고 인스턴스 생성버튼을 눌렀습니다.

그런데 아무런 질문도 없이 바로 인스턴스를 생성하더군요.  주말 아침에 일찍 눈이 떠져서 한번 해본건데... 값자기 깜놀해서 생성을 중지시키려고 했는데 안되더군요. 죽는줄...ㅋㅋ

그러다가 침착하게 삭제 오류를 보니 [삭제 방지 프로텍트를 해제]하라고 적혀있어서 인스턴스 생성완료전에 설정을 변경하고 삭제를 하니 생성되던 인스턴스 3개가 삭제 되었습니다.

아직 한달이 안지나서 과금이 안된건가는 잘 모르겠네요.

 

- copy coding-


1

+ Recent posts