AWS SDK
  for Java
             JAWS-UG 片山 暁雄


第1回 JAWS-UG Kyoto勉強会(2011/04/15)
自己紹介
名前
 片山 暁雄
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(フォーラム)
 Twitter
   公式ハッシュタグ #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の仕組み
                                          EC2
                            起動
                            停止

  SDK     REST
                   WS   アップロード              S3
          SOAP          ダウンロード

EC2#起動()
S3#アップロード()               DB構築             RDS

                        スナップショット



                           第1回 JAWS-UG Kyoto 勉強会
ねこび~ん by カネウチカズコ
操作の種類
例えば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 勉強会
操作可能サービス

EC2                    S3
Autoscaling            Cloudwatch
ElasticLoadBalancing   Elastic Load Balancing
ElasticBeanstalk       IdentityManagement
ElasticMapreduce       ImportExport
RDS                    Simpledb
Simpledb               SimpleEmailService
SNS                    SQS
                            2011/04/15 ver1.1.9

                            第1回 JAWS-UG Kyoto 勉強会
AWS SDK for Java
はじめに取得するもの
 AWSの認証キー(アクセスキー、シークレットキ-)
 AWSログイン後、[アカウント]>[セキュリ
 ティ証明書]の画面から確認OK




               第1回 JAWS-UG Kyoto 勉強会
リージョン


EU            US-         US-
              West        East

           JAPAN

  Asia
 Pacific



             第1回 JAWS-UG Kyoto 勉強会
AWS SDK for Java
   EC2
      AmazonEC2Client
// EC2操作用のクライアント
AmazonEC2 ec2
          = new AmazonEC2Client(credentials);

// ⽴ち上げたいインスタンス情報の作成
RunInstancesRequest runInstancesRequest
              = new RunInstancesRequest();

// インスタンスの起動
ec2.runInstances(runInstancesRequest); Kyoto 勉強会
                             第1回 JAWS-UG
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(new
CreateTopicRequest("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 勉強会
@c9katayama あいさつ #jawsug

   こんにちワン               ごちそうさマウス
   [Amazon Linux]       [FreeBSD]



    こんばんワニ              ごちそうさマウス
    [Win2008日本語]        [SUSE]


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

                    第1回 JAWS-UG Kyoto 勉強会
仕組み                    EC2




                        AWS SDK
ありがとウサギ                 For Java
           Twitter4J




                  第1回 JAWS-UG Kyoto 勉強会
まとめ



  第1回 JAWS-UG Kyoto 勉強会
まとめ

AWS SDK for Javaとは
 AWSのインフラをJavaで動かせる
 アイデア次第
 まずはダウンロード!



                第1回 JAWS-UG Kyoto 勉強会
宣伝
G-CLOUD Magazine
 2010年8月と2011年2⽉刊⾏
 技術評論社




                   第1回 JAWS-UG Kyoto 勉強会
ご清聴ありがとうございました




        第1回 JAWS-UG Kyoto 勉強会

Aws sdk for java

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