aws sdk for java

31
AWS SDK for Java 1JAWS-UG Kyoto勉強会(2011/04/15) JAWS-UG 片山暁雄

Upload: akio-katayama

Post on 06-Jul-2015

2.484 views

Category:

Technology


6 download

DESCRIPTION

第一回JAWS-UG京都勉強会のスライド

TRANSCRIPT

Page 1: AWS SDK for Java

AWS SDK

for Java

第1回 JAWS-UG Kyoto勉強会(2011/04/15)

JAWS-UG 片山 暁雄

Page 2: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

自己紹介

�名前

�片山 暁雄

�ID

�c9katayama(はてな,twitter)

�所属

�株式会社キャピタル・アセット・プランニング

� JAWS-UG Tokyo(Japan AWS User Group)

� T2 Project(OSS Java Framework)

Page 3: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

自己紹介

�好きな食べ物

Page 4: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

JAWS-UG

�AWS User Group - Japan

�http://jaws-ug.jp

�EC2で稼動

�フォーラム

�JAWS-users(フォーラム)

�Twitter

�公式ハッシュタグ #jawsug

�勉強会

Page 5: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

Agenda

�AWS SDK Overview

�AWS SDK for Java

�デモ

�まとめ

Page 6: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDK Overview

Page 7: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

サービス利⽤といえば

Page 8: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDKとは

� AWSのサービスを操作できるSDK

�プログラムでクラウドを操作できるAPI群

�さまざまな言語で提供�AWS SDK for Java

�AWS SDK for C#

�AWS SDK for PHP

�AWS SDK for Android

�AWS SDK for iOS

�ActionScript API for AWS�クラスメソッド横田さん(@sato_shi)提供

Page 9: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDKの仕組み

ねこび~ん by カネウチカズコ

EC2

S3

RDS

起動

停止

アップロード

ダウンロード

DB構築

スナップショット

REST

SOAP

EC2#起動()

S3#アップロード()

SDK

WS

Page 10: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

操作の種類

�例えばEC2

�インスタンス起動・・・RunInstances

�リブート・・・ RebootInstances

�IPアドレス付与・・AllocateAddress

�など100種類以上の操作が、プログラムから実⾏可能

Page 11: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDK for Java

Page 12: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDK for Java

� AWS SDK for Java�Amazon提供のAWS開発用Java SDK

� http://aws.amazon.com/sdkforjava/

�環境:Java5以降

�最新版 1.1.9

�依存ライブラリ

�Commons-codec,httpclient,logging

�Jackson

�Javamail

�stax

Page 13: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

操作可能サービス

ImportExportElasticMapreduce

SimpledbRDS

SimpleEmailServiceSimpledb

SQSSNS

ElasticBeanstalk

ElasticLoadBalancing

Autoscaling

EC2 S3

IdentityManagement

Elastic Load Balancing

Cloudwatch

2011/04/15 ver1.1.9

Page 14: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDK for Java

�はじめに取得するもの

�AWSの認証キー(アクセスキー、シークレットキ-)

�AWSログイン後、[アカウント]>[セキュリティ証明書]の画面から確認OK

Page 15: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

リージョン

EU US-East

US-West

Asia Pacific

JAPAN

Page 16: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDK for Java

�EC2

�AmazonEC2Client

// EC2操作用のクライアントAmazonEC2 ec2

= new AmazonEC2Client(credentials);

// ⽴ち上げたいインスタンス情報の作成RunInstancesRequest runInstancesRequest

= new RunInstancesRequest();

// インスタンスの起動ec2.runInstances(runInstancesRequest);

Page 17: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDK for Java

�S3

�AmazonS32Client

// S3操作用クライアントAmazonS3 s3 = new AmazonS3Client(credentials);

// bucket作成s3.createBucket("sample" + UUID.randomUUID());

Page 18: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

database

�RDS

�AmazonRDSClinet

// RDS操作用クライアントAmazonRDS amazonRDS =

new AmazonRDSClient(credentials);

// DB instance作成amazonRDS.createDBInstance(createRequestInfo());

// JDBC接続

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn = DriverManager

.getConnection("jdbc:mysql://yone098.cd9lvsmxbd1w.ap-southeast-

1.rds.amazonaws.com/t2db?"

+ "user=sample&password=xxx");

conn.close();

Page 19: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

messaging

�SNS

�AmazonSNSClient

�AmazonSNSAsyncClient

// // SNS操作用クライアント

AmazonSNS sns = new AmazonSNSClient(credentials);

// Topic作成

CreateTopicResult result = sns.createTopic(newCreateTopicRequest("sample"));

// publish

sns.publish(new PublishRequest(result.getTopicArn(), "sampleMessage"));

Page 20: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

messaging

�SQS

�AmazonSQSClient

// SQS操作用クライアント

AmazonSQS sqs = new AmazonSQSClient(credentials);

// Queue作成

CreateQueueRequest createQueueRequest = new CreateQueueRequest("sampleQueue");

String qUrl = sqs.createQueue(createQueueRequest).getQueueUrl();

// メッセージ送信

sqs.sendMessage(new SendMessageRequest(qUrl, "Sample Message"));

Page 21: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

AWS SDK for Java

� 利⽤⽅法(運⽤⾯)

�決まったインスタンスを起動するバッチ

�固定ディスク(EBS)のスナップショットを定期取得

� S3からデータを定期的に取得

� 利⽤⽅法(アプリから)

�アプリのバックエンドとして、SimpleDBを使う

�メール送信のためにSMSを使う

�データ保存のためにS3を使う

� 魔法のSDK

Page 22: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

デモ

Page 23: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

Page 24: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

Page 25: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

Page 26: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

ごちそうさマウス[FreeBSD]

こんにちワン[Amazon Linux]

こんばんワニ[Win2008日本語]

@c9katayama あいさつ #jawsug

ごちそうさマウス[SUSE]

さよなライオン[インスタンス停止]

Page 27: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

仕組みEC2

AWS SDKFor Java

Twitter4J

ありがとウサギ

Page 28: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

まとめ

Page 29: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

まとめ

�AWSのインフラをJavaで動かせる

�アイデア次第

�まずはダウンロード!

AWS SDK for Javaとは

Page 30: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

�G-CLOUD Magazine

� 2010年8月と2011年2⽉刊⾏

�技術評論社

宣伝

Page 31: AWS SDK for Java

第1回 JAWS-UG Kyoto 勉強会

ご清聴ありがとうございました