[AWS] RMySQL 및 DBI 설치하기

RMySQL과 DBI는 R과 MySQL을 같이 사용하도록 도와주는 패키지이다.

헌데 이 패키지는 install.packages()로는 설치가 되지 않는다.

그러므로 다음과 같은 작업이 필요하다.

그래서 구글에 ‘rmysql install centOS’라고 검색해보았다.

그랬더니 다음과 같은 동영상을 발견할 수 있었다.

위 동영상과 같이 작업하면 문제 없이 설치 될 것이다. 그래도 문서로 작성해 보면,

일단, putty를 이용하여 AWS EC2 instance에 연결한다.

sudo yum install mysql-devel

sudo yum install r-devel

위 두 명령으로 r-devel과 mysql-devel을 설치한다.

다음 R을 실행시키고

R

install.packages(‘DBI’, repos=”http://cran.stat.nus.edu.sg/ “)

위처럼 입력하면 ‘DBI’ 패키지를 설치하게 된다.

다음으로,

install.packages(‘RMySQL’, repos=”http://cran.stat.nus.edu.sg/ “)

위처럼 입력하여 ‘RMySQL’ 패키지를 설치한다.

이로써, 영상은 ‘Done!’ 이라며 끝나게 된다.

하지만, 우리는 여기서 한가지 더 해야한다.

install.pacakges(‘DBI’,  type=’source’)

install.pacakges(‘RMySQL’,  type=’source’)

이렇게만 하여야 library() 함수를 이용해서 불러올 수 있게 된다.

 

우리가 ‘RCurl’ 같은 경우는 install.pacakges(“RCurl”)만 해도 설치가 가능하다.

그런데 왜 ‘RMySQL’, ‘DBI’, ‘dplyr’ 등과 같은 packages는 바로 설치가 안될까?

이유는 cpp로 작성되어 있기 때문이다.

그렇기 때문에 type=’source’로 하여금 install 할 필요가 생긴다.

 

다음에는 위 패키지들로 R에서 MySQL로 연결하는 것을 알아보도록 하자.

Advertisements

[AWS] MySQL 설치 및 HeidiSQL 연결

오늘은 Amazon EC2에서 Instance에 MySQL을 설치하고 HeidiSQL로 연결하는 것을 해보겠다.

참고로, HeidiSQL은 MySQL과 같은 SQL의 관리를 도와주는 프로그램이다.

1. Instance에 MySQL 설치

먼저, putty로 instance에 연결하여 아래 명령어를 실행해준다.

sudo yum install mysql-server

aws mysql install

aws mysql install success

그럼 위와 같이 설치를 완료하게 된다.

그리고 mysql server를 실행해주자.

sudo service mysqld start

aws mysql start

완료시 위와 같은 결과가 뜨게 된다.

설치가 끝나면 보안 설정을 하자.

sudo mysql_secure_installation

위와 같이 명령하면 root 계정에 비밀번호를 설정할 수 있다.

처음부터 enter, Y, (안전한 암호 2번), Y, Y, Y, Y 순서대로 함으로써 안전하게 root비번 설정!

참고 : http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/install-LAMP.html

그리고 매번 서버를 실행할 때 자동 실행 되도록 아래와 같이 명령어를 치자.

sudo chkconfig mysqld on

참고로, /etc/my.cnf를 편집하여 포트를 3306의 기본 포트에서 변경가능하다.

aws mysql my.conf.png

위처럼 포트가 적혀있으면 그 포트로 되고, 적혀있지 않으면 기본으로 3306  포트가 된다.

그리고 아래의 명령어로 mysql을 재시작 해준다.

sudo service mysqld restart

 

2. HeidiSQL 연결

이제 HeidiSQL로 연결을 해보자.

HeidiSQL을 실행하면 아래와 같이 입력해준다.

네트워크 유형은 MySQL(SSH tunnel) 로 설정하고, 호스트명/IP는 자신의 아이피로 한다.

(자신의 아이피는 127.0.0.1 or localhost)

포트는 MySQL 설치시 따로 바꾸지 않았다면 3306포트로 유지

HeidiSQL aws connect

이제 SSH 터널 탭에서 plink.exe의 위치를 잡아주고,

SSH 호스트 + 포트에 자신의 instance의 Public DNS를 넣어준다. 포트는 22로 한다.

plink.exe는 아래 링크를 타고 설치할 수도 있지만, putty 설치를 구글에 검색하면 그 중간에 plink.exe도 다운 받을 수 있다. 아래 링크를 들어가면 다운 받을 수 있다.

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

이제 사용자 명과 암호를 입력하는데 이전에 따로 암호를 설정하지 않았다면 빈칸으로 둔다.

다음 개인 키 파일을 불러온다. 확장자가 .ppk 였던 것으로 불러오면 된다.

pem을 불러오면 에러가 남으로 주의 할 것!

포트는 MySQL포트와 다른 포트를 적어주어야 한다. 3306을 썻다면 3307이나 3308처럼 쓰이지 않는 포트를 넣어주는 것이 중요하다.

HeidiSQL aws connect2

연기를 눌러 연결하면 아래와 같은 창으로 시작하게 될 것이다.

aws heidiSQL Complete

이로써 완료이다.

 

다음 번에는 이렇게 만들어진 SQL과 R로 무엇을 할 수 있는지 알아보도록 하겠다.

[AWS] R Studio Server 구축하기

R studio를 AWS에 설치하여 사용하는 것을 스터디에서 추천해주어서 해보았다.

일단 이글은 아래의 주소를 참조하여 만들었다.

https://aws.amazon.com/ko/blogs/big-data/running-r-on-aws/

amazon에서 올려준 글이므로 여기에 있는 여러 글들은 큰 도움이 된다.

1. AWS EC2 Instance Launch

먼저 로그인을 하면 아래와 같은 페이지가 나온다.

aws main.png

여기서 왼쪽 상단의 service를 누르고, 아래의 빨간 원처럼 ec2를 클릭한다.

aws EC2

그러고 나면 아래의 페이지 처럼 나올 것이다.

aws EC2 main

여기서 Runnig Instances나 왼쪽 목록에서 Instance를 누르면 아래와 같이 나오게 된다.

aws EC2 instance.png

이제 위에 파란 버튼인 Launch instances 버튼을 눌러준다.

aws launch instance

그러면 위처럼 어떤 AMI를 사용할지 나오게 된다.
기본인 Amazon Linux를 Select

다음을 누르면 Type을 선택하도록 되어 있다. 무료로 이용할 것 임으로 우리는 t2.micro를 선택하고 다음으로 넘어간다.

aws ec2 configure instance

그러면 위와 같이 나온다. 이때 위 빨간 상자로 되어 있는  Auto-assign Public IP가 User subnet setting(Enable)이 아닌 Enable로 나오도록 바꾸어 주자.

이는 필자만 겪은 에러일 수도 있는데 region이 seoul일 경우 나중에 Instance가 public IP를 못 찾아오는 현상을 겪었기에 미리 예방하는 차원에서 바꾸어 준다.

그리고 계속 다음 다음 하다보면 Security Group을 설정하도록 되어있다.

aws instance security group

위에 사진처럼 Add Rule을 하여 8787 포트를 열어두자.

이렇게 해놓아야 Rstudio server에 접근이 가능하다.

SSH를 열어 놓은 것은 터미널로 접근하기 위해서 이다.
터미널로 접근하여 Rstudio server를 설치할 것임으로 필수이다!
(자신 외에 다른 사람의 접근을 허락하고 싶지 않은 경우 anywhere을 My IP로 바꿔준다.)

그렇게 Review and Launch를 누르고 다시 Launch를 누르게 되면 key pair를 선택하도록 나온다.

aws instance keypair

key pair는 설치하여도 좋고, 기존의 key pair를 선택하여 사용해도 상관 없다.

다만, 이름을 (username)-key-pair-(region) 식으로 하여 관리하는 것이 용이할 것이다.

여기에 사용한 key pair는 잃어버리지 않도록 주의해야 한다. 이때 key pair는 터미널로 접속하기 위해 필수적으로 필요하다.

체크를 하고 Lauch Instances를 하였다면 이상 없이 아래와 같이 나올 것이다.

aws launch success.png

이제 터미널로 접근할 것이기 때문에 Putty의 설치가 필요하다.

2. Putty 설치

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

위 경로에서 자신의 OS bit에 맞는 것을 선택하여 설치하면 된다.

putty와 puttygen은 이 필요함으로 2개만 설치하여도 무관하다.

우선, puttygen을 실행한다.

puttygen.png

Load를 눌러 만든 instance에 사용된 key pair를 불러온다.

그뒤 Save private key를 눌러 .pem이라는 확장자로 새로운 key pair가 생기면 성공이다.

자세한 사항은 아래 사이트에 있다.

http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html

이젠 putty로 instance에 연결을 시도하자

일단 이전에 생성한 instance가 running의 상태인지 확인하자.

stop이 되어 있다면 run시켜 주도록 하자.

putty

putty를 실행시키고 Host Name에는

ec2-user@(Public DNS)

ex) ec2-user@ec2-52-79-137-153.ap-northeast-2.compute.amazonaws.com

를 넣어준다.

이 주소는 다시 stop했다가 run할때마다 바뀜으로 모든 사용자가 다르게 가지고 있다. 그럼으로 자신의 instance가 가진 Public DNS로 작성해야한다.

이제 key pair를 연결하자

putty의 왼쪽 목록에서 [connection]-[SSH]-[Auth]로 들어가서 Browse…를 눌러 아까 puttygen으로 만든 .pem 파일을 연결시켜 준다.

putty auth.png

여기서 이전으로 돌아가려면 왼쪽 목록에서 session을 누르면 된다.

session으로 돌아오게 되면 바로 Open을 눌러도 되지만 다음 번에 접속할 수도 있으므로 미리 저장해두자.

이제 Open하여 연결하면 다음과 같은 메시지 창이 뜨는데 예(Y)를 누르고 들어가면 된다.

aws rstudio.png

3. R Studio Server 설치

https://www.rstudio.com/products/rstudio/download-server/

위 주소에서 최신 Rstudio server 설치법을 보고 하였다.

우리는 Redhet/CentOS에 들어가 거기에 맞는 방법을 사용하면 된다.

먼저 R을 설치해야 함으로 다음과 같이 입력한다.

sudo yum install -y R

그리고 R studio Server를 다음과 같이 입력하여 설치한다.

wget https://download2.rstudio.org/rstudio-server-rhel-1.0.143-x86_64.rpm
sudo yum install –nogpgcheck rstudio-server-rhel-1.0.143-x86_64.rpm

설치하고 나면

rstudio-server start

하여 서버를 실행해 주자.

이제 (PublicDNS):8787입력하면 Rstdio 로그인 화면이 뜨게 된다.

ex) http://ec2-52-79-213-121.ap-northeast-2.compute.amazonaws.com:8787

로그인을 하게 되면 아래 처럼 R Studio를 이용할 수 있다.

aws rstudio

로그인을 위해선 계정이 필요한데 터미널로 접속하여

useradd 계정명
echo ‘계정명:패스워드’ | chpasswd

라고 하면 된다.

비번을 바꾸는데 에러가 난다면,

sudo -s

를 입력하고 다시 바꿔보면 된다.

root계정이 아니면 passwd를 바꿀 수 없기 때문이다.

[Python]Octave to Python! 두번째

python으로 작업하기 두번째이다.

사실 오늘 좀더 많이 진도를 나가고 싶었지만, contour plot에 점찍기가 너무 오래 걸려 많은 양의 코딩을 하진 못했다.

해결하고나니 정말 별거아니라 더 짜증…


먼저 어제에 이어 surface 결과값이다.

왼쪽이 octave, 오른쪽이 python 결과물이다.

당연하지만 둘의 차이점은 크게 느낄 수 없다.

surf를 그리려고 굉장히 많은 시간을 허비했다.

하지만, matplotlib 정식 사이트에서 보여주는 example 덕에 조금이나마 빠르게 해결할 수 있었다.

X축은 theta0가 취한 값, Y축은 theta1가 취한 값, Z축은 theta에 따른 cost값이다.

다음은 대망의 contour plot 이다.

왼쪽이 octave, 오른쪽이 python 결과물이다.

X축과 Y축은 theta를 의미하고 영역은 cost값으로 구분되어 있다.

붉은색 x표시는 최적의 theta값의 위치를 표현한 것이다.


나에게 큰 절망을 준 contour plot…  가운데 점찍는데 한참이 걸렸다.

google에 안쳐본 검색어가 없는거 같다.

결국 stackoverflow가 해결해 주었지만 저걸 보고도 30분간은 씨름했었다.

data2[0,0]과 data2[0][0]의 차이로 error가 계속 발생하였는데 정말 멍청하게도 저걸 의심하지 않았다. 젠장…

다음부턴 best_theta=data2[0] 이런식으로 바로바로 해서 에러를 줄여야지 화나서 안되겠다.

내일은 multiple regression 예제 파일을 바꾸어서 올려보도록 노력하겠습니다.

도움이 된 사이트 :

https://matplotlib.org/

http://stackoverflow.com/questions/28504737/how-can-i-plot-a-single-point-in-matplot-python

이번에 만든 파일 ex1.py :

https://drive.google.com/file/d/0BzyLCuLKF-OGYmd5X09hT1Fkd0E/view?usp=sharing

[Python]Octave to Python! 첫번째

이전 machine learning을 배우며 코딩했던 Octave프로그램을 Python으로 바꾸어 코딩하는 작업을 진행하였다.

일단 내용은 간단히 처음에는 단위행렬을 출력하고,

다음은 받아온 내용으로 그래프를 출력한다.

다음은 gradient descent 방법을 이용하여 적당한 theta를 구하는 것이다.

내용은 simple linear regression임으로 어렵지 않았다.

아래 내용은 python으로 작성한 내용이다.

ex1


아래는 그 결과물이다.

왼쪽이 octave에서의 결과물이고, 오른쪽이 python으로 그려낸 결과물이다.

ex1data1.txt라는 파일로 machine learning 강좌를 들으면서 주어진 값을 이용했다.

내일은 왼쪽처럼 선로가 보이도록 추가할 예정이다.

추가로

J =32.07273388

theta = [-3.6302914394043593, 1.166362350335582]

이 나왔다.

J는 theta가 [0,0]일 때 cost function을 이용하여 나온 값이고,

theta는 gradient descent를 이용하여 최소로 cost가 나올때 theta를 구한 값이다.

참고로, numpy를 설치하기 위해 3.6버전으로 갈아탔다…

2.7버전에서 설치를 잘못했는지 pip을 쓰면 에러가 난다 ㅜㅜ

[AWS] AWS Foot Overview

udemy 강의 수강 중에 AWS에서 제공해주는 기능들에 대해 설명해주는데 이해하기 힘들고, 나중에 다시 확인 할 필요가 있기에 정리해보았다.

출처 : http://aws.amamzon.com

Compute

EC2

안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스

인스턴스를 생성하여 서버를 운영할 수 있다.

EC2 Container Service

Docker 컨테이너를 지원하는 확장성과 성능이 뛰어난 컨테이너 관리 서비스

Amazon EC2 Container Service에 대한 추가 비용은 없습니다.

Elastic Beanstalk

빠른 시작, 적절한 규모 유지

코드를 업로드하기만 하면 Elastic Beanstalk가 용량 프로비저닝, 로드 밸런싱, 자동 크기 조정부터 시작하여 애플리케이션 상태 모니터링에 이르기까지 배포를 자동으로 처리

Lambda

서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행

사실상 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행

Lightsail

Keeping servers simple : 몇 번의 클릭으로 가상서버 운영가능

Built on the galaxy’s leading cloud : 내 APP에 힘, 신뢰성, AWS의 보안을 줌

You know code, we know infrastructure : Lightsail에 의지함으로써 서버관리를 쉽게 해줌.

The cloud that grows with you : 수 십개의 AWS 서비스에 엑세스할 수 있는 APP의 확장성

 

 

Networking & Content Delivery

VPC(Virtual Private Cloud)

고객이 정의하는 가상 네트워크에서 AWS 리소스를 시작할 수 있도록 AWS 클라우드에 논리적으로 격리된 공간을 프로비저닝

IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어

Route 53

가용성과 확장성이 우수한 클라우드 DNS 웹 서비스

CloudFront

웹 사이트, API, 동영상 콘텐츠 또는 기타 웹 자산의 전송을 가속화하는 글로벌 콘텐츠 전송 네트워크(CDN) 서비스

다른 Amazon Web Services 제품과 통합하여 사용하면 개발자와 기업이 최소 사용 약정 없이도 콘텐츠를 최종 사용자에게 전송하는 속도를 손쉽게 가속화

Direct Connect

온프레미스에서 AWS로 전용 네트워크 연결을 쉽게 설정

사용자의 네트워크와 AWS Direct Connect 위치 중 하나 사이에 전용 네트워크 연결을 설정

 

Storage

S3(Simple Storage Service)

간단한 웹 서비스 인터페이스를 통해 웹 어디서나 원하는 양의 데이터를 저장 및 검색할 수 있는 객체 스토리지

Glacier

데이터 아카이브 및 장기 백업을 위한 안전하고 안정적이며 비용이 매우 저렴한 클라우드 스토리지 서비스

EFS(Elastic File System)

AWS 클라우드에서 Amazon EC2 인스턴스에 사용할 수 있는 간단하고 확장 가능한 파일 스토리지를 제공하고, 파일이 추가되고 제거됨에 따라 자동으로 증가하고 줄어듭니다.

AWS Direct Connect를 통해 Amazon VPC에 연결되어 있는 경우 온프레미스 데이터센터 서버에 Amazon EFS 파일 시스템을 탑재할 수 있습니다.

Storage Gateway

프레미스 환경과 AWS 클라우드 간에 하이브리드 클라우드 스토리지를 원활하게 지원

원격 사무실 및 데이터 센터에서 마이그레이션, 버스팅 및 스토리지 계층화와 관련된 하이브리드 클라우드 워크로드에 이를 사용

파일 서버로서, 로컬 디스크로서, 가상 테이프 라이브러리로서 연결

 

Databases

RDS(Relational Database Service)

클라우드에서 관계형 데이터베이스를 더욱 간편하게 설정, 운영 및 확장

Amazon AuroraPostgreSQLMySQLMariaDBOracle 및 Microsoft SQL Server 중에서 선택할 수 있는 옵션을 제공

DynamoDB

규모와 관계없이 10밀리초 미만의 지연 시간이 일관되게 요구되는 모든 애플리케이션을 위한 빠르고 유연한 NoSQL 데이터베이스 서비스

Forrester에 따르면 Amazon DynamoDB가 가장 널리 사용되는 NoSQL 클라우드 데이터베이스

Redshift

속도가 빠른 페타바이트 규모의 완전관리형 데이터 웨어하우스로, 모든 데이터를 기존 비즈니스 인텔리전스 도구를 사용하여 간편하고 비용 효율적으로 분석

ElastiCache

클라우드에서 인 메모리 데이터 스토어 또는 캐시를 손쉽게 배포, 운영 및 확장할 수 있게 해주는 웹 서비스

더 느린 디스크 기반 데이터베이스에 전적으로 의존하기보다는, 빠른 관리형 인 메모리 데이터 스토어에서 정보를 검색할 수 있도록 지원하여 웹 애플리케이션의 성능을 향상

Redis 및 Memcached와 호환 과능

 

Migration

Snowball

안전한 어플라이언스를 사용하여 AWS 클라우드에서 대용량 데이터를 송수신하는 페타바이트 규모의 데이터 전송 솔루션

작업을 생성하기만 하면 Snowball 어플라이언스가 고객에게 자동으로 배송

DMS(Database Migration Service)

데이터베이스를 AWS로 쉽고 안전하게 마이그레이션할 수 있도록 도움

마이그레이션하는 동안 소스 데이터베이스가 변함없이 운영되어 데이터베이스를 사용하는 애플리케이션의 가동 중지 시간을 최소화 가능

Amazon Redshift로 데이터를 스트리밍하여 페타바이트 규모의 데이터 웨어하우스에서도 데이터 통합 및 용이한 분석이 가능

SMS(Server Migration Service)

수천 개의 온프레미스 워크로드를 AWS로 좀 더 쉽고 빠르게 마이그레이션할 수 있게 해주는 에이전트 없는 서비스

라이브 서버 볼륨의 증분식 복제를 자동화, 일정 예약 및 추적을 지원하므로 손쉽게 대규모 서버 마이그레이션을 조정 가능

 

 

Analytics

Athena

표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스

EMR

관리형 하둡 프레임워크로서 동적으로 확장 가능한 Amazon EC2 인스턴스 전체에서 대량의 데이터를 쉽고 빠르며 비용 효율적으로 처리

Apache SparkHBasePresto 및 Flink와 같이 널리 사용되는 분산 프레임워크를 실행하고, Amazon S3 및 Amazon DynamoDB와 같은 다른 AWS 데이터 스토어의 데이터와 상호 작용Se 가능

CloudSearch & Elasticsearch Service

CloudSearch는 AWS 클라우드의 관리형 서비스로, 이를 사용하면 웹 사이트 또는 애플리케이션을 위한 검색 솔루션을 효율적인 비용으로 간단하게 설정, 관리 및 조정 지원

Elasticsearch Service를 사용하면 손쉽게 Elasticsearch를 배포, 운영 및 확장하여 로그 분석, 전체 텍스트 검색, 애플리케이션 모니터링 등을 수행 가능

Kinesis

AWS의 스트리밍 데이터를 위한 플랫폼으로서, 스트리밍 데이터를 손쉽게 로드 및 분석할 수 있는 강력한 서비스를 제공하고, 특정 요구에 맞게 커스텀 스트리밍 데이터 애플리케이션을 구축할 수 있는 기능을 제공

Data Pipeline

온프레미스 데이터 소스뿐 아니라 여러 AWS 컴퓨팅 및 스토리지 서비스 간에 데이터를 안정적으로 처리하고 지정된 간격으로 이동할 수 있게 해 주는 웹 서비스

QuickSight

시각화를 쉽게 작성하고 임시 분석을 수행하며 데이터에서 비즈니스 통찰력을 신속하게 얻을 수있는 신속한 클라우드 기반 비즈니스 분석 서비스

 

Security & Identity

IAM(Identity and Access Management)

사용자의 AWS 서비스와 리소스에 대한 액세스를 안전하게 통제

AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부 가능

IAM의 모범 사례: http://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/best-practices.html

Inspector

배포된 애플리케이션의 보안 및 규정 준수를 개선하는 데 도움이 되는 자동 보안 평가 서비스

일반적인 보안 모범 사례 및 취약성 정의와 대응되는 수백 개의 규칙이 담긴 기술 자료가 포함

Certificate Manager

AWS 서비스에 사용할 SSL/TLS(Secure Sockets Layer/전송 계층 보안) 인증서를 손쉽게 프로비저닝, 관리 및 배포할 수 있게 해주는 서비스

SSL/TLS 인증서는 네트워크 통신을 보안하고 인터넷상에서 웹 사이트 자격 증명을 설정하는 데 사용

Directory Service

Microsoft Active Directory(Enterprise Edition)용 AWS Directory Service, 즉 AWS Microsoft AD를 사용하면 디렉터리 인식 워크로드와 AWS 리소스가 AWS 클라우드에서 관리형 Active Directory를 활용 가능

Microsoft AD의 경우 Amazon EC2 및 SQL Server용 Amazon RDS 인스턴스를 도메인에 손쉽게 조인하고, Active Directory 사용자 및 그룹으로 Amazon WorkSpaces와 같은 AWS 엔터프라이즈 IT 애플리케이션을 사용 가능

WAF

애플리케이션 가용성에 영향을 주거나, 보안을 약화하거나, 리소스를 과도하게 사용하는 일반적인 웹 취약점 공격으로부터 웹 애플리케이션을 보호하는 데 도움이 되는 웹 애플리케이션 방화벽

어떤 트래픽에 웹 애플리케이션에 대한 액세스를 허용하거나 차단할지 제어

Artifact

AWS의 보안 및 규정 준수 보고서에 대한 온디맨드 방식의 액세스를 제공

감사 아티팩트(audit artifact)를 다운로드한 후 감사 기관 또는 규제 기관에게 제출하면 AWS 인프라 및 서비스의 보안과 규정 준수를 입증 가능

 

 

Management Tool

CloudWatch

AWS 클라우드 리소스와 AWS에서 실행되는 애플리케이션을 위한 모니터링 서비스

지표를 수집 및 추적하고, 로그 파일을 수집 및 모니터링하며, 경보를 설정하고, AWS 리소스 변경에 자동으로 대응 가능

CloudFormation

개발자와 시스템 관리자가 관련 AWS 리소스 모음을 쉽게 생성 및 관리하고, 이를 순서에 따라 예측 가능한 방식으로 프로비저닝하고 업데이트할 수 있는 간편한 방법을 제공

CloudTrail

AWS 계정의 거버넌스, 규정 준수, 운영 감사, 위험 감사가 가능한 서비스입니다. CloudTrail을 사용하여 AWS 인프라에서 API 호출과 관련된 이벤트를 기록하고 지속적으로 모니터링하며 보관

OpsWorks

서버 구성을 코드로 취급하는 자동화 플랫폼 Chef를 사용하는 구성 관리 서비스

Chef를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 또는 온프레미스 컴퓨터 환경에서 서버 구성, 배포, 관리를 자동화

Config

AWS 리소스 인벤토리, 구성 기록, 구성 변경 알림을 제공하여 보안 및 거버넌스를 실현하는 완전관리형 서비스

Config Rules를 사용하면 AWS Config에서 기록하는 AWS 리소스의 구성을 자동으로 확인하도록 규칙을 생성 가능

Service Catalog

AWS에서 사용이 승인된 IT 서비스 카탈로그를 생성하고 관리

IT 서비스에는 가상 머신 이미지, 서버, 소프트웨어 및 데이터베이스에서 멀티 티어 애플리케이션 아키텍처를 완성하는 모든 서비스가 포함

일반적으로 배포된 IT 서비스를 중앙에서 관리할 수 있고 일관된 거버넌스를 달성하고 규정 준수 요건을 충족하는 데 도움이 되는 동시에 사용자가 필요로 하는 승인된 IT 서비스만을 신속하게 배포 가능

Trusted Advisor

AWS 환경을 분석하여 비용 최적화, 성능, 보안, 내결함성 4가지 범주의 모범 사례 권장 사항을 제시

 

 

Application Service

Step Functions

시각적 워크플로를 사용해 분산 애플리케이션 및 마이크로서비스의 구성 요소를 손쉽게 조정

SWF(Simple Workflow Service)

확장 가능하고 복원력있는 응용 프로그램을 작성하기위한 워크 플로 서비스

일관되고 안정적으로 워크 플로의 실행 상태를 유지 관리하므로 응용 프로그램 빌드 및 실행에 집중하도록 지원

API Gateway

어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링 및 보안할 수 있게 해주는 완전관리형 서비스

트래픽 관리, 권한 부여 및 액세스 제어, 모니터링, API 버전 관리를 비롯해 최대 수십만 건의 동시 API 호출을 수락 및 처리하는 데 관련된 모든 작업을 처리

AppStream

클라우드에서 기존 Windows 애플리케이션을 스트리밍하여 코드를 수정하지 않아도 더 다양한 디바이스를 지원하고 더 많은 사용자에게 도달 가능

Elastic Transcoder

확장성이 뛰어나고 사용하기 쉬우며 비용 효율적인 이 방법을 통해 개발자 및 비즈니스에서 소스 형식의 미디어 파일을 스마트폰, 태블릿, PC 등의 디바이스에서 재생되는 버전으로 변환(또는 “트랜스코딩”)

 

Developer Tools

CodeCommit

기업이 안전하고 확장성이 뛰어난 프라이빗 Git 리포지토리를 쉽게 호스팅할 수 있도록 하는 전체 관리형 소스 제어 서비스

소스 코드에서 바이너리까지 모든 것을 안전하게 저장할 수 있고 기존 Git 도구와 완벽히 호환

CodeBuild

소스 코드를 컴파일하는 단계부터 테스트 실행 후 소프트웨어 패키지를 개발하여 배포하는 단계까지 마칠 수 있는 완전관리형 빌드 서비스

자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요가 없습니다. 지속적으로 확장되며 여러 빌드를 동시에 처리하기 때문에 빌드가 대기열에서 대기하지 않습니다. 사전 패키징된 빌드 환경을 사용하면 신속하게 시작할 수 있으며 혹은 자체 빌드 도구를 사용하는 사용자 지정 빌드 환경을 만들 수 있습니다.

CodeDeploy

Amazon EC2 인스턴스 및 온프레미스에서 실행 중인 인스턴스를 비롯한 모든 인스턴스에 대한 코드 배포를 자동화하는 서비스

CodePipline

빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위한 지속적 통합 및 지속적 전달 서비스

사용자가 정의하는 출시 프로세스 모델에 따라 코드 변경이 있을 때마다 코드를 구축, 테스트 및 배포하므로 기능과 업데이트를 신속하고 안정적으로 제공

 

Mobile Services

Mobile Hub

몇 분 만에 기능 선택과 구성을 설명하고, 자동으로 필요한 AWS 서비스를 프로비저닝하며, Mobile SDK를 앱과 통합하는 데 도움이 되는 사용 가능한 코드를 생성

Cognito

모바일과 웹 앱에 사용자 가입 및 로그인 기능을 손쉽게 추가하는 서비스

Facebook, Twitter 또는 Amazon과 같은 소셜 자격 증명 공급자, SAML 자격 증명 솔루션 또는 자체 자격 증명 시스템을 사용하여 사용자를 인증할 수 있는 옵션을 제공

Device Farm

앱 테스트 서비스로서, 한 번에 많은 디바이스에서 Android, iOS 및 웹 앱을 테스트 및 상호 작용하거나 실시간으로 디바이스에서 문제를 재현

Mobile Analytics

간단하고 비용 효율적으로 앱 사용 데이터를 수집하고 분석 할 수 있게 해주는 서비스

Pinpoint

손쉽게 맞춤형 캠페인을 실행하여 모바일 앱에서 사용자 참여를 높여주는 서비스

사용자 행동을 이해하고, 대상 사용자를 정의하고, 전송할 메시지를 결정하고, 최적 메시지 전달 시간을 예약하고, 캠페인 결과를 추적하도록 도움

 

 

Business Productivity

WorkDocs

사용자 생산성을 개선하는 강력한 관리 제어 기능과 피드백 기능을 갖춘 안전한 완전관리형 엔터프라이즈 스토리지 및 공유 서비스

WorkMails

기존 데스크톱 및 모바일 이메일 클라이언트 애플리케이션을 지원하는 안전한 관리형 비즈니스 이메일 및 일정 서비스

IoT(Internet of Things)

RFID(전파 식별)에 대해 연구하는 영국의 기술 선구자이자 실제 세상을 인터넷에 연결하는 유비쿼터스 센서 시스템을 구상하는 Kevin Ashton이 만든 용어

AI(Artificial Intelligence)

Lex

음성 및 텍스트를 사용해 대화형 인터페이스를 모든 애플리케이션에 구현하는 서비스

Polly

텍스트를 생생한 음성으로 변환하는 서비스

Machine Learning

모든 기술 수준의 개발자가 기계 학습 기술을 쉽게 사용할 수 있게 해주는 서비스

Rekognition

애플리케이션에 이미지 분석을 쉽게 추가할 수 있는 서비스

딥 러닝 기반 이미지 인식과 수백만 개의 이미지를 검색, 확인 및 정리 지원

 

 

Messaging

SNS(Simple Notification Service)

빠르고 유연한 완전관리형 푸시 알림 서비스로서, 이 서비스를 사용하면 개별 메시지를 전송하거나 대규모의 수신자에게 메시지를 전송

SQS(Simple Queue Service)

모든 규모에서 분산된 소프트웨어 구성 요소와 마이크로 서비스 간에 안정적인 통신을 지원하는 완전관리형 메시지 대기열 서비스

SES(Simple Email Service)

Amazon.com이 고객에게 서비스를 제공하기 위해 개발한 안정적이면서 확장 가능한 인프라상에 구축된 비용 효율적인 이메일 서비스

[번역] Using machine learning for insurance pricing optimization

출처 : https://cloud.google.com/blog/big-data/2017/03/using-machine-learning-for-insurance-pricing-optimization?1490806008189=1
구글 클라우드 빅데이트와 머신러닝 블로그

보험 가격 최적화에 머신러닝 사용하기

By Kaz Sato, Staff Developer Advocate, Google Cloud

대형 글로벌 보험 회사인 AXA는 POC에서 대규모 손실 사건을 예견하는 머신러닝을 사용해왔습니다.
* POC(Proof of Concept) : 신기술이 적용된 신제품을 직접 보고 어떻게 작동하는지를 시장에 소개하는 사전 검증

TensorFlow 머신러닝의 토대는 2015년 이후 오픈 소스인 것에 있지만, 비교적 짧은 시간에 이곳은 라이브러리를 사용하는 8000개 이상의 오픈 소스 프로젝트로 크기가 폭발적으로 증가했습니다. 또한, 이러한 증대한 관심은 언어 번역같은 자연어 처리 기능뿐만 아니라 이미지 처리를 이용한 앱에서 역할이 더욱 중요시 되는데 일조했습니다.
(피부암 감지, 당노병 성 안구 질환 진단, 오이 분류 등의 사례 포함)

또한 TensorFlow가 가격 최적화와 같은 주요 비즈니스 사용 사례를 이용하여 예측 데이터 분석을 향상시키는데 사용되기 시작했습니다. 이 글은 예를 제시하여 대형 글로벌 보험 회사인 AXA가 TensorFlow를 사용하여 구글 클라우드 머신러닝 엔진의 관리 서비스로 POC를 구축하여 고객과 관련된 대규모 손실 교통사고를 예측하는 이유를 설명하겠습니다.

사용한 경우 이해하기

AXA 고객 중 약 7-10%는 매년 교통사고를 일으킵니다. 대부분은 수백에서 수천 달러의 보험료를 포함한 소규모 사고이지만, 약 1%는 손실이 많은 소송 사건으로 10,000 달러이상의 대금 지급이 필요한 경우입니다. 예상대로 AXA 조정자는 정책의 가격 책정을 최적화하기 위해, 어떤 고객이 높은 위험에 노출되어 있는지 이해하는 것이 중요합니다.

일본에 있는 AXA의 R&D팀은 운전자가 보험 기간동안 큰 손실 사건을 일으킨 경우를 예견하기 위한 머신러닝의 사용 사례를 조사해왔습니다. 처음엔 Random Forest라 불리는 전통적인 머신러닝 기술에 집중해왔습니다. Random Forest는 유명한 알고리즘으로 예측을 위한 모델링에 다중 의사결정 트리를 사용하였습니다. Randmo Forest는 AXA의 경우처럼 특정 응용프로그램에 효율적일 수 있지만, 정확도는 40%보다 낮아서 부적절하다.

상대적으로 클라우드 머신러닝 엔진를 통한 TensorFlow를 사용한 실험적인 딥러닝 모델 개발 이후, 이 팀은 78%의 정확도를 이루어냈습니다. 이 개선을 통해 AXA는 판매 시점에서 실시간 가격 책정과 같은 새로운 보험 서비스를 갖추었을 뿐만 아니라, 보험 비용 및 가격을 최적화하는 데 상당한 이점을 얻었습니다. AXA는 초기 단계에 머물고 있습니다. 신경망을 투명하고 쉽게 디버깅 할 수 있도록 설계하면 더욱 발전 할 수 있습니다. 하지만 이러한 혁신적인 기술을 활용할 수 있다는 점이 큰 기대를 하게합니다.

이 기술은 어떻게 작동할까?

AXA는 좋지않은 테스트를 위한 멋진 데모 UI를 만들었습니다.개선 된 신경망 모델의 세부 사항을 살펴 보겠습니다.

그림1. AXA’s deep learning model demo UI

왼쪽에는 다음 과 같은 값들이 약 70개 가량 입력되어 있다.

  • 운전자의 연령대
  • 운전자의 주소 지역
  • 연간 보험료 범위
  • 자동차의 연식 범위

AXA는 이 자료들을 크기가 70인 단일 벡터에 입력하고 중간에 딥 러닝 모델을 넣었습니다. 이 모델은 ReLU를 활성화 함수로 사용하여 3개의 히든 레이어가 있는 완전히 연결된 신경망으로 모델링 하였습니다. AXA는 구글 Compute 기능의 데이터를 사용하여 TensorFlow 모델을 학습시켰으며, 클라우드 머신러닝 기능의 Hyper Tune 기능을 사용하여 하이퍼 파라미터를 조정했습니다.

다음은 최종 결과입니다. 빨간색 선은 딥 러닝 모델(78%)의 정확도를 나타냅니다.

그림2. Test results for POC

사업 자료의 TensorFlow

AXA의 경우는 머신러닝을 사용하여 사업자료를 분석 예측한 하나의 예시입니다.
다른 예시로 최근 DeepMind는 구글 데이터 센터 냉각 비용을 40% 줄이기 위해 머신러닝 모델을 사용했습니다.
이 팀은 구글 데이터 센터의 IoT센서(온도, 전력, 펌프 속도, 설정 값 등)에서 얻은 수치 값을 딥 러닝 모델에 입력하여, 기존 방법보다 더 나은 결과를 얻었습니다.

머신 러닝의 비즈니스 응용 프로그램에 대해 자세히 알아 보려면 아래 영상을 봐주십시오.
영상1. “Customer successes with machine learning”
영상2. “Transform Retail with Machine Learning: Find & Recommend products”