AWS/AWS CLI
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
AWS CLIとは、AWSのCommand Line Interface つまりターミナル...
-[[AWS コマンドラインインターフェイス | AWS>https://aws.a...
$ aws s3 ls s3://nu.mine.kino.hogebucket
2016-11-10 12:46:26 700 hoge2.py
とかやってS3をターミナルから操作することが出来ます。便利...
**インストール [#z4c0879d]
あちなみにMacでやっててOSは El Capitanです
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G1108
$ sudo easy_install pip
$ sudo pip install awscli --upgrade --ignore-installed six
$ sudo pip install boto3 --upgrade --ignore-installed six
$ sudo aws --v
$ which aws
どうもこのignoreオプションをつけないとエラーが出たっぽい...
**環境設定 [#bb785c5d]
クライアントにcredential情報を設定するためのコマンドを実...
AWS Access Key ID、AWS Secret Access Keyはマネジメントコ...
参考
[[Amazon S3 再入門 – AWS IAMでアクセスしてみよう!>...
$ aws configure
AWS Access Key ID [****************]: xxxxxxxxxxxxxx ←...
AWS Secret Access Key [****************]: yyyyyyyyyy ←...
Default region name [None]: ap-northeast-1 ← 東京
Default output format [None]: json
$
$ ls -lrt ~/.aws/
-rw-r--r-- 1 masatomix staff 118 11 10 12:41 credenti...
-rw------- 1 masatomix staff 48 11 10 12:41 config
$ cat ~/.aws/config
[default]
output = json
region = ap-northeast-1
$ cat ~/.aws/credentials
[default]
aws_access_key_id = xxxxxxxxxxxxxx
aws_secret_access_key = yyyyyyyyyy
インストール完了です。コマンドラインからAWSが操作できるよ...
**つかってみる。 [#tdfacf3e]
$ aws s3 ls ← Bucketの一覧表示
2016-11-08 18:59:46 nu.mine.kino.hogebucket
$ aws s3 ls s3://nu.mine.kino.hogebucket --recursive ← ...
$ ls -lrt dir1
total 8
-rw-r--r-- 1 masatomix staff 13 11 12 10:31 file1.txt
$ aws s3 sync dir1 s3://nu.mine.kino.hogebucket/dir2
upload: dir1/file1.txt to s3://nu.mine.kino.hogebucket/d...
$ aws s3 ls s3://nu.mine.kino.hogebucket/ --recursive
2016-11-12 10:33:26 13 dir2/file1.txt
** EC2にもつなげる [#k83bfc7b]
$ aws ec2 describe-instances
などで、EC2のインスタンス情報がJSON取得できます。jqなどで...
$ aws ec2 describe-instances | jq \
'.Reservations[].Instances[] | .PublicDnsName, .State, ...
"ec2-xx-xxx-xxx-xx.ap-northeast-1.compute.amazonaws.com"
{
"Code": 16,
"Name": "running"
}
"xx.xxx.xxx.xx"
"yyy.yy.yy.yy"
"ip-yyy-yy-yy-yy.ap-northeast-1.compute.internal"
$ aws ec2 describe-instances | jq \
'.Reservations[].Instances[] | .PublicDnsName, .State, ...
の他に、
$ aws ec2 describe-instances | jq \
'.Reservations[].Instances[] | [.PublicDnsName, .State,...
ってJSON配列で返したり、
$ aws ec2 describe-instances | jq \
'.Reservations[].Instances[] | {PublicDnsName, State, P...
って新たなJSONで返すなんて事も可能。
-[[jqを活用してAPIレスポンス等から欲しい情報だけを抽出す...
**Node.jsから使う。 [#w1297a6a]
$ mkdir asw-sdk-node && cd $_
$ npm init
$ npm install --save aws-sdk
$ npm install
SDKのインストールとかが完了しました。
$ cat index.js
"use strict";
var AWS = require('aws-sdk');
AWS.config.update({region: 'ap-northeast-1'});
var ec2 = new AWS.EC2();
ec2.describeInstances( function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
for (var index = 0; index < data.Reservations.lengt...
// var instances = data.Reservations[index].Instan...
data.Reservations[index].Instances.forEach(
function(instance){
console.log("PublicDnsName: " + instance.Publi...
console.log("State: " + JSON.stringify(instanc...
console.log("PublicIpAddress: " + instance.Pub...
console.log("PrivateIpAddress: " + instance.Pr...
console.log("PrivateDnsName: " + instance.Priv...
}
);
}
}
});
と書いてみます。
$ node index.js
で先のコマンドラインからとおなじ情報が得られます。
-[[Node.js 内の AWS SDK for JavaScript | AWS>https://aws....
ちなみに、AWS_ACCESS_KEY_ID とか AWS_SECRET_ACCESS_KEY な...
-[[Setting Credentials in Node.js - AWS SDK for JavaScrip...
具体的には、こんな感じ。
// 自分で環境変数を設定
// $ export AWS_ACCESS_KEY_ID=xxxx
// $ export AWS_SECRET_ACCESS_KEY=xxx
// $ export AWS_DEFAULT_REGION=ap-northeast-1
// $ export AWS_DEFAULT_OUTPUT=json
// const ec2 = new AWS.EC2({region: 'ap-northeast-1'});
// // AWSのCredentialsファイルから情報取得
// const credentials = new AWS.SharedIniFileCredentials(...
// AWS.config.credentials = credentials;
// const ec2 = new AWS.EC2({region: 'ap-northeast-1'});
// // 設定ファイルから情報取得
// AWS.config.loadFromPath('./config/config.json');
// // $cat config/config.json
// // { "accessKeyId": <YOUR_ACCESS_KEY_ID>,
// // "secretAccessKey": <YOUR_SECRET_ACCESS_KEY>,
// // "region": "ap-northeast-1"
// // }
// const ec2 = new AWS.EC2();
// // もしくは直接指定
// const ec2 = new AWS.EC2(
// {
// accessKeyId: 'xxx',
// secretAccessKey: 'xxxx',
// region: 'ap-northeast-1'
// }
// );
** CoffeeScriptから使う [#bc048572]
Node.jsとほぼ同じなんですがHubotから使おうとして書いたコ...
$ cat hubot-sample.coffee
AWS = require('aws-sdk');
module.exports = (robot) ->
robot.respond /(サーバ情報)/i, (res) ->
AWS.config.update {region: 'ap-northeast-1'}
ec2 = new AWS.EC2()
ec2.describeInstances (err,data) ->
if err
console.log err, err.stack
else
for reservation in data.Reservations
for instance in reservation.Instances
console.log "PublicDnsName: " + instance.Pub...
console.log "State: " + JSON.stringify(insta...
console.log "PublicIpAddress: " + instance.P...
console.log "PrivateIpAddress: " + instance....
console.log "PrivateDnsName: " + instance.Pr...
message = ""
message += "PublicDnsName: " + instance.Publ...
message += "State: " + instance.State.Name +...
message += "PublicIpAddress: " + instance.Pu...
message += "PrivateIpAddress: " + instance.P...
message += "PrivateDnsName: " + instance.Pri...
res.send message
**関連リンク [#h5cb69ca]
-[[【初心者向け】MacユーザがAWS CLIを最速で試す方法 | De...
-[[Amazon S3 再入門 – AWS IAMでアクセスしてみよう!...
-[[AWS CLIのS3コマンドまとめ - TASK NOTES>http://www.task...
-[[AWS CLI の設定 - AWS Command Line Interface>http://doc...
----
この記事は
#vote(おもしろかった,そうでもない)
- Raspberry Piでやる場合はpipをpip3と読み替えればPython3...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
AWS CLIとは、AWSのCommand Line Interface つまりターミナル...
-[[AWS コマンドラインインターフェイス | AWS>https://aws.a...
$ aws s3 ls s3://nu.mine.kino.hogebucket
2016-11-10 12:46:26 700 hoge2.py
とかやってS3をターミナルから操作することが出来ます。便利...
**インストール [#z4c0879d]
あちなみにMacでやっててOSは El Capitanです
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G1108
$ sudo easy_install pip
$ sudo pip install awscli --upgrade --ignore-installed six
$ sudo pip install boto3 --upgrade --ignore-installed six
$ sudo aws --v
$ which aws
どうもこのignoreオプションをつけないとエラーが出たっぽい...
**環境設定 [#bb785c5d]
クライアントにcredential情報を設定するためのコマンドを実...
AWS Access Key ID、AWS Secret Access Keyはマネジメントコ...
参考
[[Amazon S3 再入門 – AWS IAMでアクセスしてみよう!>...
$ aws configure
AWS Access Key ID [****************]: xxxxxxxxxxxxxx ←...
AWS Secret Access Key [****************]: yyyyyyyyyy ←...
Default region name [None]: ap-northeast-1 ← 東京
Default output format [None]: json
$
$ ls -lrt ~/.aws/
-rw-r--r-- 1 masatomix staff 118 11 10 12:41 credenti...
-rw------- 1 masatomix staff 48 11 10 12:41 config
$ cat ~/.aws/config
[default]
output = json
region = ap-northeast-1
$ cat ~/.aws/credentials
[default]
aws_access_key_id = xxxxxxxxxxxxxx
aws_secret_access_key = yyyyyyyyyy
インストール完了です。コマンドラインからAWSが操作できるよ...
**つかってみる。 [#tdfacf3e]
$ aws s3 ls ← Bucketの一覧表示
2016-11-08 18:59:46 nu.mine.kino.hogebucket
$ aws s3 ls s3://nu.mine.kino.hogebucket --recursive ← ...
$ ls -lrt dir1
total 8
-rw-r--r-- 1 masatomix staff 13 11 12 10:31 file1.txt
$ aws s3 sync dir1 s3://nu.mine.kino.hogebucket/dir2
upload: dir1/file1.txt to s3://nu.mine.kino.hogebucket/d...
$ aws s3 ls s3://nu.mine.kino.hogebucket/ --recursive
2016-11-12 10:33:26 13 dir2/file1.txt
** EC2にもつなげる [#k83bfc7b]
$ aws ec2 describe-instances
などで、EC2のインスタンス情報がJSON取得できます。jqなどで...
$ aws ec2 describe-instances | jq \
'.Reservations[].Instances[] | .PublicDnsName, .State, ...
"ec2-xx-xxx-xxx-xx.ap-northeast-1.compute.amazonaws.com"
{
"Code": 16,
"Name": "running"
}
"xx.xxx.xxx.xx"
"yyy.yy.yy.yy"
"ip-yyy-yy-yy-yy.ap-northeast-1.compute.internal"
$ aws ec2 describe-instances | jq \
'.Reservations[].Instances[] | .PublicDnsName, .State, ...
の他に、
$ aws ec2 describe-instances | jq \
'.Reservations[].Instances[] | [.PublicDnsName, .State,...
ってJSON配列で返したり、
$ aws ec2 describe-instances | jq \
'.Reservations[].Instances[] | {PublicDnsName, State, P...
って新たなJSONで返すなんて事も可能。
-[[jqを活用してAPIレスポンス等から欲しい情報だけを抽出す...
**Node.jsから使う。 [#w1297a6a]
$ mkdir asw-sdk-node && cd $_
$ npm init
$ npm install --save aws-sdk
$ npm install
SDKのインストールとかが完了しました。
$ cat index.js
"use strict";
var AWS = require('aws-sdk');
AWS.config.update({region: 'ap-northeast-1'});
var ec2 = new AWS.EC2();
ec2.describeInstances( function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
for (var index = 0; index < data.Reservations.lengt...
// var instances = data.Reservations[index].Instan...
data.Reservations[index].Instances.forEach(
function(instance){
console.log("PublicDnsName: " + instance.Publi...
console.log("State: " + JSON.stringify(instanc...
console.log("PublicIpAddress: " + instance.Pub...
console.log("PrivateIpAddress: " + instance.Pr...
console.log("PrivateDnsName: " + instance.Priv...
}
);
}
}
});
と書いてみます。
$ node index.js
で先のコマンドラインからとおなじ情報が得られます。
-[[Node.js 内の AWS SDK for JavaScript | AWS>https://aws....
ちなみに、AWS_ACCESS_KEY_ID とか AWS_SECRET_ACCESS_KEY な...
-[[Setting Credentials in Node.js - AWS SDK for JavaScrip...
具体的には、こんな感じ。
// 自分で環境変数を設定
// $ export AWS_ACCESS_KEY_ID=xxxx
// $ export AWS_SECRET_ACCESS_KEY=xxx
// $ export AWS_DEFAULT_REGION=ap-northeast-1
// $ export AWS_DEFAULT_OUTPUT=json
// const ec2 = new AWS.EC2({region: 'ap-northeast-1'});
// // AWSのCredentialsファイルから情報取得
// const credentials = new AWS.SharedIniFileCredentials(...
// AWS.config.credentials = credentials;
// const ec2 = new AWS.EC2({region: 'ap-northeast-1'});
// // 設定ファイルから情報取得
// AWS.config.loadFromPath('./config/config.json');
// // $cat config/config.json
// // { "accessKeyId": <YOUR_ACCESS_KEY_ID>,
// // "secretAccessKey": <YOUR_SECRET_ACCESS_KEY>,
// // "region": "ap-northeast-1"
// // }
// const ec2 = new AWS.EC2();
// // もしくは直接指定
// const ec2 = new AWS.EC2(
// {
// accessKeyId: 'xxx',
// secretAccessKey: 'xxxx',
// region: 'ap-northeast-1'
// }
// );
** CoffeeScriptから使う [#bc048572]
Node.jsとほぼ同じなんですがHubotから使おうとして書いたコ...
$ cat hubot-sample.coffee
AWS = require('aws-sdk');
module.exports = (robot) ->
robot.respond /(サーバ情報)/i, (res) ->
AWS.config.update {region: 'ap-northeast-1'}
ec2 = new AWS.EC2()
ec2.describeInstances (err,data) ->
if err
console.log err, err.stack
else
for reservation in data.Reservations
for instance in reservation.Instances
console.log "PublicDnsName: " + instance.Pub...
console.log "State: " + JSON.stringify(insta...
console.log "PublicIpAddress: " + instance.P...
console.log "PrivateIpAddress: " + instance....
console.log "PrivateDnsName: " + instance.Pr...
message = ""
message += "PublicDnsName: " + instance.Publ...
message += "State: " + instance.State.Name +...
message += "PublicIpAddress: " + instance.Pu...
message += "PrivateIpAddress: " + instance.P...
message += "PrivateDnsName: " + instance.Pri...
res.send message
**関連リンク [#h5cb69ca]
-[[【初心者向け】MacユーザがAWS CLIを最速で試す方法 | De...
-[[Amazon S3 再入門 – AWS IAMでアクセスしてみよう!...
-[[AWS CLIのS3コマンドまとめ - TASK NOTES>http://www.task...
-[[AWS CLI の設定 - AWS Command Line Interface>http://doc...
----
この記事は
#vote(おもしろかった,そうでもない)
- Raspberry Piでやる場合はpipをpip3と読み替えればPython3...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: