티스토리 뷰

728x90
반응형

국내에서 한글로 작성된 아마존 클라우드 서비스 관련된 포스팅이나 정보를 찾기 정말 어렵다는걸 느낍니다.


그나마 EC2관련한 포스팅은 어느정도 있는데


EC2를 제외한 나머지 서비스들은 한글로된 자료 찾기가 하늘의 별따기 수준이네요.


이제는 아마존 클라우드 서비스 이용하시는 분들도 많고, 많은 전문가분들이 있는걸로 알고 있는데


다들 바쁘신지 관련된 경험, 노하우 정보 찾기가 만만치 않습니다.


저라도 열심히 경험을 공유해야겠네요.




이 블로그를 통해서 아마존 EC2로 웹서버 구축까지의 과정을 포스팅을 했었습니다.



아마존 클라우드(Amazon EC2) 무료로 사용해보자 (1/6)

아마존 EC2 인스턴스 생성하기 (2/6)

아마존 EC2에 APM 설치를 위한 준비 (3/6)

아마존 EC2 putty 접속하기 (4/6)

아마존 EC2에 FTP 설치하여 접속하기 (5/6)

아마존에 APM 구축하기 (6/6)

아마존 EC2에 pageant를 이용해 editplus, filezilla, putty 로 접속하기

아마존 EC2 No supported authentication methods available 에러



지난 포스팅에서는 하나의 EC2인스턴스에 PHP, MySQL, Apache를 모두 설치했습니다.


물론 EC2에 직접 데이터베이스를 설치하여 운영하는 것도 가능하지만


데이터베이스부분을 아마존 웹서비스를 통해 이용이 가능합니다.



이름하여 Amazon Relational Database Service(Amazon RDS) 입니다.


한글로도 자세히 설명이 되어 있고, 특히 FAQ도 번역이 꼼꼼히 잘되어 있습니다.







EC2에 mysql을 설치하여 사용하는 것과 RDS를 사용하는 것과 무엇이 더 좋냐고요?


그것은 바로 여러분이 스스로 판단하셔야 합니다.


EC2에 mysql을 설치하여 사용한다는 것은


mysql의 설치부터, 환경설정, 최적화, 운영, 유지보수, 백업 등 데이터베이스 관리에 대한 모든것을 스스로 책임져야 합니다.


그만큼 관리자로서의 역할이 중시되기도 하고,


충분한 관리를 할 수 있는 여력이 있다면 EC2에 mysql을 설치하여 운영하는 것이 좋은 방법일 수 있습니다.


RDS로는 관리자가 컨트롤 할 수 있는 범위가 제한적이거든요.



RDS를 사용하는것은 설치와 유지보수를 비롯한 DB운영부분을 아마존에 위임하는것과 같습니다.


실제로 RDS는 mysql의 config를 직접 수정할 수 없고, RDS에서 제공하는 API를 통해 제한적인 환경설정만 가능합니다.


관리자가 할 수 있는 범위는 좁아졌지만, 그만큼 다른 설정들에 신경을 쓸 필요가 없다는 뜻이기도 합니다.


아마존이 알아서 관리해주니깐요.









자 그렇다면 이제 mysql을 EC2상에 설치하는 것이 아닌 아마존웹서비스의 RDS를 통해 이용해보는 과정을 공유하겠습니다.





아마존웹서비스(AWS)에 로그인하셔서 서비스 메뉴를 열면 RDS가 보입니다.



보이나요?







해당 메뉴에 접속하면 EC2와 비슷한 대쉬보드 화면이 나타납니다.


거의 비슷합니다.



왼쪽 섹션에는 Region을 선택할 수 있는 메뉴와 그외 데이터베이스 관련 메뉴들이 있습니다.


가장 먼저 Region에서 여러분이 RDS를 셋업할 지역을 선택하세요.



그리고 우측섹션의 Launch a DB Instance를 클릭합니다.





DB인스턴스생성마법사가 실행됩니다.


마법사를 통해 매우 쉽게 DB인스턴스생성이 가능합니다.



사용할수 있는 DB종류는 MySQL, ORACLE, SQL Server 이렇게 있습니다.


MySQL은 무료라서 별도의 라이센스 없이 사용이 가능하고, ORACLE이나 SQL Server의 경우 자신이 가지고 있는 라이센스를 등록할 수 있습니다.



MySQL을 선택해보겠습니다.





License Model


License Model은 MySQL의 경우 하나밖에 없으니 선택에 고민을 할 필요가 없습니다.



DB Engine Version



DB Engine Version은 mysql의 버전을 선택할 수 있습니다.


별다른 이유가 없다면 default를 존중하면 더 좋겠죠?




DB Instance Class



DB instance의 종류를 선택합니다.


머신의 성능과 관련 있는 설정입니다.


더 높은 것으로 사용할수록 당연히 요금도 더 높습니다.




Multi-AZ Deployment




Multi-AZ는 DB의 가용성을 높이기 위한 설정입니다.


Multi-AZ를 사용하면 아마존은 우리가 지금 만들고 있는 DB인스턴스의 동일한 복제본을 예비로 유지합니다.


그리고 원본에 문제가 발생하는 경우 예비로 운영되던 복제본이 원본으로 승격되어 운영됩니다.


이 과정이 빠른 시간안에 자동으로 이루어집니다.


여기서 말하는 Multi-AZ는 가용성을 위한 것이지, 읽기 트래픽을 분산하는 용도로는 활용할 수 없습니다.



Multi-AZ는 요금이 추가 과금되기 때문에 DB의 가용성이 중요한 서비스를 운영하신다면 Yes로 활성화 하시는게 좋습니다.


가용성이 딱히 이슈가 되지 않는다면 Multi-AZ없이 사용하시되,


문제가 발생하면 백업본이나 스냅샷으로 다시 인스턴스를 생성하시면 됩니다.




Auto Minor Version Upgrade


자동 마이너버전 업그레이드 설정입니다.


마이너버전은 보통 서비스에 영향을 주진 않으니 체크하셔도 무방할것으로 보이나 염려가 되시는분은 체크를 해제하세요.




자 이제 DB인스턴스에 관한 설정입니다.




Allocated Storage


할당할 스토리지 공간을 설정합니다.


이 값은 차후에 수정이 가능합니다.


적당한 값으로 세팅하세요.




Use Provisioned IOPS





IOPS는 Input/Output Operations Per Second 라는 뜻으로 초당 I/O(입출력) 작업 수를 의미합니다.


이 값을 체크하시면 IOPS를 추가적으로 할당할 수 있습니다.


설정한 값만큼의 입출력을 최소한으로 보장받게됩니다.


당연히 요금이 추가부담됩니다.




DB Instance Identifier


DB인스턴스 구분자입니다.




Master Username


DB유저명입니다.




Master Password


DB유저 비밀번호 입니다.




입력을 완료하셨다면 다음 화면으로 이동합니다.





Database Name


데이터베이스명을 입력합니다.




Database Port


데이터베이스의 포트번호는 기본 3306, 다른 포트를 원하시면 원하시는 포트명을 입력하세요.




Availability Zone





하나의 region은 여러개의 Availability Zone 으로 나뉘어 있습니다.


해당 region에서 머신의 위치를 정하는 것이라 크게 고민할 필요 없이 원하는 위치로 선택해주세요.




나머지 설정은 기본 설정대로 하시면 됩니다.




이제 거의 마무리 되어 갑니다.




Backup Retention Period


백업파일을 보관할 기간 입니다.


RDS는 자동으로 백업스케줄을 관리합니다.


백업파일도 자동으로 관리되고 있으며, 간단하게 몇번의 클릭만으로 장애가 발생하였을때 특정 시점으로 복구가 가능합니다.


당연히 기간을 길게 설정할수록 당연히 요금이 더 나간다는 사실.



Backup Window


백업 시간을 설정할 수 있습니다.


특별한 시점을 선택하지 않아도 되고


특정 시간에 백업을 진행시키고자 하는경우 특별한 시간을 설정할수 있습니다.


백업시간에 해당 머신의 퍼포먼스가 일정 수준 떨어진다는 사실은 감안하시기 바랍니다.




Maintenance Window


시스템 점검, 유지보수 시간설정입니다.


역시 백업시간과 마찬가지로 선택이 가능합니다.


시스템 유지보수는 매번 발생하는건 아니고 보통 수개월에 한번쯤 발생한다고 하네요.






자 이제 모든 설정을 마쳤습니다.


설정이 잘되었나 다시 확인해보고


Launch DB Instance를 클릭하면 RDS를 이용하실 수 있습니다.






DB Instances 메뉴에서 내가 생성한 DB 인스턴스가 활성화 된 것을 볼 수 있습니다.




그런데 여기서 끝이 아닙니다.


지금 이상태는 말그대로 새로운 DB인스턴스를 생성했을 뿐이고,


해당 DB인스턴스는 어떠한 커넥션도 연결이 허용되어 있지 않습니다.



다른 어플리케이션 서버에서 DB인스턴스로 접속을 할 수 있도록 설정을 해주어야 합니다.


이러한 설정을 할 수 있는 메뉴는 바로 Security Groups 설정이죠.



DB Security Groups 메뉴로 들어갑니다.


여러분이 방금 생성한 DB인스턴스는 default라는 이름의 DB Security Group이 설정되어 있습니다.


default를 클릭하면 하단에 해당 Security Group의 설정을 추가할 수 있는 창이 나타납니다.


두가지 방법이 가능한데요.



하나는 CIDR/IP를 등록하는 방법과 다른 하나는 EC2 Security Group을 적용할수 있는 방법입니다.



CIDR/IP로 설정하려면 접속 가능한 CIDR/IP를 넣으시면 됩니다.


0.0.0.0/0 값으로 설정하시면 모든 IP에 대해서 접속을 허용합니다.



입력예)

0.0.0.0/32 모든 엑세스 거부

184.73.39.220/32 해당 아이피만 접속가능

184.73.39.0/24 184.73.39.* 의 아이피만 접속 가능

184.73.0.0/16 184.73.* 의 아이피만 접속 가능

184.0.0.0/8 184.* 의 아이피만 접속 가능

0.0.0.0/0 모든 아이피 접속허용



이미 사용중인 EC2에만 접속권한을 부여하려는 경우에는


EC2 Security Group을 선택하시고


AWS Account Id와 EC2 Security Group을 입력하시면 됩니다.


해당 EC2 Security Group이 설정된 EC2 에 대해서 DB인스턴스로의 연결을 허용 합니다.






자 이제 모든 설정이 끝났습니다.


이제 DB에 연결해보는 일만 남았습니다.



여러분이 사용하고 계신 어플리케이션에서 DB에 접근하려면 DB접속주소를 알아야겠죠?




왼쪽의 DB Instances 메뉴를 클릭하셔서 생성한 DB인스턴스를 클릭하면


하단에 인스턴스 정보가 나옵니다.


여기에 보이는 Endpoint의 주소가 바로 DB에 접근가능한 주소입니다.




php를 이용하신다면


<?php
mysql_connect('RDS주소', '유저명', '유저비밀번호');
mysql_select_db('디비명');
?>


이렇게 접속하시면 됩니다.


수고하셨습니다~

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함