Submit Search
20120528 aws meister-reloaded-awssd-kforjava-public
5 likes
1,538 views
Amazon Web Services Japan
1 of 55
Download now
Downloaded 99 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
More Related Content
PDF
AWS CLIでAssumeRole
Tetsunori Nishizawa
PDF
Amazon ElastiCache - AWSマイスターシリーズ
SORACOM, INC
PDF
20120303 jaws summit-meister-04_cloud_formation
Amazon Web Services Japan
PDF
20120201 aws meister-reloaded-iam-and-billing-public
Amazon Web Services Japan
PDF
JAWS-UG CLI専門支部 #13 Azure ADでAWSのManagementConsoleにSSOしてみた(代理認証編)
Nobuhiro Nakayama
PPTX
リソーステンプレート入門
junichi anno
PDF
[AWSマイスターシリーズ]Identity and Access Management (IAM)
Amazon Web Services Japan
PPTX
Prometheus × container insightsで aksを監視してみた
TaichiSugibe
AWS CLIでAssumeRole
Tetsunori Nishizawa
Amazon ElastiCache - AWSマイスターシリーズ
SORACOM, INC
20120303 jaws summit-meister-04_cloud_formation
Amazon Web Services Japan
20120201 aws meister-reloaded-iam-and-billing-public
Amazon Web Services Japan
JAWS-UG CLI専門支部 #13 Azure ADでAWSのManagementConsoleにSSOしてみた(代理認証編)
Nobuhiro Nakayama
リソーステンプレート入門
junichi anno
[AWSマイスターシリーズ]Identity and Access Management (IAM)
Amazon Web Services Japan
Prometheus × container insightsで aksを監視してみた
TaichiSugibe
What's hot
(20)
PPTX
DevAx::connect はじめました
政雄 金森
PDF
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
Nobuhiro Nakayama
PDF
AWSマイスターシリーズReloaded(AWS Beanstalk)
Akio Katayama
PDF
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
Amazon Web Services Japan
PPTX
Azure id and rbac v0.7.19.0815
Ayumu Inaba
PPTX
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
junichi anno
PPTX
社内システム on AWS
kudo-jun
PDF
[AWSマイスターシリーズ] AWS Elastic Beanstalk
Amazon Web Services Japan
PDF
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
Amazon Web Services Japan
PDF
Infrastructure as code for azure
Keiji Kamebuchi
PDF
serverless
Akira Otsuka
PPTX
20170902 kixs azure&azure stack
Osamu Takazoe
PDF
AAD authentication for azure app v0.1.20.0317
Ayumu Inaba
PDF
クラウド・アプリケーションの作り方
Tomoharu ASAMI
PPT
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
junichi anno
PDF
ハイブリットクラウド環境におけるモダンアプリケーション開発
政雄 金森
PDF
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
Daisuke Masubuchi
PDF
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
PDF
WVD (Windows Virtual Desktop) 概要
Takamasa Maejima
PDF
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
Nobuhiro Nakayama
DevAx::connect はじめました
政雄 金森
JAWS-UG CLI #27 LT ActiveDirectoryのユーザとパスワードでManagement Consoleにログインする
Nobuhiro Nakayama
AWSマイスターシリーズReloaded(AWS Beanstalk)
Akio Katayama
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
Amazon Web Services Japan
Azure id and rbac v0.7.19.0815
Ayumu Inaba
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
junichi anno
社内システム on AWS
kudo-jun
[AWSマイスターシリーズ] AWS Elastic Beanstalk
Amazon Web Services Japan
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
Amazon Web Services Japan
Infrastructure as code for azure
Keiji Kamebuchi
serverless
Akira Otsuka
20170902 kixs azure&azure stack
Osamu Takazoe
AAD authentication for azure app v0.1.20.0317
Ayumu Inaba
クラウド・アプリケーションの作り方
Tomoharu ASAMI
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
junichi anno
ハイブリットクラウド環境におけるモダンアプリケーション開発
政雄 金森
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー
Daisuke Masubuchi
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
WVD (Windows Virtual Desktop) 概要
Takamasa Maejima
Developers.IO 2018 ビジネスを阻害しない!AWS アカウントの管理
Nobuhiro Nakayama
Ad
Similar to 20120528 aws meister-reloaded-awssd-kforjava-public
(20)
PDF
[AWSマイスターシリーズ] AWS SDK for Java / .NET
Amazon Web Services Japan
PDF
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
Atsushi Fukui
PDF
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
Amazon Web Services Japan
PDF
[AWSマイスターシリーズ] AWS Client Side SDK -Android,iOS & JavaScript-
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
Amazon Web Services Japan
PDF
AWS SDK for Haskell開発
Nomura Yusuke
PDF
Cloud Programing for beginner
Satoru Ishikawa
PDF
AWS SDK for Android and iOS
Amazon Web Services Japan
PDF
AWS Black Belt Techシリーズ AWS SDK
Amazon Web Services Japan
PDF
AWSマイスターシリーズReloaded -AWS SDK for .NET-
Amazon Web Services Japan
PDF
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
PDF
AWSにおける モバイル向けサービス及び事例紹介(20151211)
Keisuke Nishitani
PDF
AWS Black Belt Techシリーズ Amazon Elastic Compute Cloud (Amazon EC2)
Amazon Web Services Japan
PDF
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
PDF
AWS Introduction for Startups
akitsukada
PDF
Windows 開発者のための Dev&Ops on AWS
Amazon Web Services Japan
PPTX
AWS ではじめる Programmable Cloud
Takashi Someda
PDF
Amazon EC2
Akio Katayama
PDF
Amazon Ec2
Akio Katayama
PDF
AWS初心者向けWebinar .NET開発者のためのAWS超入門
Amazon Web Services Japan
[AWSマイスターシリーズ] AWS SDK for Java / .NET
Amazon Web Services Japan
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
Atsushi Fukui
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
Amazon Web Services Japan
[AWSマイスターシリーズ] AWS Client Side SDK -Android,iOS & JavaScript-
Amazon Web Services Japan
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
Amazon Web Services Japan
AWS SDK for Haskell開発
Nomura Yusuke
Cloud Programing for beginner
Satoru Ishikawa
AWS SDK for Android and iOS
Amazon Web Services Japan
AWS Black Belt Techシリーズ AWS SDK
Amazon Web Services Japan
AWSマイスターシリーズReloaded -AWS SDK for .NET-
Amazon Web Services Japan
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
AWSにおける モバイル向けサービス及び事例紹介(20151211)
Keisuke Nishitani
AWS Black Belt Techシリーズ Amazon Elastic Compute Cloud (Amazon EC2)
Amazon Web Services Japan
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Keisuke Nishitani
AWS Introduction for Startups
akitsukada
Windows 開発者のための Dev&Ops on AWS
Amazon Web Services Japan
AWS ではじめる Programmable Cloud
Takashi Someda
Amazon EC2
Akio Katayama
Amazon Ec2
Akio Katayama
AWS初心者向けWebinar .NET開発者のためのAWS超入門
Amazon Web Services Japan
Ad
More from Amazon Web Services Japan
(20)
PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
PDF
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
PPTX
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
PDF
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
Amazon Web Services Japan
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
PDF
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
PDF
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
PDF
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
PDF
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
PDF
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
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
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
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
Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
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 に入ってます
6.
インストール方法 Plugin更新サイトからインストール http://aws.amazon.com/eclipse/ Eclipse
MarketPlaceからインストール
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 ツリーから情報にアクセス
10.
リージョンとアカウント メニューからリージョンとアカウントの切り替え
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の操作 インスタンスタイプおよびセキュリティグループによるフィル ター
19.
EC2コンソール EBS管理 EBS作成、削除、スナップショット作成
スナップショット一覧、削除
20.
EC2コンソール セキュリティグループ管理 セキュリティグループ作成、削除
アクセス条件の追加、削除
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 拡張はご自由に!
26.
AWS SDK オーバービュー
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
35.
はじめに取得するもの AWSの認証キー(アクセスキー、シークレットキ-) AWSログイン後、[アカウント]>[セキュリティ証明書]の画面
から確認OK
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
46.
リージョンを選択する リージョンの選択 デフォルトはどれもus-east setEndpointメソッドで指定 setEndpoint("ec2.ap-southeast-1.amazonaws.com") サービス毎のエンドポイントは下記URL参照
http://docs.amazonwebservices.com/general/latest/gr/r ande.html
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!!
Download