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

Aws sdk for java

Embed Size (px)

Citation preview

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 勉強会

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