とりあえずGoを再度勉強し始めたわけで。
今度作るものはPHP使わずGoでやろう的なことなので、まずは簡単なものから。
ってことで今日はEC2のインスタンス一覧を出す的なお話をば。
package main
import (
"fmt"
"github.com/goamz/goamz/aws"
"github.com/goamz/goamz/ec2"
"time"
)
func main() {
auth, err := aws.GetAuth("xxxxxxxxxx", "xxxxxxxxxx", "", time.Time{})
if err != nil {
panic(err.Error())
}
e := ec2.New(auth, aws.APNortheast)
res, err := e.DescribeInstances(nil, nil)
if err != nil {
panic(err.Error())
}
for _, r := range res.Reservations {
for _, i := range r.Instances {
fmt.Println(
i.InstanceId,
i.InstanceType,
i.PrivateIPAddress,
i.State.Name,
)
}
}
}
aws/aws-sdk-goじゃなくて goamz/goamzを使うのは、aws-sdk-goはなかなかめんどいからっていう。
それとaws.GetAuthとやっているけど、
export AWS_ACCESS_KEYとAWS_SECRET_ACCESS_KEYをしておいて、aws.EnvAuth()っていうやり方もある。
とりあえずこんな感じ。

0 件のコメント:
コメントを投稿