라벨이 [AWS]인 게시물 표시

AWS RDS parameter group을 이용하여 Function 생성하기

이미지
지난 포스팅에서 AWS RDS를 이용해 MySQL DB를 생성해보았습니다. 이후에 MySQL DB에서 Fucntion을 생성하고 사용해야하는 경우가 생기게 됩니다. 예를 들어, DROP FUNCTION IF EXISTS hello_world; DELIMITER $$ CREATE FUNCTION hello_world (addressee TEXT ) RETURNS TEXT DETERMINISTIC READS SQL DATA BEGIN RETURN CONCAT( 'Hello ' , addressee); END; $$ DELIMITER ; SELECT hello_world( 'Earth' ); 위와 같은 FUNCTION을 생성하려고 SQL문을 작성하고 실행해보면 AWS RDS는 Error Code: 1419. You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 이런 에러가 발생하게 됩니다. 에러를 확인해보면 log_bin_trust_function_creators_variable 를 설정하라는 내용입니다. 기존의 로컬이나 물리적 서버 설치였으면 cnf와 같은 환경설정 파일 상에서 환경변수를 설정해줄 수 있었지만,  AWS RDS는 ssh와 같은 접속을 지원하지 않기때문에 parameter group 설정을 지원하고있습니다. AWS RDS Dashboard로 이동합니다. 왼쪽 메뉴에서 파라미터그룹탭으로 이동하면 default 그룹만 있는 상태입니다. 파라미터 그룹 생성을 클릭합니다. 사용하고 있는 DB 엔진을 선택하고 그룹이름과 설명을 입력하고 생성을 클릭합니다. 새로 생성한 파라미터 그룹의 파라미터 편집버튼을 누르고 필터에 function이라고 입력

AWS RDS Mysql 설치하기

이미지
AWS에서는 클라우드 상에 관계형 데이터베이스를 쉽게 설치하고 운영할 수 있는 서비스를 제공합니다. 이를 AWS RDS(Relational Database Service) 라고 합니다.  기존의 로컬이나 물리적인 서버에 데이터베이스를 구축하려고하면 설치부터 셋팅까지 상당한 시간이 소요되기 마련이지만, AWS에서는 콘솔이나 CLI를 이용하여 5~10분만에 Database를 구축할 수 있습니다. 오늘은 이렇게 Database를 AWS에서 설치하는 과정을 포스팅하려고합니다. DB는 Mysql을 설치하고 이 DB의 스펙은 AWS에서 제공하는 프리티어 기준으로 설명드리겠습니다. 먼저 AWS Management Console에 로그인합니다. 최근에 AWS Console이 한글화되었으므로 한글 콘솔에서 설치를 진행해보겠습니다. AWS Services에 RDS를 검색하고 접속해봅니다. 기존 DB인스턴스가 존재하지 않다면 위와 같은 화면이 보여질 것입니다. 지금 시작을 눌러 설치를 시작해보겠습니다.  DB엔진을 선택하는 화면인데 저희는 MySQL을 선택합니다. DB 세부 정보를 지정하는 화면입니다. RDS 프리 티어가 지원되는 옵션만 표시하기를 체크하면 DB인스턴스에 대한 기본 설정이 자동으로 셋팅됩니다. 하단의 DB 인스턴스 식별자와 접속 사용자의 계정정보를 입력합니다. 다음 단계로 넘어가면 DB 고급 설정부분입니다. VPC  : 기본 VPC 서브넷그룹  : default 퍼블릭 액세스 가능 : 예 가용 영역 : 기본 설정 없음 VPC 보안 그룹 : default 데이터베이스 이름 : (최초 DB설치 시 생성되는 DB이름) 데이터베이스 포트 : 3306 ( MySQL 기본) DB 파라미터 그룹 : default 옵션 그룹  : default 위의 작성한 설정들은 AWS에서 기본으로 제공하는 설정들만으로 적용한 내용입니다. 위 상태로 DB인스턴스를 생성하면 DB 접속정보와 계정,

[AWS] ACM (Amazon Certificate Manager)를 통한 SSL 적용 웹사이트 구성

이미지
AWS 의 Certificate Manager 를 활용하면 운영중인 웹사이트에  무료로 SSL 적용이 가능합니다. 기존 방식대로 Web 서버에 HTTPS 접속을 위한 SSL 인증서 적용을 위해서는 웹서버에 직접 모듈을 설치하고 인증서 업로드 및 설정 작업을 진행해 주어야 했지만 ACM 을 활용하면 아래 비교표와 같이 간단한 절차로 SSL 구성이 가능합니다. 그럼 본격적으로 ACM 을 통한 SSL 적용 방법에 대해 알아보겠습니다. 1. 본인소유 도메인과 이메일 접속권한 확인 ACM 을 통한 SSL 적용을 위해서는 우선 본인 소유의 도메인 계정과 도메인 구매시 등록한 이메일 접속 권한이 필요합니다. 도메인 소유자의 이메일을 통해 인증절차 진행 되므로 소유자 메일에 접속이 불가능 하다면 인증서 발급이 불가능 합니다. 2. 소유 도메인 Route53 연결 도메인이 확보 되었으면 두번째로 AWS Route53 서비스에 도메인을 연결 시켜야 합니다. Route 53 > HostZone 에 해당 도메인 정보를 등록하고 NS Value 값을 따로 기록해 둡니다. 3. 소유 도메인의 네임서버 설정 변경 도메인 관리 사이트에 접속하여 위에서 따로 기록해둔 NS Value 값을 네임서버 설정 화면에서 변경하여 적용 합니다. 아래는 가비아의 네임서버 설정 화면 입니다. 네임서버 변경은 일정 시간이 필요 하므로 바로 적용되지 않으면 잠시 기다렸다 다음작업을 진행 합니다. 4. 인증서 요청 도메인에 대한 ACM에서 증명서를 발급받아야하므로, AWS Dashboard에서 Certificate Manage 로 이동합니다. “인증서  요청” 버튼을 선택합니다. 본인이 가지고 있는 도메인 네임을 ibksplatform.com  과 같은 형식으로 입력합니다. 서브 도메인을 사용 예정이라면 *.ibksplatform.com 과 같은 형식으로 이름을 추가합니다. 이렇게 구성하면  XXX.ibks

[AWS] 부하분산과 고가용성을 위한 ELB 구성하기

이미지
이번 포스팅에서는 AWS 에서 제공하는 ELB 서비스에 대해 알아보겠습니다. ELB 란 ? AWS 에서 부하분산 및 고가용성을 위해 제공하는 서비스로  Elastic Load Balancer 의 약자 입니다. ELB 서비스 구성 EC2 인스턴스 생성 ELB 구성을 위해서 먼저 2개의 EC2 인스턴스를 생성 하도록 하겠습니다. 고가용성 구성이 목적이므로 각각의 AZ (Availability Zone)에 하나씩 인스턴스를 생성합니다. 로드밸런서 생성 Instance가 준비되면 Load Balancer 생성을 진행합니다. 좌측 메뉴에서 Load Balancers 를 선택하고  상단 Create Load Balancer 를 선택합니다. 로드 발란서 형식 선택 화면이 표출됩니다. Classic Load Balancer  의 Create를 선택합니다. Load Balancer Name 에 이름을 입력하고 Protocol 과 Port 정보를 입력합니다. Load Balancer Port 와 Instance Port 를 다르게 설정하면  EC2 인스턴스 서비스 포트를 외부에 노출하지 않고 ELB 를 통해서만 접속이 가능하도록 구성할 수 있습니다. 아래  그림과 같이 설정하게 되면 ELB 80 포트로 접속된 서비스를 Instsnce 3000 포트의 서비스로 연결합니다. 입력이 완료되면 Next 를 선택합니다. Security Group 을 설정합니다. 새로운 Security Group을 생성하여 Load Balancer Port  접속을 허용하도록 구성합니다. 입력이 완료되면 Next 를 선택합니다. HTTPS를 사용하지 않는 경우 아래와 같은 경고가 표출됩니다. HTTPS 구성 및 SSL 인증서 설정은 따로 포스팅 하도록 하겠습니다. 우선은  Next 를 선택합니다. Health Check 설정 화면이 표출됩니다. Load Balancer 에 연결된 EC2 인스턴스가 정상적으로 동

[AWS] AWSome Day - Tech 2017 참관기

이미지
안녕하세요 남산돈가스입니다. 지난 주 9월 15일에 세종대학교에서 AWSome Day - Tech 2017 교육행사가 진행되어 참석했습니다. AWSome Day 행사는 아마존웹서비스(이하 AWS)의 기술 에센셜 과정의 내용을 기반으로 컴퓨팅, 스토리지, 데이터베이스 및 네트워크 등 AWS의 핵심 서비스들에 대해 단계적으로 알아볼 수 있도록 구성되어 있는 행사라고 할 수 있는데요. AWS의 핵심 서비스들을 다루어보면서 조금은 더 AWS의 익숙해질 수 있는 자리였습니다. 오전에 세종대학교에 도착했습니다. 처음으로 와본 세종대학교였는데. 생각했던 것 보다 건물들이 세련되고 깔끔하더라구요. 함께 참석했던 분들 모두 오랜만에(?) 대학생의 마음을 가지고 등교하는 기분으로 교육장을 찾아갔던 것 같습니다.ㅎㅎ 행사장을 찾아가면서 곳곳에 AWSome Day 현수막들을 볼 수 있었습니다. 교내에서 이렇게 좋은 행사가 진행되는데 클라우드서비스의 관심이 있는 세종대학교 학생들에겐 정말 좋은 기회라고 문득 생각이 들었습니다. 행사장이 지하 2층에 있어 에스컬레이터를 타고 내려가면서 행사가 준비되고있음을 로비의 소란스러운 소리를 통해 알 수 있었습니다. 로비에는 AWS의 파트너사들인 메가존, 농심데이터시스템, 슈퍼트랙 등 다양한 부스 전시가 진행되고 있었고, 저희는 행사장 안으로 들어갔습니다. 행사장 규모는 정말 엄청났습니다. 물론 세계적인 행사인 AWS Summit보다는 작았지만 일반적인 IT행사라고는 생각할 수 없을 정도로 큰 행사장에 수많은 사람들이 있었습니다. 자리를 찾아 앉아 교육자료까지 준비해놓고 이제 강의를 들을 준비를 마쳤습니다. 기조연설을 시작으로 행사가 본격적으로 시작되었습니다. 아마존 테크니컬 트레이너 두 분이서 번갈아가며 강의를 해주셨는데, 자칫 지루해질 수 있는 강의에서 특별했던 점이 트레이너 한 분이 실제로 AWSome Day를 위한 데모 서비스를 구축해오셔서 AWS 서비스를 이용한 데모에서 행

[AWS] WinSCP 를 이용해 Linux 인스턴스로 파일 전송하기

이미지
지난 포스팅에서는 Putty 를 활용한 Linux 인스턴스 접속 방법에 대해 알아 보았습니다. 오늘은 이어서  Linux 인스턴스에 파일을 전송할수 있는 WinSCP 활용법에 대해 알아보겠습니다. WinSCP 를 사용하기 위해서는 우선 지난 포스팅에서 Puttygen 을 통해 생성한 PPK 파일이 필요합니다. PPK 파일생성 방법은 [AWS] Windows 에서 Linux 인스턴스 연결을 위한 PuTTY 사용방법 을 참고. 1.  개인 key 를 활용한 서버 접속 방법 아래 링크를 통해 WinSCP 프로그램을 다운로드 합니다. WinSCP 다운로드 -> https://winscp.net/eng/download.php WinSCP 를 설치하고 프로그램을 실행 합니다. 프로그램을 실행하면 바로 로그인 입력 화면이 표출됩니다. 호스트 이름 에 Ec2 인스턴스의 Public IP 또는 Public DNS 를 입력합니다. 사용자 이름 에 접속할 계정 정보 를 입력 합니다. 인증키를 통해 서버에 접속할 예정이므로 설정을 위해 고급버튼 을 선택합니다. * 인스턴스 접속계정 정보는 아래와 같이 구성됩니다. Amazon Linux AMI의 경우 사용자 이름은 ec2-user RHEL AMI의 경우 사용자 이름은 ec2-user 또는 root Ubuntu AMI의 경우 사용자 이름은 ubuntu 또는 root Centos AMI의 경우 사용자 이름은 centos Fedora AMI의 경우 사용자 이름은 ec2-user SUSE의 경우 사용자 이름은 ec2-user 또는 root SSH – 인증 메뉴를 통해 개인키 파일을 등록할 수 있습니다.  SSH 접속을 위해 생성했던 PPK 파일을 선택한 후 확인 을 선택 합니다. 다시 로그인 화면으로 돌아와 로그인 버튼을 선택 합니다. 아래와 같이 인증 절차가 진행됩니다. 인증 완료 후 서버에 접속되고 ec2-user 디렉토리