[AWS] 독립네트워크 구성을 위한 VPC 생성

이미지
VPC (Virtual Private Cloud) 는 AWS 에서 제공하는 가상네트워크 입니다. 최초로 AWS의 계정을 생성하고 인스턴스를 구성하게 되면 VPC에 대해 크게 신경을 쓰지않아도 서비스 구성에 큰 불편함이 발생하지 않습니다. 최초 계정 생성시 Default 로 생성된 VPC 를 통해 모든 서비스가 이루어 지기 때문입니다. 하지만 말 그대로 Default 설정이기 때문에 아무런 설정도 이루어져 있지 않습니다. 사용자는 필요에 따라 VPC 를 신규로 생성할 수 있으며 VPC 내부에 복수개의 Subnet 을 구성하여 네트워크를 격리 할수도 있습니다. 다음은 VPC 마법사를 통해서 생성이 가능한 4가지 구성입니다. 1. 단일 퍼블릭 서브넷이 있는 VPC VPC 내부에 퍼블릭 접속이 가능한 단일 Subnet 서브넷 구성으로 Default VPC 구성과 동일 합니다. 2.  퍼블릭 및 프라이빗 서브넷 이 있는 VPC 일반적으로 가장 많이 사용하게 되는 구성으로 VPC 내부에 퍼블릭 네트워크와 프라이빗 네트워크를 분리하는 Subnet 구성입니다. 3. 퍼블릭 및 프라이빗 서브넷이 있고 하드웨어 VPN 액세스를 제공하는 VPC 하드웨어 VPN 연결이 가능한 구성으로 사내 인프라 구성과 Cloud 환경의  인프라를 VPN 으로 연결할 수 있는 구성입니다. 4. 프라이빗 서브넷만 있고 하드위에 VPN 액세스를 제공하는 VPC 3번 구성과 동일하지만 Couud 환경에 프라이빗 서브넷만 구성하였으므로 Cloud 환경의 외부 접속은 원척적으로 차단되고 사내 데이터 센터에서 VPN 을 통해서만 Cloud 환경 접속이 가능합니다. 그럼 실제로 VPC 환경을 새로 구성해 보도록 하겠습니다. 일반적으로 가장 많이 사요되는 퍼블릭/프라이빗 서브넷 혼용 VPC 를 생성하겠습니다. 마법사를 통한 VPC 생성을 진행하면 콘솔에서 자동으로 VPC 네트워크 구성과 프라이빗 | 퍼블릭 서브넷을 각각 생성해 줍니다. V

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 접속정보와 계정,

카드뉴스 마케팅 팁

이미지
아이프렌즈펫의 카드뉴스 최근 SNS에서 가장 핫한 콘텐츠 유형 카드뉴스! 아이프렌즈펫은 현재 홍보 예산을 쓰지 않는 방법으로 인스타그램, 페이스북으로 카드뉴스 콘텐츠 마케팅을 하고 있습니다. 일주일에 1개씩 올리다보니 어느덧 6개월 정도의 시간이 흘렀습니다. 짧은 기간이지만 운영한 경험을 공유하고자 합니다. ㅎㅎ 아이프렌즈펫 페이스북 페이지 >  https://www.facebook.com/ifriendspetpage/ 아이프렌즈펫 인스타그램 >  http://picbear.com/ifriendspet 카드뉴스란? 카드뉴스는 짧은 글과 이미지로 구성된 여러 장의 카드입니다. 단순한 홍보에서부터 언론사까지 다양한 곳에서 활용되고 있는 컨텐츠입니다. 카드뉴스 마케팅의 장점 * 모바일 환경에서 가장 최적화된 콘텐츠 유형이며, * 제작 방법도 다른 홍보 수단에 비해 비교적 간단하고 * 홍보 효과가 빠릅니다. (블로그 - 약 6개월, 카드뉴스 - 3개월) 재미있는 카드뉴스 마케팅 예 옥션 #어서옥션 인스타그램 >  https://www.instagram.com/ebayauction/ 제가 인스타그램에서 가장 재미있게 구경하는 피드 중 하나입니다. 홍보 느낌이 하나도 안나요~ 오레오 #오레오 페이스북 >  http://bit.ly/2gA4MDw 오레오는 제가 마케팅의 ㅁ자도 모를때부터 구경하고 있던 페이스북인데요 과자 하나가지고 이렇게 창의적인 작품들을 꾸준히 업데이트 할 수 있다니 놀랍더라구요 ㅎㅎ 카드뉴스 만들기 1. 주제 선정 카드뉴스를 통해 얻을 목표와 타겟이 명확해야 합니다. 그에 맞춰 전달하려는 정보나 메시지 등을 리서치해서 기획을 하고 제작합니다. 처음 해보시는 분들에게 실패를 줄이기 위한 팁을 드리자면 (여기서 실패란 그냥..묻히는 것 말입니다 ㅠ) 1. 비슷한 주제의 페이스북 페이지 운영하는 곳을 되도

zxing-android 라이브러리를 이용한 QR 코드 생성

android 에서 QR코드를 생성하는 하는 법을 알아 보도록 하겠습니다. compile 'com.journeyapps:zxing-android-embedded:3.5.0' build.gradle의 dependencies에 zxing라이브러리를 추가 합니다. QR코드는 숫자 최대 7089 자, 영문자와 숫자[코드표가 따로 존재] 최대 4296 자, 8비트 바이트 최대 2953 바이트, 한자 1817 자를 담을 수 있습니다. 문자열을 받아와 QR코드를 생성 해보겠습니다.   public static Bitmap generateQRCode(String contents) { Bitmap bitmap = null ; try { QRCodeWriter qrCodeWriter = new QRCodeWriter ( ) ; bitmap = toBitmap ( qrCodeWriter . encode ( contents , BarcodeFormat . QR_CODE , 200 , 200 ) ) ; } catch ( WriterException e ) { e . printStackTrace ( ) ; } return bitmap ; } private static Bitmap toBitmap(BitMatrix matrix) { int height = matrix . getHeight ( ) ; int width = matrix . getWidth ( ) ; Bitmap bmp = Bitmap . createBitmap ( width , height , Bitmap . Config . RGB_565 ) ; for ( int x = 0 ; x < width ;

[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