Download - Aws sdk for java
AWS SDK
for Java
第1回 JAWS-UG Kyoto勉強会(2011/04/15)
JAWS-UG 片山 暁雄
第1回 JAWS-UG Kyoto 勉強会
自己紹介
�名前
�片山 暁雄
�ID
�c9katayama(はてな,twitter)
�所属
�株式会社キャピタル・アセット・プランニング
� JAWS-UG Tokyo(Japan AWS User Group)
� T2 Project(OSS Java Framework)
第1回 JAWS-UG Kyoto 勉強会
自己紹介
�好きな食べ物
第1回 JAWS-UG Kyoto 勉強会
JAWS-UG
�AWS User Group - Japan
�http://jaws-ug.jp
�EC2で稼動
�フォーラム
�JAWS-users(フォーラム)
�公式ハッシュタグ #jawsug
�勉強会
第1回 JAWS-UG Kyoto 勉強会
Agenda
�AWS SDK Overview
�AWS SDK for Java
�デモ
�まとめ
第1回 JAWS-UG Kyoto 勉強会
AWS SDK Overview
第1回 JAWS-UG Kyoto 勉強会
サービス利⽤といえば
第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)提供
第1回 JAWS-UG Kyoto 勉強会
AWS SDKの仕組み
ねこび~ん by カネウチカズコ
EC2
S3
RDS
起動
停止
アップロード
ダウンロード
DB構築
スナップショット
REST
SOAP
EC2#起動()
S3#アップロード()
SDK
WS
第1回 JAWS-UG Kyoto 勉強会
操作の種類
�例えばEC2
�インスタンス起動・・・RunInstances
�リブート・・・ RebootInstances
�IPアドレス付与・・AllocateAddress
�など100種類以上の操作が、プログラムから実⾏可能
第1回 JAWS-UG Kyoto 勉強会
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
第1回 JAWS-UG Kyoto 勉強会
操作可能サービス
ImportExportElasticMapreduce
SimpledbRDS
SimpleEmailServiceSimpledb
SQSSNS
ElasticBeanstalk
ElasticLoadBalancing
Autoscaling
EC2 S3
IdentityManagement
Elastic Load Balancing
Cloudwatch
2011/04/15 ver1.1.9
第1回 JAWS-UG Kyoto 勉強会
AWS SDK for Java
�はじめに取得するもの
�AWSの認証キー(アクセスキー、シークレットキ-)
�AWSログイン後、[アカウント]>[セキュリティ証明書]の画面から確認OK
第1回 JAWS-UG Kyoto 勉強会
リージョン
EU US-East
US-West
Asia Pacific
JAPAN
第1回 JAWS-UG Kyoto 勉強会
AWS SDK for Java
�EC2
�AmazonEC2Client
// EC2操作用のクライアントAmazonEC2 ec2
= new AmazonEC2Client(credentials);
// ⽴ち上げたいインスタンス情報の作成RunInstancesRequest runInstancesRequest
= new RunInstancesRequest();
// インスタンスの起動ec2.runInstances(runInstancesRequest);
第1回 JAWS-UG Kyoto 勉強会
AWS SDK for Java
�S3
�AmazonS32Client
// S3操作用クライアントAmazonS3 s3 = new AmazonS3Client(credentials);
// bucket作成s3.createBucket("sample" + UUID.randomUUID());
第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();
第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"));
第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"));
第1回 JAWS-UG Kyoto 勉強会
AWS SDK for Java
� 利⽤⽅法(運⽤⾯)
�決まったインスタンスを起動するバッチ
�固定ディスク(EBS)のスナップショットを定期取得
� S3からデータを定期的に取得
� 利⽤⽅法(アプリから)
�アプリのバックエンドとして、SimpleDBを使う
�メール送信のためにSMSを使う
�データ保存のためにS3を使う
� 魔法のSDK
第1回 JAWS-UG Kyoto 勉強会
デモ
第1回 JAWS-UG Kyoto 勉強会
第1回 JAWS-UG Kyoto 勉強会
第1回 JAWS-UG Kyoto 勉強会
第1回 JAWS-UG Kyoto 勉強会
ごちそうさマウス[FreeBSD]
こんにちワン[Amazon Linux]
こんばんワニ[Win2008日本語]
@c9katayama あいさつ #jawsug
ごちそうさマウス[SUSE]
さよなライオン[インスタンス停止]
第1回 JAWS-UG Kyoto 勉強会
仕組みEC2
AWS SDKFor Java
Twitter4J
ありがとウサギ
第1回 JAWS-UG Kyoto 勉強会
まとめ
第1回 JAWS-UG Kyoto 勉強会
まとめ
�AWSのインフラをJavaで動かせる
�アイデア次第
�まずはダウンロード!
AWS SDK for Javaとは
第1回 JAWS-UG Kyoto 勉強会
�G-CLOUD Magazine
� 2010年8月と2011年2⽉刊⾏
�技術評論社
宣伝
第1回 JAWS-UG Kyoto 勉強会
ご清聴ありがとうございました