시작하기, 뭐든

AWS 프리티어로 Oracle 설치하기 - Amazon Aurora에서 Oracle이 되는 과정.. 본문

aws 관련

AWS 프리티어로 Oracle 설치하기 - Amazon Aurora에서 Oracle이 되는 과정..

Gascon 2021. 12. 31. 23:28

시작하기, 뭐든 - 기록 12일차

 

AWS EC2 프리티어로는 gitlab을 설치할 수 없다는 것을 깨닫고, 이제 데이터베이스를 깔아보려고 한다.

AWS 공부하면서 처음 알게된 Amazone Aurora가 궁금해서 선택해봤다!

(이때까진 알지 못했다. 프리 티어에서는 Aurora가 설치되지 않는다는 것을..)

 

Aurora란?

 

먼저, Aurora가 뭔지 간략하게 알고 가자.

Aurora는 관계형 데이터베이스라서 기존에 RDBS를 써온 사람들에게 NoSQL 기반인 DynamoDB보다  좀더 친화적일거 생각해서 선택했다.

 

이미 AWS에는 RDS 데이터베이스 엔진이 있기 때문에 굳이 Aurora를 써야되나 싶긴 하겠지만, 정말 간단하게 정리하면 스토리지랑 관리 주체가 가장 큰 차이가 있는거 같다.

(물론 내가 신경쓸게 줄어들고 AWS가 자동으로 해주는 것들이 많아지면 가격이 비싸지는게 당연하듯 Aurora가 RDS보다 더 비싸니 이건 참고해야될거 같다.)

  Aurora RDS
스토리지 Shared Storage 자체 EBS
관리 주체 AWS 고객 DB 관리자

좀 더 공부하고 싶을 때 볼 수 있는 링크도 남겨두려한다.

https://notemusic.tistory.com/69

 

AWS Aurora란? [1탄 - RDS MySQL과 AWS Aurora의 큰 차이점]

항상 시작만 하고 제대로 끝마무리를 짓지 못한 상태로 티스토리를 이어가는 것 같습니다. 또 오랜만의 글인데요. 이번에는 Aurora에 대한 글입니다. AWS 상에서 Aurora를 구성하고 또 운영하시는 분

notemusic.tistory.com

 

Aurora 설치

(다시한번 말하지만, Aurora는 프리 티어에서 설치되지 않는다..)

 

자, 나는 Aurora 입문을 위해 선택한거기 때문에 빨리 만들어보려고 한다. 

aws 서비스 -> 데이터베이스 -> RDS 순으로 들어가면 된다.

(잊지말자 Aurora도 관계형데이터베이스라는 것을..! )

RDS를 선택해서 들어가면 상단에 보이는 Amazone Aurora의 "데이터베이스 생성"을 클릭한다.

그러면 아래처럼 알림창 같은게 뜨는데, 문제는 이 화면에 있으면 가장 중요한 프리티어 체크를 찾을 수가 없다.

(지금 공부용으로 멘땅의 헤딩 중이라 프리티어가 아니면 좀 곤란하기 때문에..)

그러니 "기존 인터페이스로 전환합니다."를 고민하지 말고 눌러주자.

그럼 이렇게 안심할 수 있는 "RDS 프리 티어에 적용되는 옵션만 사용" 체크 버튼이 보인다.

그럼 이제 또 아름답게 프리티어에서 나의 첫 Aurora를....

사용할 수 있을 줄 알았다. 그렇다. Aurora님도 프리 티어에서는 사용이 불가능하다....

프리 티어. 역시 공짜는 바라면 안되는건가보다.. 오늘도 프리 티어는 나에게 속상함을 주었다.

빠르게 노선을 바꿔서 Oracle을 선택했다...

 

Oracle 설치

1. 엔진 선택

자, 프리 티어 데이터베이스로 Oracle 만한게 없지! Oracle을 깔아봅시다! 엔진 옵션으로 Oracle 선택!

기본 정보들 그대로 설정하고, 프리 티어에 체크가 잘 되어있는지 확인해준다!

자 근데 또 문제가 생겼다. 

DB 인스턴스 클래스를 선택할 SELECT BOX 값이 뜨지 않길래 프리 티어는 선택못하고 그냥 넘어가나보다 했는데...

인스턴스 클래스를 선택하지 않으면 아예 다음 단계로 넘어갈 수가 없었다.

단순히 에러가 난건가 싶어서 프리 티어 체크를 풀어봤다..ㅎㅎ

 

선택할 수 있는 SELECT BOX값이 아주 잘 나온다. 결국 프리 티어의 문제라는 것.

 

좋아보이는 Oracle 최신버전을 다 포기하고 "Oracle 12.1.0.2.v25"를 선택해주면 다행히 DB 인스턴스 클래스가 자동 선택되어진다. 이제 아무일 없는척 다음 단계로 넘어가면 된다.

 

2. 고급 설정 구성

여기서는 기본설정을 좀 바꾸고 가자.

"퍼블릭 엑세스 가능성" 부분은 기본적으로 "아니요"가 선택되어있다.

퍼블릭 엑세스를 아니요로 설정하면 EC2로 연결은 가능하지만 외부에서 접근은 할 수가 없다.

그러니 가능성을 크게? 열어두고 "예"로 변경하자.

 

"VPC 보안 그룹" 기본 설정 그대로.. 초기 설정 그대로 가자.

데이터베이스 옵션에서는 이름이랑 사용할 포트번호를 지정해주면 된다.

이름은 오라클 기본값인 "ORCL"로 두었고, 포트 번호는 1123으로 정해줬다.

(gitalb을 위해 만들었던 프리티어 ec2 인스턴스 포트번호가 1122라서....프리 티어에는 gitlab설치도 무리가 있다.)

그렇다고 나처럼 원하는 포트 아무거나 쓰면 아래와 같은 경고를 받게 된다..

얌전히 기본 포트인 1151로 변경해줘야겠다.

 

데이터베이스옵션 다음으로는 이름부터 멋있는 케르베로스 인증이 나온다.

케르베로스 인증에 대해서 찾다가 간략하게 잘 정리한 글이 있어서 가져와봤다.

1. Kerberos 란??
kerberos는 네트워크 인증 protocol이다.
네트워크 보안에서 Username과 password를 계속해서 보낸다는 것은 매번 password를 가로챌 수 있는 기회를 제공하는 것과 동일하다. 그리하여 Kerberos에서는 이러한 Username과 password의 전송을 최소화로 만들도록 지원한다.

2. Kerberos와 Firewalls의 차이
기존의 보안체계인 Firewalls과 같은 경우는 위험성이 외부에서만 접근할 것이라는 추측을 토대로 제작되어졌다. 하지만 공격의 빈도는 내부에서 더많이 이뤄진다는것을 알 수 있었다.
출처 : https://as9070.tistory.com/107

모든 리전에서 사용가능한게 아니라, aws에서 케르베로스 사용이 가능한 리전을 정리해두었다. 서울 리전도 가능해서 해당 항목이 뜬거 같다. 사용법은 아직 잘 모르므로.. 여기까지 알아보고 디렉토리 생성을 하지 않았다.

 

프리 티어로 만들면 암호화를 사용할 수 없다는 알림창이 뜨는 사람들도 있었는데, 내가 만들 때는 해당 알림은 보이지 않았다. 하지만, 일단 암호화 비활성화를 선택했다.

 

백업 보존 기간도 기본 설정되어있는 7일에서 바꾸지 않았다.

보존 기간이 길면 당연히 좋지만, 보존 기간이 길다 -> 용량 차지를 많이 한다 -> 무료 용량 초과될 수 있음.을 고려하기!

(너무 프리티어에 집작하는거 같긴한데.. 일단 테스트 용이라 최대한 프리 티어를 활용하는게 목표라서 그런..그런거다..진짜로..)

확장 모니터링 사용의 경우 밑에 비활성화된 체크 박스가 신경쓰이지만, 일단 사용하는걸로 둔다.

그 다음, 성능 개선 도우미다.

여기서 보면 KMS키를 사용하는걸 알 수 있다. 이번에도 KMS에 대해서 간략하게 알고 넘어가보자.

KMS도 암호화 관련된 서비스다. 이번에도 깊은 공부를 위한 링크 하나 투척.

https://bluese05.tistory.com/71

 

AWS KMS 어렵지 않아요.

AWS KMS 란 무엇인가 KMS 는 Key Management Service 의 약자로, 데이터를 암호화 할때 사용되는 암호화 Key 를 안전하게 관리하는데 목적을 둔 서비스라고 보면 된다. KMS 는 크게 세가지 방식으로 key 관리

bluese05.tistory.com

그렇다면, 이번 포스팅의 목표인 프리 티어에서 정말 프리하게 사용할 수 있는 기능인가?에 대해서 답은

"그럴 수도, 아닐 수도."

뭔소리인가 하겠지만 KMS는 aws에서도 써두었듯이 요청 20,000건에 대해서는 무료라고 쓰여져 있다. 하지만 API 호출건을 제외한 요청에 대해서 무료인 느낌이다.

공식 답변, 공식 홈페이지에도 AWS KMS API에 대한 요금은 부과된다고 쓰여있기 때문이다.

(그런거로 나는 성능 개선 도우미도 패스.)

 

나머지 로그 쪽은 "알림 로그" 하나 체크해줬고, 나머지는 기본 설정 그대로 두었다.

이제 설정이 끝났으니 데이터베이스를 만들어주자!

생각보다 많은 난관이 있었지만, 드디어 DB 인스턴스 생성 중이라는 반가운 알림창을 만났다.

(분명 2021년에 썼는데 쓰다보니 2022년이 되었다.)

2022년 나의 첫 DB!! 하.. 해피뉴이어!

Comments