SlideShare a Scribd company logo
1 of 55
Download to read offline
AWSマイスターシリーズ
~AWS SDK for Java &
   AWS Toolkit for Eclipse~




                2012年05月28日
                大谷 晋平( @shot6 )
                片山 暁雄( @c9katayama )
                ソリューションアーキテクト
Agenda
 AWS Toolkit for Eclipse
 AWS SDK オーバービュー
 AWS SDK for Java
 コードサンプル
 まとめ




               Copyright © 2011 Amazon Web Services
AWS Toolkit for Eclipse
AWS Toolkit for Eclipse

 EclipseにAWS操作のための機能を追加するプラグイン
 AWSを使用したアプリの開発/テストをバックアップ
インストール前提
Java 1.5以上
Eclipse IDE for Java EE Developers 3.6
  3.7推奨
AWS Elastic Beanstalk Deployment:
  Eclipse Web Tools Platform 2.0以上
Amazon SimpleDB Management
  Eclipse Data Tools Platform 1.7 以上



                                     Java EE Developer
                                       に入ってます
インストール方法

Plugin更新サイトからインストール
  http://aws.amazon.com/eclipse/

Eclipse MarketPlaceからインストール
機能

アカウント管理
AWS Explorer
  各種サービスの情報表示/操作
EC2 コンソール
  EC2のコントロールパネル
AWS Elastic Beanstalk
  デプロイ、デバッグ、環境構築
AWS SDK for Java integration
  Javaプロジェクト/Webプロジェクトウィザード
アカウント管理

Access Key IDとSecret Access keyを登録
複数のアカウント登録が可能
AWS Explorer
 各サービス情報の一覧
     Amazon SNS
     Amazon S3
     Amazon SQS
     Amazon SimpleDB
     Amazon EC2
     AWS Elastic Beanstalk
     Amazon CloudFront
     Amazon DynamoDB
     Amazon RDS
 ツリーから情報にアクセス
リージョンとアカウント

メニューからリージョンとアカウントの切り替え
AWS Explorer – Amazon SNS

 トピックの一覧表示
 トピックの作成
 サブスクリプションの作成/削除
AWS Explorer – Amazon S3

 Bucketの作成/削除、権限設定
 オブジェクトの一覧
   ツリー状に表示
 オブジェクトの削除、権限設定、Pre-signed URLの生成
 オブジェクトアップロード
   EclipseへのD&Dでアップロード
AWS Explorer – Amazon SQS

 キューの作成、削除
 キューへのメッセージ送信
 キュー内の一覧
 メッセージの削除
AWS Explorer – Amazon SimpleDB

 ドメインの作成/削除
 ドメイン内の一覧
 行の追加/削除
 SimpleDBクエリーエディタ
   コードアシストあり
AWS Explorer – Amazon CloudFront

 既存Distributionの一覧
 Distributionの内容表示
 Distributionの有効化/無効化
AWS Explorer – Amazon DynamoDB

 テーブルの追加/削除
 キャパシティの変更
 テーブル内アイテム一覧
 属性追加
 スキャンの実行
AWS Explorer – Amazon RDS

 既存RDSの一覧
 DBへの接続
   情報はData Managementに格納
    • パスワード変更などは
      Preferences>DataManagementから
 接続後は通常のJDBC接続で管理
EC2 コンソール
 AMI管理
  検索、削除、AMIからの起動
 インスタンス管理
  右クリックから状態変更、SSH接続、AMI作成、EBSの操作
  インスタンスタイプおよびセキュリティグループによるフィル
   ター
EC2コンソール

EBS管理
  EBS作成、削除、スナップショット作成
  スナップショット一覧、削除
EC2コンソール

セキュリティグループ管理
  セキュリティグループ作成、削除
  アクセス条件の追加、削除
AWS Elastic Beanstalk

 Elastic Benstalkの環境情報表示と編集
 各環境に属するAutoScaling,ELB,EC2の一覧表示
AWS Elastic Beanstalk

 各種詳細設定
   AutoScalingポリシー
    • トリガー条件、インスタンス起動設定、ゾーン設
      定
   JavaVM設定
   ELB設定
   通知設定
AWS SDK for Java integration

 プロジェクト構築時のウィザートを提供
 通常JavaプロジェクトとWebプロジェクトを構築し、クラス
 マスにAWS SDK for Javaを追加
   AWS SDKはeclipse updateを通じて最新版を取得可能
 サンプルコードとAWSアカウント設定が可能
   すぐに動作するサンプルがソース提供
まとめ

AWS Toolkit for Eclipseは開発者に焦点
  EC2、Beanstalkは機能が充実
  それ以外はサービス情報の確認に利用
AWS SDKを利用する場合に便利
  SDKバージョンの選択
  AWSアカウントが選択可能
  SDKにソースアタッチ済み
AWS Toolkit for Eclipseを使用するなら、コードでAWSク
ラウドをコントロールしよう!
機能が足りない場合は・・・

AWS Toolkit for JavaはOSS
  https://github.com/amazonwebservices/aws-toolkit-for-
   eclipse
  拡張はご自由に!
AWS SDK オーバービュー
AWSのサービス操作と言えば


       AWS Management Console




AWSコマンドラインツール
これらの裏側では・・・

各サービスの各操作に対して、APIが定義されている
AWSでは・・・
  人間がGUIまたはCUI越しに叩く
  プログラミングしてそれを自動化・簡易化・カスタマイズ
  • 人間が手でやらなくてはいけない事をプログラミ
    ングして自動化できる、これがSDKで実現可能
  • しかも簡単
  • AWSの実は最も優れた一面
AWS SDKとは

 AWSのサービスを操作できるSDK
  プログラムでクラウドを操作できるAPI群
  さまざまな言語で提供
   •   AWS SDK for Java
   •   AWS SDK for C#
   •   AWS SDK for Ruby
   •   AWS SDK for PHP
   •   AWS SDK for Android
   •   AWS SDK for iOS
   •   有志の方による実装(PythonやActionScript)も
  通信は原則HTTPS
  署名による暗号化
起動、停止



REST
       Put,Get
SOAP

         DB起動、バックアップ




        情報取得
操作の種類

例えばEC2
   インスタンス起動・・・RunInstances
   リブート・・・ RebootInstances
   IPアドレス付与・・AllocateAddress
   など100種類以上の操作が、プログラムから実行可能
AWS SDK for Java
AWS SDK for Java


 AWS SDK for Java
    Amazon提供のAWS開発用Java SDK
    http://aws.amazon.com/sdkforjava/
    環境:Java5以降
    最新版 1.3.10
    依存ライブラリ
      • Commons-codec,httpclient,logging
      • Jackson
      • Javamail
      • stax
操作可能サービス

EC2                    S3
Autoscaling            Cloudwatch
ElasticLoadBalancing   SimpleWorkflow
ElasticBeanstalk       IdentityManagement
ElasticMapReduce       ImportExport
RDS                    ElastiCache
Simpledb               SimpleDB
SNS                    SES
DynamoDB               SQS
StorageGateway         CloudSearch
はじめに取得するもの
 AWSの認証キー(アクセスキー、シークレットキ-)
 AWSログイン後、[アカウント]>[セキュリティ証明書]の画面
  から確認OK
Java SDKクライアントクラスの基本

 クレデンシャル情報を渡す
  アクセスキー
  シークレットキー
 方法としては
  BasicAWSCredentialsで直接渡す
  PropertiesCredentialsでプロパティファ
   イルに記述する
  独自でAWSCredentialsを拡張する
このような感じ


AWSCredentials credentials = null;
try {
   credentials = new PropertiesCredentials(Util.class
.getResourceAsStream("AwsCredentials.properties"));
} catch (IOException e) {
   //例外処理
}
//このクレデンシャルを使ってClientを生成する


 IAM利用時は、IAMユーザーのアクセスキー、シークレットキーを利用。
 IAMユーザーでアクセス権のないメソッドを呼ぶと、例外が発生。
EC2

    AmazonEC2Client
// EC2操作用のクライアント
AmazonEC2 ec2
          = new AmazonEC2Client(credentials);

// 立ち上げたいインスタンス情報の作成
RunInstancesRequest runInstancesRequest = new
RunInstancesRequest("ami-xxxxx", 5, 5)
  .withKeyName(“yourkeyname")
  .withSecurityGroupIds(“yoursecgroup")
  .withMonitoring(true)
  .withInstanceType(InstanceType.M1Small);

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

    AmazonS3Client

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

// bucket作成
s3.createBucket(“mybucket");

//オブジェクトのPUT
PutObjectResult ret = client.putObject("mybucket",
"aaa.txt", file);
S3での巨大ファイルの簡易アップロード
//TransferManagerを作成
AmazonS3Client client = new AmazonS3Client(cred);
TransferManager manager =
   new TransferManager(client);

//最低1チャンクを5MBに設定
TransferManagerConfiguration c = new
TransferManagerConfiguration();
c.setMinimumUploadPartSize(5 * 1024L * 1024L);
manager.setConfiguration(configuration);

//巨大ファイルのアップロード実行と進捗の監視
Upload upload = manager.upload(bucketName,
bigfileName, target, o);
while (upload.isDone() == false) {…
RDS

   AmazonRDSClinet
// RDS操作用クライアント
AmazonRDS amazonRDS =
       new AmazonRDSClient(credentials);
// DB instance作成
CreateDBInstanceRequest createDBInstanceRequest
= new CreateDBInstanceRequest()
.withAllocatedStorage(5)
.withMultiAZ(true)
.withDBInstanceClass("db.m1.small")
…
.withEngine("MySQL");
DBInstance result =
rds.createDBInstance(createDBInstanceRequest);
Java SDKの構成

 各サービス毎にクライアントクラスが付属
  面倒な下記のようなことは利用者から隠ぺいしてくれる
    • HTTP通信及び例外ハンドリング
    • 署名
    • エラー時のリトライ処理
 サービスどれでもほぼ同一で直感的な使い勝手の提供
 極力、利用者は単純に呼び出すだけでよい
 プラガブルな構成で、部分的に入れ替えられる
  挙動を変えたい
  例外のハンドリング方法を変えたい
  処理速度を上げたい
Java SDKの構成イメージ

  <<abstract>>    保持
                            AmazonHttp
  AmazonWeb
                              Client
  ServiceClient

                                execute(
                                  リクエスト,
  AmazonEC2                       レスポンスハンドラー,
    Client                        エラーハンドラー,
                                  ExecutionContext)

                       保持                 ・利用する署名方法
                                          ・クレデンシャル
  AmazonEC2             ExecutionCo       ・リトライ
  AsyncClient              ntext
Java SDKのパッケージ構成

 com.amazonaws
    auth : 署名関連
    handlers : SDKの挙動をカスタマイズするハンドラー
    http : 実際のHTTPリクエストを処理する
    internal : リトライ関連
    sdk : バージョン情報
    services : 各サービス毎の実体
    transform : API経由で返ってくるXMLをパースする実体
    util : ユーティリティ
Java SDKの各サービス毎の構成

 クライアントは実体が2つ
  同期通信を中心としたクライアント : XxxClient
  非同期通信を追加した非同期クライアント : XxxAsyncClient
リージョンを選択する

リージョンの選択
デフォルトはどれもus-east
setEndpointメソッドで指定
  setEndpoint("ec2.ap-southeast-1.amazonaws.com")
サービス毎のエンドポイントは下記URL参照
  http://docs.amazonwebservices.com/general/latest/gr/r
   ande.html
有効な利用方法

利用方法(運用面)
 決まったインスタンスを起動するバッチ
 固定ディスク(EBS)のスナップショットを定期取得
 S3からデータを定期的に取得
 S3上のデータを監視して、無くなったら通知
利用方法(アプリから)
 アプリのバックエンドとして、DynamoDBを使う
 メール送信のためにSMSを使う
 データ保存のためにS3を使う
Tips等

 実行はどこからでも可能
  インターネットのエンドポイントへアクセス出来れば、EC2イ
   ンスタンスからでも、自分のPCからでもアクセス可能
  EC2からであれば、メタデータと組み合わせて自己構成できる
 便利なフレームワークがついている場合も
  DynamoDB ORマッパー
  S3 ハイレベルAPI
  SimpleWorkflow FlowFramework
setterとwith

     各種リクエストオブジェクトに対して値を設定する場合、
     setXXXとwithXXXが利用可能。
     withXXXの場合、戻り値がリクエストオブジェクトになるの
     で、fluentな形での実装が可能。
     複数追加できるようなパラメータ(add系)の場合、setterに
     はCollectionの引数しかない場合が多いが、withだと実際の
     型の引数が取れる。

//setter
 req.setBlockDeviceMappings(Arrays.asList(new BlockDeviceMapping()));
//with
req.
  withBlockDeviceMappings(new BlockDeviceMapping()).
  withBlockDeviceMappings(new BlockDeviceMapping());
アドバンスドなトピック

Java SDKは拡張性をかなり確保した状態になっている
Client/AsyncClient自体も自分で拡張できる
  おおざっぱなやり方はインターフェースをそのまま継承
細かく拡張ポイントを入れ替えることも可能
    ClientConfiguration
    RequestHandler
    CustomBackoffStrategy
    Marshaller/UnMarshaller
ClientConfiguration
 各Clientクラスの基本的な挙動を決定する設定
     ソケットのタイムアウト値
     最大コネクション数
     最大リトライ数
     使用するプロトコル(デフォルトHTTPS)
     プロキシ関連設定
     コネクションタイムアウト
 各Client生成時にClientConfigurationを渡す
RequestHandler
 ServletでいうところのいわゆるFilter
     デバッグ時や、何か統一的に処理させたい場合など便利
     beforeRequest : リクエスト送信前
     afterResponse : レスポンス受信後
     afterError : エラー受信後
 各サービスごとに定義可能
   Clientで普通に渡す
   com/amazonaws/services/xxx/request.handlersというファ
    イルをおいて、これに定義するとロードされる
 標準で既に定義されているものも
   EC2RequestHandler
   QueueUrlHandler
   Route53IdRequestHandler
CustomBackoffStrategy
     AWSクラウド側へのリトライ間隔をコントロールする
       カスタマイズして現状使っているのはDynamoDBのみ
       実行コンテキストであるExecutionContextに設定して渡す
     AmazonHttpClientの600行目付近
       pauseExponentiallyメソッド

 private void pauseExponentially(int retries, AmazonServiceException
previousException, CustomBackoffStrategy backoffStrategy) {
     long delay = 0;
     if (backoffStrategy != null) {
         delay = backoffStrategy.getBackoffPeriod(retries);
     } else {
         long scaleFactor = 300;
         …
         delay = (long) (Math.pow(2, retries) * scaleFactor);
     }
     …
}
Marshaller/Unmarshaller
 AWSが提供しているXMLパース(一部JSONパース)では遅い
 ので色々いらないものを省略してパースしたい
   Java SDKではStAXというプルモデル型のパーサー
    • XMLのどこを読むかをコントロールしやすい
   Clientを書いて、自分でMarshaller/Unmarshallerする
 各サービス.model.transformの下
   ここにMarshaller/Unmarshallerが大量にいる
 コーディングポリシー的には
   Clientの各メソッド内でMarshallしてRequest<X>を作成
   UnmarshallerはResponseHandlerにセットされて、
    AmazonHttpClientに渡されてレスポンス帰ってきたら実行
Java SDKのまとめ
 JavaのSDKを使うことで
  運用管理での煩雑な手間をコーディングして落とすことが可能
   • もしかしてCloudFormationよりも楽?
  どのサービスでも同じような使い勝手で利用可能で楽
  実際のサービス開発のお供に
   • S3
   • SNS/SQS/SWF
   • DynamoDB
 AWSはコーディングする方の力を最大限に引き出すインフラ
  HAPPY CODING!!

More Related Content

What's hot

DevAx::connect はじめました
DevAx::connect はじめましたDevAx::connect はじめました
DevAx::connect はじめました政雄 金森
 
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement ConsoleにログインするJAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement ConsoleにログインするNobuhiro Nakayama
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)Akio Katayama
 
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAmazon Web Services Japan
 
Azure id and rbac v0.7.19.0815
Azure id and rbac v0.7.19.0815Azure id and rbac v0.7.19.0815
Azure id and rbac v0.7.19.0815Ayumu Inaba
 
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...junichi anno
 
社内システム on AWS
社内システム on AWS 社内システム on AWS
社内システム on AWS kudo-jun
 
[AWSマイスターシリーズ] AWS Elastic Beanstalk
[AWSマイスターシリーズ] AWS Elastic Beanstalk[AWSマイスターシリーズ] AWS Elastic Beanstalk
[AWSマイスターシリーズ] AWS Elastic BeanstalkAmazon Web Services Japan
 
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch LogsAWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch LogsAmazon Web Services Japan
 
Infrastructure as code for azure
Infrastructure as code for azureInfrastructure as code for azure
Infrastructure as code for azureKeiji Kamebuchi
 
20170902 kixs azure&azure stack
20170902 kixs azure&azure stack20170902 kixs azure&azure stack
20170902 kixs azure&azure stackOsamu Takazoe
 
AAD authentication for azure app v0.1.20.0317
AAD authentication for azure app v0.1.20.0317AAD authentication for azure app v0.1.20.0317
AAD authentication for azure app v0.1.20.0317Ayumu Inaba
 
クラウド・アプリケーションの作り方
クラウド・アプリケーションの作り方クラウド・アプリケーションの作り方
クラウド・アプリケーションの作り方Tomoharu ASAMI
 
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.11/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1junichi anno
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャーDaisuke Masubuchi
 
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきかElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきかAmazon Web Services Japan
 
WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要Takamasa Maejima
 
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理Nobuhiro Nakayama
 

What's hot (20)

DevAx::connect はじめました
DevAx::connect はじめましたDevAx::connect はじめました
DevAx::connect はじめました
 
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement ConsoleにログインするJAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
 
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
 
Azure id and rbac v0.7.19.0815
Azure id and rbac v0.7.19.0815Azure id and rbac v0.7.19.0815
Azure id and rbac v0.7.19.0815
 
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
 
社内システム on AWS
社内システム on AWS 社内システム on AWS
社内システム on AWS
 
[AWSマイスターシリーズ] AWS Elastic Beanstalk
[AWSマイスターシリーズ] AWS Elastic Beanstalk[AWSマイスターシリーズ] AWS Elastic Beanstalk
[AWSマイスターシリーズ] AWS Elastic Beanstalk
 
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch LogsAWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
 
Infrastructure as code for azure
Infrastructure as code for azureInfrastructure as code for azure
Infrastructure as code for azure
 
serverless
serverlessserverless
serverless
 
20170902 kixs azure&azure stack
20170902 kixs azure&azure stack20170902 kixs azure&azure stack
20170902 kixs azure&azure stack
 
AAD authentication for azure app v0.1.20.0317
AAD authentication for azure app v0.1.20.0317AAD authentication for azure app v0.1.20.0317
AAD authentication for azure app v0.1.20.0317
 
クラウド・アプリケーションの作り方
クラウド・アプリケーションの作り方クラウド・アプリケーションの作り方
クラウド・アプリケーションの作り方
 
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.11/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
 
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきかElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
 
WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要
 
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
 

Similar to 20120528 aws meister-reloaded-awssd-kforjava-public

[AWSマイスターシリーズ] AWS SDK for Java / .NET
[AWSマイスターシリーズ] AWS SDK for Java / .NET[AWSマイスターシリーズ] AWS SDK for Java / .NET
[AWSマイスターシリーズ] AWS SDK for Java / .NETAmazon Web Services Japan
 
Aws meister-cloud formation-summit2012
Aws meister-cloud formation-summit2012Aws meister-cloud formation-summit2012
Aws meister-cloud formation-summit2012Akio Katayama
 
Aws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうAws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうGenta Watanabe
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWSYasuhiro Araki, Ph.D
 
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回SORACOM, INC
 
OSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションOSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションDaisuke Masubuchi
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)Daisuke Ikeda
 
Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSAmazon Web Services Japan
 
【セミナー講演資料】オープンクラウドソリューションのご紹介
【セミナー講演資料】オープンクラウドソリューションのご紹介【セミナー講演資料】オープンクラウドソリューションのご紹介
【セミナー講演資料】オープンクラウドソリューションのご紹介Nissho-Blocks
 
S3 Client-Side Encryption by AWS SDK for Java/Ruby
S3 Client-Side Encryption by AWS SDK for Java/RubyS3 Client-Side Encryption by AWS SDK for Java/Ruby
S3 Client-Side Encryption by AWS SDK for Java/Ruby真吾 吉田
 
AWSマイスターシリーズ(Elastic Beanstalk)
AWSマイスターシリーズ(Elastic Beanstalk)AWSマイスターシリーズ(Elastic Beanstalk)
AWSマイスターシリーズ(Elastic Beanstalk)Akio Katayama
 
サーバーレス開発の強い味方 AWS Systems Manager
サーバーレス開発の強い味方 AWS Systems Managerサーバーレス開発の強い味方 AWS Systems Manager
サーバーレス開発の強い味方 AWS Systems Manager桂一 中山
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発Nomura Yusuke
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessKeisuke Nishitani
 

Similar to 20120528 aws meister-reloaded-awssd-kforjava-public (20)

[AWSマイスターシリーズ] AWS SDK for Java / .NET
[AWSマイスターシリーズ] AWS SDK for Java / .NET[AWSマイスターシリーズ] AWS SDK for Java / .NET
[AWSマイスターシリーズ] AWS SDK for Java / .NET
 
はじめてのAWS CLI
はじめてのAWS CLIはじめてのAWS CLI
はじめてのAWS CLI
 
Aws meister-cloud formation-summit2012
Aws meister-cloud formation-summit2012Aws meister-cloud formation-summit2012
Aws meister-cloud formation-summit2012
 
Aws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそうAws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそう
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS
 
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回
 
Kinesis3 notes
Kinesis3 notesKinesis3 notes
Kinesis3 notes
 
OSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションOSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーション
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
20130326 aws meister-reloaded-windows
20130326 aws meister-reloaded-windows20130326 aws meister-reloaded-windows
20130326 aws meister-reloaded-windows
 
AWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDKAWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDK
 
Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWS
 
Amazon Simple Workflow Service (SWF)
Amazon Simple Workflow Service (SWF)Amazon Simple Workflow Service (SWF)
Amazon Simple Workflow Service (SWF)
 
【セミナー講演資料】オープンクラウドソリューションのご紹介
【セミナー講演資料】オープンクラウドソリューションのご紹介【セミナー講演資料】オープンクラウドソリューションのご紹介
【セミナー講演資料】オープンクラウドソリューションのご紹介
 
S3 Client-Side Encryption by AWS SDK for Java/Ruby
S3 Client-Side Encryption by AWS SDK for Java/RubyS3 Client-Side Encryption by AWS SDK for Java/Ruby
S3 Client-Side Encryption by AWS SDK for Java/Ruby
 
AWSマイスターシリーズ(Elastic Beanstalk)
AWSマイスターシリーズ(Elastic Beanstalk)AWSマイスターシリーズ(Elastic Beanstalk)
AWSマイスターシリーズ(Elastic Beanstalk)
 
サーバーレス開発の強い味方 AWS Systems Manager
サーバーレス開発の強い味方 AWS Systems Managerサーバーレス開発の強い味方 AWS Systems Manager
サーバーレス開発の強い味方 AWS Systems Manager
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
 

More from Amazon Web Services Japan

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
 
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFSAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device DefenderAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現Amazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...Amazon Web Services Japan
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用Amazon Web Services Japan
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介Amazon Web Services Japan
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Web Services Japan
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨Amazon Web Services Japan
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介Amazon Web Services Japan
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介Amazon Web Services Japan
 

More from Amazon Web Services Japan (20)

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
 
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
 
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
 
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
 
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
 
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
 
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
 

Recently uploaded

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (10)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

20120528 aws meister-reloaded-awssd-kforjava-public

  • 1. AWSマイスターシリーズ ~AWS SDK for Java & AWS Toolkit for Eclipse~ 2012年05月28日 大谷 晋平( @shot6 ) 片山 暁雄( @c9katayama ) ソリューションアーキテクト
  • 2. Agenda AWS Toolkit for Eclipse AWS SDK オーバービュー AWS SDK for Java コードサンプル まとめ Copyright © 2011 Amazon Web Services
  • 3. AWS Toolkit for Eclipse
  • 4. AWS Toolkit for Eclipse EclipseにAWS操作のための機能を追加するプラグイン AWSを使用したアプリの開発/テストをバックアップ
  • 5. インストール前提 Java 1.5以上 Eclipse IDE for Java EE Developers 3.6  3.7推奨 AWS Elastic Beanstalk Deployment:  Eclipse Web Tools Platform 2.0以上 Amazon SimpleDB Management  Eclipse Data Tools Platform 1.7 以上 Java EE Developer に入ってます
  • 7. 機能 アカウント管理 AWS Explorer  各種サービスの情報表示/操作 EC2 コンソール  EC2のコントロールパネル AWS Elastic Beanstalk  デプロイ、デバッグ、環境構築 AWS SDK for Java integration  Javaプロジェクト/Webプロジェクトウィザード
  • 8. アカウント管理 Access Key IDとSecret Access keyを登録 複数のアカウント登録が可能
  • 9. AWS Explorer 各サービス情報の一覧  Amazon SNS  Amazon S3  Amazon SQS  Amazon SimpleDB  Amazon EC2  AWS Elastic Beanstalk  Amazon CloudFront  Amazon DynamoDB  Amazon RDS ツリーから情報にアクセス
  • 11. AWS Explorer – Amazon SNS トピックの一覧表示 トピックの作成 サブスクリプションの作成/削除
  • 12. AWS Explorer – Amazon S3 Bucketの作成/削除、権限設定 オブジェクトの一覧  ツリー状に表示 オブジェクトの削除、権限設定、Pre-signed URLの生成 オブジェクトアップロード  EclipseへのD&Dでアップロード
  • 13. AWS Explorer – Amazon SQS キューの作成、削除 キューへのメッセージ送信 キュー内の一覧 メッセージの削除
  • 14. AWS Explorer – Amazon SimpleDB ドメインの作成/削除 ドメイン内の一覧 行の追加/削除 SimpleDBクエリーエディタ  コードアシストあり
  • 15. AWS Explorer – Amazon CloudFront 既存Distributionの一覧 Distributionの内容表示 Distributionの有効化/無効化
  • 16. AWS Explorer – Amazon DynamoDB テーブルの追加/削除 キャパシティの変更 テーブル内アイテム一覧 属性追加 スキャンの実行
  • 17. AWS Explorer – Amazon RDS 既存RDSの一覧 DBへの接続  情報はData Managementに格納 • パスワード変更などは Preferences>DataManagementから 接続後は通常のJDBC接続で管理
  • 18. EC2 コンソール AMI管理  検索、削除、AMIからの起動 インスタンス管理  右クリックから状態変更、SSH接続、AMI作成、EBSの操作  インスタンスタイプおよびセキュリティグループによるフィル ター
  • 21. AWS Elastic Beanstalk Elastic Benstalkの環境情報表示と編集 各環境に属するAutoScaling,ELB,EC2の一覧表示
  • 22. AWS Elastic Beanstalk 各種詳細設定  AutoScalingポリシー • トリガー条件、インスタンス起動設定、ゾーン設 定  JavaVM設定  ELB設定  通知設定
  • 23. AWS SDK for Java integration プロジェクト構築時のウィザートを提供 通常JavaプロジェクトとWebプロジェクトを構築し、クラス マスにAWS SDK for Javaを追加  AWS SDKはeclipse updateを通じて最新版を取得可能 サンプルコードとAWSアカウント設定が可能  すぐに動作するサンプルがソース提供
  • 24. まとめ AWS Toolkit for Eclipseは開発者に焦点  EC2、Beanstalkは機能が充実  それ以外はサービス情報の確認に利用 AWS SDKを利用する場合に便利  SDKバージョンの選択  AWSアカウントが選択可能  SDKにソースアタッチ済み AWS Toolkit for Eclipseを使用するなら、コードでAWSク ラウドをコントロールしよう!
  • 25. 機能が足りない場合は・・・ AWS Toolkit for JavaはOSS  https://github.com/amazonwebservices/aws-toolkit-for- eclipse  拡張はご自由に!
  • 27. AWSのサービス操作と言えば AWS Management Console AWSコマンドラインツール
  • 28. これらの裏側では・・・ 各サービスの各操作に対して、APIが定義されている AWSでは・・・  人間がGUIまたはCUI越しに叩く  プログラミングしてそれを自動化・簡易化・カスタマイズ • 人間が手でやらなくてはいけない事をプログラミ ングして自動化できる、これがSDKで実現可能 • しかも簡単 • AWSの実は最も優れた一面
  • 29. AWS SDKとは AWSのサービスを操作できるSDK  プログラムでクラウドを操作できるAPI群  さまざまな言語で提供 • AWS SDK for Java • AWS SDK for C# • AWS SDK for Ruby • AWS SDK for PHP • AWS SDK for Android • AWS SDK for iOS • 有志の方による実装(PythonやActionScript)も  通信は原則HTTPS  署名による暗号化
  • 30. 起動、停止 REST Put,Get SOAP DB起動、バックアップ 情報取得
  • 31. 操作の種類 例えばEC2  インスタンス起動・・・RunInstances  リブート・・・ RebootInstances  IPアドレス付与・・AllocateAddress  など100種類以上の操作が、プログラムから実行可能
  • 32. AWS SDK for Java
  • 33. AWS SDK for Java AWS SDK for Java  Amazon提供のAWS開発用Java SDK  http://aws.amazon.com/sdkforjava/  環境:Java5以降  最新版 1.3.10  依存ライブラリ • Commons-codec,httpclient,logging • Jackson • Javamail • stax
  • 34. 操作可能サービス EC2 S3 Autoscaling Cloudwatch ElasticLoadBalancing SimpleWorkflow ElasticBeanstalk IdentityManagement ElasticMapReduce ImportExport RDS ElastiCache Simpledb SimpleDB SNS SES DynamoDB SQS StorageGateway CloudSearch
  • 36. Java SDKクライアントクラスの基本 クレデンシャル情報を渡す  アクセスキー  シークレットキー 方法としては  BasicAWSCredentialsで直接渡す  PropertiesCredentialsでプロパティファ イルに記述する  独自でAWSCredentialsを拡張する
  • 37. このような感じ AWSCredentials credentials = null; try { credentials = new PropertiesCredentials(Util.class .getResourceAsStream("AwsCredentials.properties")); } catch (IOException e) { //例外処理 } //このクレデンシャルを使ってClientを生成する IAM利用時は、IAMユーザーのアクセスキー、シークレットキーを利用。 IAMユーザーでアクセス権のないメソッドを呼ぶと、例外が発生。
  • 38. EC2 AmazonEC2Client // EC2操作用のクライアント AmazonEC2 ec2 = new AmazonEC2Client(credentials); // 立ち上げたいインスタンス情報の作成 RunInstancesRequest runInstancesRequest = new RunInstancesRequest("ami-xxxxx", 5, 5) .withKeyName(“yourkeyname") .withSecurityGroupIds(“yoursecgroup") .withMonitoring(true) .withInstanceType(InstanceType.M1Small); // インスタンスの起動 ec2.runInstances(runInstancesRequest);
  • 39. S3 AmazonS3Client // S3操作用クライアント AmazonS3 s3 = new AmazonS3Client(credentials); // bucket作成 s3.createBucket(“mybucket"); //オブジェクトのPUT PutObjectResult ret = client.putObject("mybucket", "aaa.txt", file);
  • 40. S3での巨大ファイルの簡易アップロード //TransferManagerを作成 AmazonS3Client client = new AmazonS3Client(cred); TransferManager manager = new TransferManager(client); //最低1チャンクを5MBに設定 TransferManagerConfiguration c = new TransferManagerConfiguration(); c.setMinimumUploadPartSize(5 * 1024L * 1024L); manager.setConfiguration(configuration); //巨大ファイルのアップロード実行と進捗の監視 Upload upload = manager.upload(bucketName, bigfileName, target, o); while (upload.isDone() == false) {…
  • 41. RDS AmazonRDSClinet // RDS操作用クライアント AmazonRDS amazonRDS = new AmazonRDSClient(credentials); // DB instance作成 CreateDBInstanceRequest createDBInstanceRequest = new CreateDBInstanceRequest() .withAllocatedStorage(5) .withMultiAZ(true) .withDBInstanceClass("db.m1.small") … .withEngine("MySQL"); DBInstance result = rds.createDBInstance(createDBInstanceRequest);
  • 42. Java SDKの構成 各サービス毎にクライアントクラスが付属  面倒な下記のようなことは利用者から隠ぺいしてくれる • HTTP通信及び例外ハンドリング • 署名 • エラー時のリトライ処理 サービスどれでもほぼ同一で直感的な使い勝手の提供 極力、利用者は単純に呼び出すだけでよい プラガブルな構成で、部分的に入れ替えられる  挙動を変えたい  例外のハンドリング方法を変えたい  処理速度を上げたい
  • 43. Java SDKの構成イメージ <<abstract>> 保持 AmazonHttp AmazonWeb Client ServiceClient execute( リクエスト, AmazonEC2 レスポンスハンドラー, Client エラーハンドラー, ExecutionContext) 保持 ・利用する署名方法 ・クレデンシャル AmazonEC2 ExecutionCo ・リトライ AsyncClient ntext
  • 44. Java SDKのパッケージ構成 com.amazonaws  auth : 署名関連  handlers : SDKの挙動をカスタマイズするハンドラー  http : 実際のHTTPリクエストを処理する  internal : リトライ関連  sdk : バージョン情報  services : 各サービス毎の実体  transform : API経由で返ってくるXMLをパースする実体  util : ユーティリティ
  • 45. Java SDKの各サービス毎の構成 クライアントは実体が2つ  同期通信を中心としたクライアント : XxxClient  非同期通信を追加した非同期クライアント : XxxAsyncClient
  • 47. 有効な利用方法 利用方法(運用面)  決まったインスタンスを起動するバッチ  固定ディスク(EBS)のスナップショットを定期取得  S3からデータを定期的に取得  S3上のデータを監視して、無くなったら通知 利用方法(アプリから)  アプリのバックエンドとして、DynamoDBを使う  メール送信のためにSMSを使う  データ保存のためにS3を使う
  • 48. Tips等 実行はどこからでも可能  インターネットのエンドポイントへアクセス出来れば、EC2イ ンスタンスからでも、自分のPCからでもアクセス可能  EC2からであれば、メタデータと組み合わせて自己構成できる 便利なフレームワークがついている場合も  DynamoDB ORマッパー  S3 ハイレベルAPI  SimpleWorkflow FlowFramework
  • 49. setterとwith 各種リクエストオブジェクトに対して値を設定する場合、 setXXXとwithXXXが利用可能。 withXXXの場合、戻り値がリクエストオブジェクトになるの で、fluentな形での実装が可能。 複数追加できるようなパラメータ(add系)の場合、setterに はCollectionの引数しかない場合が多いが、withだと実際の 型の引数が取れる。 //setter req.setBlockDeviceMappings(Arrays.asList(new BlockDeviceMapping())); //with req. withBlockDeviceMappings(new BlockDeviceMapping()). withBlockDeviceMappings(new BlockDeviceMapping());
  • 50. アドバンスドなトピック Java SDKは拡張性をかなり確保した状態になっている Client/AsyncClient自体も自分で拡張できる  おおざっぱなやり方はインターフェースをそのまま継承 細かく拡張ポイントを入れ替えることも可能  ClientConfiguration  RequestHandler  CustomBackoffStrategy  Marshaller/UnMarshaller
  • 51. ClientConfiguration 各Clientクラスの基本的な挙動を決定する設定  ソケットのタイムアウト値  最大コネクション数  最大リトライ数  使用するプロトコル(デフォルトHTTPS)  プロキシ関連設定  コネクションタイムアウト 各Client生成時にClientConfigurationを渡す
  • 52. RequestHandler ServletでいうところのいわゆるFilter  デバッグ時や、何か統一的に処理させたい場合など便利  beforeRequest : リクエスト送信前  afterResponse : レスポンス受信後  afterError : エラー受信後 各サービスごとに定義可能  Clientで普通に渡す  com/amazonaws/services/xxx/request.handlersというファ イルをおいて、これに定義するとロードされる 標準で既に定義されているものも  EC2RequestHandler  QueueUrlHandler  Route53IdRequestHandler
  • 53. CustomBackoffStrategy AWSクラウド側へのリトライ間隔をコントロールする  カスタマイズして現状使っているのはDynamoDBのみ  実行コンテキストであるExecutionContextに設定して渡す AmazonHttpClientの600行目付近  pauseExponentiallyメソッド private void pauseExponentially(int retries, AmazonServiceException previousException, CustomBackoffStrategy backoffStrategy) { long delay = 0; if (backoffStrategy != null) { delay = backoffStrategy.getBackoffPeriod(retries); } else { long scaleFactor = 300; … delay = (long) (Math.pow(2, retries) * scaleFactor); } … }
  • 54. Marshaller/Unmarshaller AWSが提供しているXMLパース(一部JSONパース)では遅い ので色々いらないものを省略してパースしたい  Java SDKではStAXというプルモデル型のパーサー • XMLのどこを読むかをコントロールしやすい  Clientを書いて、自分でMarshaller/Unmarshallerする 各サービス.model.transformの下  ここにMarshaller/Unmarshallerが大量にいる コーディングポリシー的には  Clientの各メソッド内でMarshallしてRequest<X>を作成  UnmarshallerはResponseHandlerにセットされて、 AmazonHttpClientに渡されてレスポンス帰ってきたら実行
  • 55. Java SDKのまとめ JavaのSDKを使うことで  運用管理での煩雑な手間をコーディングして落とすことが可能 • もしかしてCloudFormationよりも楽?  どのサービスでも同じような使い勝手で利用可能で楽  実際のサービス開発のお供に • S3 • SNS/SQS/SWF • DynamoDB AWSはコーディングする方の力を最大限に引き出すインフラ  HAPPY CODING!!