サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache...

16
2013/05/16 2013/05/16 2013/05/16 2013/05/16 AWS SDK Java AWS SDK Java AWS SDK Java AWS SDK Java で使おう おう おう おう( & DNS DNS DNS DNS 編) ...とあにて。 先輩~、Cloud(n) 触ってみたけど LBA とか DNS とか API しかなくて使えない。 やっぱ Amazon ね。 俺は使えてけど。 あ!?そって AWS じゃないか? Cloud(n) だ。 どうやって使うか?ってかどこにあったか、そ? 自分で作っただ。Cloud(n) の API に AWS 互換って書いてあだ。 Java 入て、AWS SDK 落として、Apache Http Client 落として、END POINT 変えば使え。 自分文系なで全然意味かない。 文系とか理系とか関係ないだ。 Java ぐい出来な? Java とかって人生に必要なか? とかないとやっぱ駄目か? 使うだけだかは要ない。 落として実行すば完了だ。 後輩: 先輩: 後輩: 先輩: 後輩: 先輩: 後輩: 先輩: 後輩: 先輩: 1/16 ページ サンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編) 2013/06/24 file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Transcript of サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache...

Page 1: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

2013/05/162013/05/162013/05/162013/05/16

AWS SDK Java AWS SDK Java AWS SDK Java AWS SDK Java でででで使使使使おうおうおうおう((((インストールインストールインストールインストール& & & & DNS DNS DNS DNS 編編編編))))

...とあるオフィスにて。

先輩~、Cloud(n) 触ってみたんスけど LBA とか DNS とか API しかなくて使えないッス。

やっぱ Amazon ッスね。

俺はサクサク使えてるけど。

あれ!?それって AWS じゃないんスか?

Cloud(n) だよ。

どうやって使うんスか?ってかどこにあったんスか、それ?

自分で作ったんだよ。Cloud(n) の API マニュアルに AWS 互換って書いてあるだろ。

Java 入れて、AWS SDK 落として、Apache Http Client 落として、END POINT 変えれば使えるよ。

自分文系なんで全然意味わかんないッス。

文系とか理系とか関係ないだろ。

Java インストールぐらい出来るよな?

Java とかって人生に必要なんスか?

スキルとかないとやっぱ駄目ッスか?

使うだけだからスキルは要らないよ。

インストーラー落として実行すれば完了だよ。

後輩:

先輩:

後輩:

先輩:

後輩:

先輩:

後輩:

先輩:

後輩:

先輩:

1/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 2: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

Oracle サイト

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Java SE 7uxx の JDK の「DOWNLOAD」ボタンクリック。

Accept License Agreement チェックして、自分の OS のインストーラーを選択。

自分 Windows なんスけど、x86 とか x64 って何スか?適当でいいッスか?

XP なら、スタート⇒マイ コンピュータ 右クリック⇒プロパティ

で x64 と表示されてなければ x86 (32bit) だ。

後輩:

先輩:

2/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 3: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

Vista とか 7 なら、スタート⇒コントロールパネル⇒システム でシステムの種類に 32 ビット

とか書いてある。64 ビットは x64、32 ビットは x86 だ。(linux なら uname コマンド)

どこにダウンロードすればいいスか?

デスクトップでいい。

実行すればいいスか?

jdk-7uxx-windows-xxx.exe ファイルダブルクリックして、「次へ」ボタン押してればインストー

ル完了だ。(linux なら # rpm -ivh jdk-7uxx-linux-xxx.rpm)

正常にインストール出来ました!

スタート⇒コントロール パネル⇒プログラムと機能

Java がインストール出来たら、後は 3 つのモジュールを落として使うだけだ。

後輩:

先輩:

後輩:

先輩:

後輩:

先輩:

3/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 4: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

①Apache HttpComponents サイト

http://hc.apache.org/downloads.cgi

「Binary」の zip ファイルのリンクをクリック。

(2013/05/16 現在、最新バージョン = httpcomponents-client-4.2.5-bin.tar.gz)

②Java 用 AWS SDK(aws-java-sdk-1.3.21.1.zip)(40.1 MB)

http://str.cloudn-service.com/api/aws-java-sdk-1.3.21.1.zip

俺のサンプルコードはここにある。

③先輩のサンプルコード『CloudnAPI(Java)』(60KB)

http://str.cloudn-service.com/api/CloudnAPI.zip

どこにダウンロードすればいいスか?

デスクトップでいい、全部解凍するんだ。AWS SDK は 130MB、Apache HttpComponents は 15MB、

CloudnAPI は 200KB 位になるからディスク容量に気をつけた方がいい。

俺のサンプルコード(\CloudnAPI フォルダ)は C:\ 直下(Program Files の並び)に移動してく

れ。(linux なら任意)

先輩:

※ 本「CloudnAPI(Java)」はサポート対象外とさせて頂きます。

個人の責任で御利用下さい。

※ Java が動作する環境 (Windows / Linux / Mac 他) で御利用頂けます。

注意事項

後輩:

先輩:

4/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 5: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

\aws-java-sdk-1.3.21.1\lib 配下の jar ファイルを C:\CloudnAPI フォルダに移動。

\httpcomponents-client-x.x.x\lib 配下の jar ファイルを C:\CloudnAPI フォルダに移動。

次はパスの設定だな。

Java インストールが成功すると、Java の実行ファイルのパスは

C:\Program Files\Java\jdkx.x.x_xx\bin

になる。

【JDK バージョン 1.7.0_07 の例】

そこに入っている実行ファイル(.exe ファイル)をどこのフォルダからも実行できるようにする

のが Path 設定だ。

先輩:

5/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 6: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

スタート⇒マイ コンピュータ 右クリック⇒プロパティ⇒「詳細設定」タブ⇒「環境変数」ボタン

クリック

システム環境変数の「Path」選択後、「編集」ボタンクリックだ。変数値に既に色々書かれてい

るから、消さないように末尾に

「;C:\Program Files\Java\jdkx.x.x_xx\bin;.;」を追加し「OK」をクリックするだけだ。

(最後セミコロン、ピリオド、セミコロン)

jdkの後に来る数字はインストールした Java のバージョンに変更する必要がある。

【JDK バージョン 1.7.0_07 の例】

次にシステム環境変数の「新規」ボタンをクリック。

変数名 = CLASSPATH

変数値 = .;aws-java-sdk-1.3.21.1.jar;aws-java-sdk-flow-build-tools-

1.3.21.1.jar;httpclient-4.2.5.jar;httpcore-4.2.4.jar;commons-logging-1.1.1.jar;commons-

codec-1.6.jar

変数値の jar のバージョンは更新されている場合があるから、さっき実際に自分でダウンロード

した C:\CloudnAPI フォルダのファイルの数字に合わせるんだぞ。拡張子(.jar)も忘れるな。

先輩:

先輩:

6/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 7: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

入力したら「OK」をクリックし、更に「OK」をクリックして環境変数ウィンドウを閉じ、更に

「OK」をクリックしてシステムのプロパティウィンドウを閉じる。

面倒ッスね。Java って。

eclipse とかフレームワーク使えばこの辺は簡単になるぞ。楽したければ自分で調べろ。

(linux の場合は以下。jar のバージョンはダウンロードしたファイルの数字に合わせること。

[PATH TO JAR] は実際の jar ファイル絶対パスに合わせること)

(linux)# vi ~/.bashrc

export CLASSPATH=.:/[PATH TO JAR]/aws-java-sdk-1.3.21.1.jar:/[PATH TO JAR]/aws-

java-sdk-flow-build-tools-1.3.21.1.jar:/[PATH TO JAR]/httpclient-4.2.5.jar:/[PATH

TO JAR]/httpcore-4.2.4.jar:/[PATH TO JAR]/commons-logging-1.1.1.jar:/[PATH TO

JAR]/commons-codec-1.6.jar

を末尾に追加。

(linux)# source ~/.bashrc

で反映。

もうヘトヘトッス。あと何すればいいんスか?

使うだけだ。

後輩:

先輩:

後輩:

先輩:

7/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 8: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

自分のアクセスキーID、秘密鍵を Cloud(n) ポータルサイトで調べる。

次にワードパッドやエディタなどで C:\CloudnAPI フォルダ内の PROPERTIES という種類のファイ

ルを開くんだ。

右辺に自分のアクセスキーID、秘密鍵を入れて保存するんだ。

(ダブルクォーテーション等で囲む必要はありません)

8/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 9: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

サービス共通(LBA、ObjectStorage(東日本)、AutoScaling、PaaS、DNS、Monitoring、RDB、

Provisioning)は

C:\CloudnAPI\CloudnCredentials.properties

### LBA、ObjectStorage(東日本)、AutoScaling、PaaS、DNS、Monitoring、RDB、

Provisioning

accessKey=アクセスキーID

secretKey=秘密鍵

Compute(東日本)は

C:\CloudnAPI\CloudnCredentialsCom.properties

### Compute(東日本)

accessKey=アクセスキーID

secretKey=秘密鍵

Java の実行の仕方は知っているかな?

スタート⇒すべてのプログラム⇒アクセサリ⇒コマンド プロンプト

まずはファイルのあるフォルダへ移動だ。

C:\Users\kouhai>cd C:\CloudnAPI

コンパイルは javac コマンドを使う。

C:\CloudnAPI>javac CloudnAPIService.java

警告:注釈プロセッ

サ'com.amazonaws.eclipse.simpleworkflow.asynchrony.annotationprocessor.AsynchronyDeciderAnnotationProcessor'

ら-source '1.7'より小さいソース・バージョン'RELEASE_6'がサポートされています

警告1個

まさかのコンパイルエラーじゃないッスか!

Java SE 7 で AWS SDK を使っている人は皆これをくらう様だ。

動作上問題ないから気にするな。

「エラー: パッケージcom.amazonawsは存在しません」とか Class Not Found とか

NullPointerException が出たらパス設定の間違いが原因だ。コマンド プロンプトは起動し直さな

いと変更した環境変数が反映されないから注意が必要だ。

実行は java コマンドだ。拡張子付けちゃ駄目だぞ。

中断したい時は Ctrl + c で Java プロセスを kill すればいい。

C:\CloudnAPI>java CloudnAPIService

=== Start ===[2013/05/20 11:24:53]

> Which Service ? (Compute / LBA / ObjectStorage / AutoScaling / DNS / Monitoring /

Exit) :

どのサービスにする?って聞かれました。

「ご利用中」になっているサービスだけ使えるぞ。

先輩:

先輩:

後輩:

先輩:

後輩:

先輩:

9/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 10: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

DNS 使いたいッス!

そのまま打ち込むだけだ。大文字小文字に気をつけろよ。

えっと、DNS DNS DNえッス。

> Which Service ? (Compute / LBA / ObjectStorage / AutoScaling / DNS / Monitoring /

Exit) :

DNS

Service =[DNS]

URL =[https://dns-api.jp-e1.cloudn-service.com/]

=== Start:CloudnAPIDNS:publicMain ===[2013/05/20 11:24:57]

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

ややッ!コマンドが出てきたッス!

参照系の List とかやってみ。

List List。

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

List

Command =[List]

ListHostedZonesResult:

{HostedZones: [], IsTruncated: false, MaxItems: 100, }

まだ Zone が登録されてないから List が空っぽだな。

後輩:

先輩:

後輩:

後輩:

先輩:

後輩:

先輩:

10/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 11: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

Create で Zone 作ってみ。

Zone Name は取り敢えず適当。

Caller Reference は Zone Name と同じ。

Comment は適当にコメントつけてみ。

Create Create。

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

Create

Command =[Create]

> Enter Create Zone Name :

kouhai01zone.com

Zone Name =[kouhai01zone.com]

> Enter Caller Reference :

kouhai01zone.com

Caller Reference =[kouhai01zone.com]

> Enter Comment (empty is available) :

Test Zone

Comment =[Test Zone]

CreateHostedZoneRequest:

{Name: kouhai01zone.com, CallerReference: kouhai01zone.com, HostedZoneConfig:

{Comment: Test Zone, }, }

CreateHostedZoneResult:

{HostedZone: {Id: 02054F34582B4F, Name: kouhai01zone.com., CallerReference:

kouhai01zone.com, Config: {Comment: Test Zone, }, ResourceRecordSetCount: 2, },

ChangeInfo: {Id: e051a79523c840, Status: PENDING, SubmittedAt: Mon May 20 11:26:09

JST 2013, }, DelegationSet: {NameServers: [ns-08.dns.jp-e1.cloudn-service.com, ns-

09.dns.jp-e1.cloudn-service.com, ns-10.dns.jp-e1.cloudn-service.com], }, }

文字だらけでわけわかんないッス。

慌てるな。エラーにならなかったから OK だ。

Zone を作ると Zone Id とか ChangeInfo とか DNS サーバのホスト名 が返ってくる。

Status が PENDING になっているから Zone 作ってる最中だな。

変更情報が取得出来る GetChange コマンドを実行してみろ。

Status が INSYNC になったら Zone が使えるぞ。

ちなみに ChangeInfo の Id が Change ID だ。

GetChange GetChange。

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

GetChange

Command =[GetChange]

> Enter Change ID :

e051a79523c840

Change ID =[e051a79523c840]

GetChangeRequest:

後輩:

後輩:

先輩:

後輩:

11/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 12: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

{Id: e051a79523c840, }

GetChangeResult:

{ChangeInfo: {Id: e051a79523c840, Status: INSYNC, SubmittedAt: Mon May 20 11:26:09

JST 2013, }, }

INSYNC になってまッス。

Id の長い文字列打つのがカナーリ面倒ッスね。

コマンド プロンプト上で右クリック⇒範囲指定⇒コピーする文字列をドラッグ⇒右クリック⇒コ

マンド プロンプト上で右クリック⇒貼り付け

これでコピー&ペースト出来るぞ。

先輩何でも知ってますね。

多分誰でも知ってるぞ。

INSYNC なら List に出てくるハズだ。

List List。

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

List

Command =[List]

ListHostedZonesResult:

{HostedZones: [

{Id: 02054F34582B4F, Name: kouhai01zone.com., CallerReference: kouhai01zone.com,

Config: {Comment: Test Zone, }, ResourceRecordSetCount: 0, }], IsTruncated: false,

MaxItems: 100, }

おー!出来た!

Zone が出来たな。Info で Zone の中身が見えるぞ。

Info Info。

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

Info

Command =[Info]

ListHostedZonesResult:

{HostedZones: [

{Id: 02054F34582B4F, Name: kouhai01zone.com., CallerReference: kouhai01zone.com,

Config: {Comment: Test Zone, }, ResourceRecordSetCount: 2, }], IsTruncated: false,

MaxItems: 100, }

> Enter Zone ID :

02054F34582B4F

Zone ID =[02054F34582B4F]

GetHostedZoneRequest:

{Id: 02054F34582B4F, }

GetHostedZoneResult:

{HostedZone: {Id: 02054F34582B4F, Name: kouhai01zone.com., CallerReference:

kouhai01zone.com, Config: {Comment: Test Zone, }, ResourceRecordSetCount: 2, },

DelegationSet: {NameServers: [ns-08.dns.jp-e1.cloudn-service.com, ns-09.dns.jp-

e1.cloudn-service.com, ns-10.dns.jp-e1.cloudn-service.com], }, }

ListResourceRecordSetsRequest:

後輩:

先輩:

後輩:

先輩:

後輩:

後輩:

先輩:

後輩:

12/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 13: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

{HostedZoneId: 02054F34582B4F, }

ListResourceRecordSetsResult:

{ResourceRecordSets: [

{Name: kouhai01zone.com., Type: SOA, TTL: 60, ResourceRecords: [{Value: ns-

08.dns.jp-e1.cloudn-service.com. root.cloudn2.net. 1 7200 900 1209600 86400, }], },

{Name: kouhai01zone.com., Type: NS, TTL: 60, ResourceRecords: [{Value: ns-08.dns.jp-

e1.cloudn-service.com., }, {Value: ns-09.dns.jp-e1.cloudn-service.com., }, {Value:

ns-10.dns.jp-e1.cloudn-service.com., }], }], IsTruncated: false, MaxItems: 100, }

文字だらけでわけわかんないッス。

文字が出てこなかったら Info にならないだろ!

Zone のレコード情報に SOA、NS が入ってるのがわかるか?

何スか?SOA って?

Start Of Authority の略だ。ドメイン定義の宣言みたいなものだな。

NS は Name Server。冗長組んでるから 3 サーバ出てくる。

Zone を使うにはレコードが必要だ。Edit で Zone を編集出来るぞ。

DNS サーバに登録するホスト名(サーバ名)と IP アドレスが必要だ。

Edit Edit。

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

Edit

Command =[Edit]

ListHostedZonesResult:

{HostedZones: [

{Id: 02054F34582B4F, Name: kouhai01zone.com., CallerReference: kouhai01zone.com,

Config: {Comment: Test Zone, }, ResourceRecordSetCount: 2, }], IsTruncated: false,

MaxItems: 100, }

> Enter Zone ID :

02054F34582B4F

Zone ID =[02054F34582B4F]

> Enter Action (CREATE / DELETE) :

CREATE

Action =[CREATE]

> Enter Host Name (FQDN) :

server01.kouhai01zone.com

Host Name =[server01.kouhai01zone.com]

> Enter Type (A / AAAA) :

A

Type =[A]

> Enter TTL :

3600

TTL =[3600]

> Enter IP Address :

192.0.2.1

後輩:

先輩:

後輩:

先輩:

後輩:

13/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 14: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

IP Address =[192.0.2.1]

ChangeResourceRecordSetsRequest:

{HostedZoneId: 02054F34582B4F, ChangeBatch: {Changes: [{Action: CREATE,

ResourceRecordSet: {Name: server01.kouhai01zone.com, Type: A, TTL: 3600,

ResourceRecords: [{Value: 192.0.2.1, }], }, }], }, }

ChangeResourceRecordSetsResult:

{ChangeInfo: {Id: 799d9ad997d246, Status: PENDING, SubmittedAt: Mon May 20 11:29:23

JST 2013, }, }

ChangeInfo で Status PENDING が返ってきたら、GetChange する癖を付けた方がいい。

GetChange GetChange。

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

GetChange

Command =[GetChange]

> Enter Change ID :

799d9ad997d246

Change ID =[799d9ad997d246]

GetChangeRequest:

{Id: 799d9ad997d246, }

GetChangeResult:

{ChangeInfo: {Id: 799d9ad997d246, Status: INSYNC, SubmittedAt: Mon May 20 11:29:23

JST 2013, }, }

INSYNC になってまッス!

Info でレコード確認してみ。

Info Info。

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

Info

Command =[Info]

ListHostedZonesResult:

{HostedZones: [

{Id: 02054F34582B4F, Name: kouhai01zone.com., CallerReference: kouhai01zone.com,

Config: {Comment: Test Zone, }, ResourceRecordSetCount: 3, }], IsTruncated: false,

MaxItems: 100, }

> Enter Zone ID :

02054F34582B4F

Zone ID =[02054F34582B4F]

GetHostedZoneRequest:

{Id: 02054F34582B4F, }

GetHostedZoneResult:

{HostedZone: {Id: 02054F34582B4F, Name: kouhai01zone.com., CallerReference:

kouhai01zone.com, Config: {Comment: Test Zone, }, ResourceRecordSetCount: 3, },

DelegationSet: {NameServers: [ns-08.dns.jp-e1.cloudn-service.com, ns-09.dns.jp-

先輩:

後輩:

後輩:

先輩:

後輩:

14/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 15: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

e1.cloudn-service.com, ns-10.dns.jp-e1.cloudn-service.com], }, }

ListResourceRecordSetsRequest:

{HostedZoneId: 02054F34582B4F, }

ListResourceRecordSetsResult:

{ResourceRecordSets: [

{Name: kouhai01zone.com., Type: SOA, TTL: 60, ResourceRecords: [{Value: ns-

08.dns.jp-e1.cloudn-service.com. root.cloudn2.net. 1 7200 900 1209600 86400, }], },

{Name: kouhai01zone.com., Type: NS, TTL: 60, ResourceRecords: [{Value: ns-08.dns.jp-

e1.cloudn-service.com., }, {Value: ns-09.dns.jp-e1.cloudn-service.com., }, {Value:

ns-10.dns.jp-e1.cloudn-service.com., }], },

{Name: server01.kouhai01zone.com., Type: A, TTL: 3600, ResourceRecords: [{Value:

192.0.2.1, }], }], IsTruncated: false, MaxItems: 100, }

登録したホスト名と IP が出てきました!

終わりッスか?終わりッスか?

終わりッスよ。その言葉遣いどうにかならないのか?

Exit Exit!

> Which Command ? (List / Info / Create / Delete / Edit / GetChange / Exit) :

Exit

Command =[Exit]

=== End:CloudnAPIDNS:getChangeHostedZone ===[2013/05/20 11:30:35]

> Which Service ? (Compute / LBA / ObjectStorage / AutoScaling / DNS / Monitoring /

Exit) :

Exit

Service =[Exit]

=== End ===[2013/05/20 11:30:37]

C:\CloudnAPI>

じゃあホスト名で IP 引いてみ。

へ?

DNS サーバ使ってみ。

おっしゃっていることの意味が理解できないッス。

何の為に A レコード登録したんだよ。

記念に。

何だそれ。

DNS サーバに問い合わせるコマンドくらい覚えておいても 21 世紀損はないぞ。

Windows なら nslookup が鉄板だな。

C:\CloudnAPI>nslookup

既定のサーバー: UnKnown(←実行環境に因ります)

Address: 192.168.100.1:53(←実行環境に因ります)

> server ns-08.dns.jp-e1.cloudn-service.com

既定のサーバー: ns-08.dns.jp-e1.cloudn-service.com

Address: 153.128.36.10

後輩:

先輩:

後輩:

先輩:

後輩:

先輩:

後輩:

先輩:

後輩:

先輩:

15/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...

Page 16: サンプルコード使用例: AWS SDK Java で使おう( …AWS SDK は 130MB、Apache HttpComponents は 15MB、 CloudnAPI は 200KB 位になるからタ゛ケェ容量に気をつけた方がいい。

> server01.kouhai01zone.com

サーバー: ns-08.dns.jp-e1.cloudn-service.com

Address: 153.128.36.10

名前: server01.kouhai01zone.com

Address: 192.0.2.1

> exit

C:\CloudnAPI>

linux なら dig がよく使われるぞ。

# dig server01.kouhai01zone.com @ns-08.dns.jp-e1.cloudn-service.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> server01.kouhai01zone.com @ns-

08.dns.jp-e1.cloudn-service.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53586

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0

;; WARNING: recursion requested but not available

;; QUESTION SECTION:

;server01.kouhai01zone.com. IN A

;; ANSWER SECTION:

server01.kouhai01zone.com. 3600 IN A 192.0.2.1

;; AUTHORITY SECTION:

kouhai01zone.com. 60 IN NS ns-10.dns.jp-e1.cloudn-service.com.

kouhai01zone.com. 60 IN NS ns-09.dns.jp-e1.cloudn-service.com.

kouhai01zone.com. 60 IN NS ns-08.dns.jp-e1.cloudn-service.com.

;; Query time: 0 msec

;; SERVER: 153.128.36.10#53(153.128.36.10)

;; WHEN: Mon May 20 12:39:30 2013

;; MSG SIZE rcvd: 142

逆引きとかやりたかったら Java のソース(CloudnAPIDNS.java)を改良してみな。

API 仕様書に全部答えが書いてあるぞ。

AWS SDK Java API 仕様書

http://docs.amazonwebservices.com/AWSJavaSDK/latest/javadoc/index.html

Java JDK API 仕様書

http://docs.oracle.com/javase/jp/7/api/

逆引きって何スか?

もーええわ!

先輩:

先輩:

後輩:

先輩:

16/16 ページサンプルコード使用例: AWS SDK Java で使おう(インストール& DNS 編)

2013/06/24file://C:\20130516_AWS_SDK_Java_DNS\サンプルコード使用例(インストール&D...