More Related Content
PDF
PDF
Amazon Redshift 概要 (20分版) PDF
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk PPTX
PDF
PDF
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM) PDF
20200826 AWS Black Belt Online Seminar AWS CloudFormation What's hot
PDF
The Twelve-Factor Appで考えるAWSのサービス開発 PPTX
PDF
PDF
AWS Black Belt Techシリーズ Cost Explorer & AWS Trusted Advisor PDF
AWS Black Belt Techシリーズ Amazon EMR PDF
인프라 벤치마크 테스트 잘 해보기 윤서율.pdf PDF
Route53 및 CloudFront를 이용한 CDN 활용기 - AWS Summit Seoul 2017 PDF
20190220 AWS Black Belt Online Seminar Amazon S3 / Glacier PDF
おひとりさまAWS Organizationsのススメ PDF
AWS Black Belt Online Seminar 2016 HPC分野でのAWS活用 PPTX
PDF
20190806 AWS Black Belt Online Seminar AWS Glue PDF
AWS Black Belt Online Seminar 2017 Amazon DynamoDB PDF
20210126 AWS Black Belt Online Seminar AWS CodeDeploy PPTX
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS PDF
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ... PDF
PPTX
20220409 AWS BLEA 開発にあたって検討したこと PPTX
20211109 JAWS-UG SRE keynotes Viewers also liked
PPTX
PPTX
PPTX
ペネトレーションツール Penetratorご紹介 PPT
研究者の研究履歴による学術の動向の把握とその予測 (第11回データマイニング+WEB@東京) PDF
PDF
[Japan Tech summit 2017] CLD 005 PDF
[Japan Tech summit 2017] PRD 009 PDF
[Japan Tech summit 2017] CLD 023 PDF
PDF
PDF
PDF
PDF
PDF
Eclipseデバッガを活用するための31のtips PDF
TV・車・ゲームに搭載されているブラウザってどうなっているの? PDF
Similar to [AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
PDF
AWS Black Belt Techシリーズ AWS Command Line Interface PDF
AWS サービスアップデートまとめ 2013年9月 PPTX
PDF
AWS Tools for Windows PowerShell PDF
Aws tools for power shellをつかいこなそう PPTX
AWS Command Line Interface (AWS CLI) version 2 GA記念! 〜今からでも間に合う機能のおさらい〜 PDF
Programming AWS with Perl at YAPC::Asia 2013 PDF
20130904 aws cliツール 導入ガイド PPTX
PDF
JAWS-UG Meets Windows (JAWS Days 2017) PDF
AWS Black Belt Techシリーズ Amazon Elastic Compute Cloud (Amazon EC2) PDF
PDF
PDF
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2) Windows編 PDF
Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~ PDF
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~ PDF
AWS CLI and CLOUDIAN HyperStore PPTX
PDF
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~ PDF
More from Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar AWS IoT Device Defender PDF
Infrastructure as Code (IaC) 談義 2022 PDF
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現 PDF
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap... PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用 PDF
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介 PDF
Amazon QuickSight の組み込み方法をちょっぴりDD PDF
マルチテナント化で知っておきたいデータベースのこと PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ PDF
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介 PDF
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles PDF
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨ PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介 PDF
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介 PDF
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ... PDF
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ PDF
20211209 Ops-JAWS Re invent2021re-cap-cloud operations [AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
- 1.
AWS Command LineInterface &
AWS Tools for Windows PowerShell
2015/07/22
AWS Black Belt Tech Webinar 2015
アマゾンデータサービスジャパン株式会社
プロフェッショナルサービス 千葉悠貴
- 2.
2
• 質問を投げることができます!
• AdobeConnectのチャット機能を使って、質問を書き込んでく
ださい。(書き込んだ質問は、主催者にしか見えません)
• Twitterへツイートする際はハッシュタグ#awsblackbeltをご
利用ください。
①画面右下のチャッ
トボックスに質問を
書き込んでください
②吹き出しマークで
送信してください
AWS Black Belt Tech Webinar へようこそ!
- 3.
3
AWS Black BeltTech Webinar 2015
• 今後の配信予定
7月は「AWS 運用機能月間」、8月は「DB月間」です!
– 7/29(水)AWS CloudHSM & AWS KMS
– 8/5 (水)Amazon DynamoDB
– 8/12(水)お盆のためお休み
– 8/19(水)Amazon ElastiCache
– 8/26(水)Amazon Redshift
• イベントスケジュール
http://aws.amazon.com/jp/event_schedule/
- 4.
4
アジェンダ
• AWS CLI/ Powershellの概要
• AWS CLI / Powershell のセットアップ
• AWS Command Line Interface
• AWS Tools for Windows PowerShell
- 5.
- 6.
- 7.
7
AWS Command LineInterface (CLI)
• “aws”という名前の単一コマンドでAWSサービスを操作可能
• プラットフォームや開発言語などが限定されない
Windows, Linux, Mac, Unixなど
• S3用にはsyncなどの便利な機能あり
AWS Tools for Windows PowerShell
• “AWSPowerShell”モジュール内のコマンドレットから、
ほとんどのAWSサービスを操作可能
• PowerShellの強力なシェル機能が利用できる
- 8.
8
対応サービス① (2015年7月時点)
サービス名 CLIPower
Shell
Amazon CloudFront ○ ○
Amazon CloudHSM ○ ○
Amazon CloudSearch ○ ○
Amazon CloudSearch Domain ○ ○
Amazon CloudWatch ○ ○
Amazon CloudWatch Logs ○ ○
Amazon Cognito Identity ○ -
Amazon Cognito Sync ○ -
Amazon DynamoDB ○ ○
Amazon DynamoDB Streams ○ ○
Amazon EC2 Container Service ○ ○
Amazon Elastic Compute Cloud ○ ○
Amazon Elastic File System ○ ○
サービス名 CLI Power
Shell
Amazon Elastic MapReduce ○ ○
Amazon Elastic Transcoder ○ ○
Amazon ElastiCache ○ ○
Amazon Glacier ○ -
Amazon Kinesis ○ ○
Amazon Machine Learning ○ ○
Amazon Redshift ○ ○
Amazon Relational Database Service ○ ○
Amazon Route 53 ○ ○
Amazon Route 53 Domains ○ ○
Amazon Simple Email Service ○ ○
Amazon Simple Notification Service ○ ○
Amazon Simple Queue Service ○ ○
- 9.
9
対応サービス② (2015年7月時点)
サービス名 CLIPower
Shell
Amazon Simple Storage Service ○ ○
Amazon Simple Systems Management
Service
○ ○
Amazon Simple Workflow Service ○ -
Amazon SimpleDB ○ -
Amazon WorkSpaces ○ ○
Auto Scaling ○ ○
AWS CloudFormation ○ ○
AWS CloudTrail ○ ○
AWS CodeCommit ○ ○
AWS CodeDeploy ○ ○
AWS CodePipeline ○ ○
AWS Config ○ ○
AWS Data Pipeline ○ ○
サービス名 CLI Power
Shell
AWS Device Farm ○ ○
AWS Direct Connect ○ ○
AWS Directory Service ○ ○
AWS Elastic Beanstalk ○ ○
AWS Identity and Access Management ○ ○
AWS Import/Export ○ ○
AWS Key Management Service ○ ○
AWS Lambda ○ ○
AWS OpsWorks ○ ○
AWS Security Token Service ○ ○
AWS Storage Gateway ○ ○
AWS Support ○ ○
Elastic Load Balancing ○ ○
- 10.
- 11.
11
Step1. IAMアカウントの準備
AWS CLI/Powershellを利用するには、IAMユーザやIAMロールが必要
•IAMユーザ・IAMロールを用意する
オンプレミス上のPCやサーバから利用
IAMユーザを作成し、アクセスキー・シークレットキーを発行
EC2インスタンス上から利用
IAMロールを作成し、割り当てたEC2インスタンスの作成を推奨
IAMユーザも利用可
• IAMユーザ・IAMロールに必要な権限をIAM Policyで付与する
http://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-getting-set-up.html
- 12.
12
Step2. インストール
• AWSCLI
プラットフォーム インストール方法
Windows ・MSI形式インストーラ
Amazon Linux ・インストール済み
共通 ・pip(pythonのパッケージ管理システム)
・バンドルインストーラ
・手動インストール
http://docs.aws.amazon.com/ja_jp/cli/latest/userguide/installing.html
http://docs.aws.amazon.com/ja_jp/powershell/latest/userguide/pstools-getting-set-up.html
• AWS Powershell
プラットフォーム インストール方法
Windows ・MSI形式インストーラ
・Powershell Gallery (Powershellのパッケージ管理システム)
Windows on EC2 ・インストール済み
- 13.
- 14.
14
Step3. 初期設定
AWSクレデンシャル、リージョン、出力形式などを設定
• AWSCLI
”aws configure”で設定
$ aws configure
AWS Access Key ID [None]: XXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]:json
• AWS Powershell
”Initialize-AWSDefaults”で設定
PS C:> Initialize-AWSDefaults -AccessKey XXXXXXX -SecretKey XXXXXXXXX -Region ap-northeast-1
http://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-getting-started.html
http://docs.aws.amazon.com/ja_jp/powershell/latest/userguide/specifying-your-aws-credentials.html
Powershellオブジェクト形式で出力されるため、出力形式の指定は不要
- 15.
- 16.
16
aws s3コマンド設定 (AWSCLI)
http://docs.aws.amazon.com/cli/latest/topic/s3-config.html
aws configureコマンド(または~/.aws/configファイル)で、
aws s3コマンドの設定項目が追加されました。
2015年2月
設定項目 内容 デフォルト値
max_concurrent_requests S3へのリクエストの最大並列数 10
max_queue_size S3のタスクキューの最大サイズ 1000
multipart_threshold ファイルをマルチパートに分割するしきい値 8MB
multipart_chunksize マルチパートに分割する際のチャンクサイズ 8MB
$ aws configure set default.s3.max_concurrent_requests 20
$ aws configure set default.s3.max_queue_size 10000
$ aws configure set default.s3.multipart_threshold 64MB
$ aws configure set default.s3.multipart_chunksize 16MB
設定方法
- 17.
- 18.
- 19.
19
パラメータの形式
AWS CLIコマンドのパラメータ形式は以下の通りです。
全ての[options]、[parameters]は --から始まります。
aws [options] <command> <subcommand> [parameters]
ec2, s3 など主にサービス名(例外は configure, help)
サービスごとのコマンド
コマンドごとのパラメータ
$ aws --region ap-northeast-1 ec2 describe-instances --max-items 2
awsコマンド全体で共通のパラメータ
command Reference: http://docs.aws.amazon.com/cli/latest/reference/
- 20.
20
リターンコード
AWS CLIを実行した結果のリターンコードには以下の種類があります。
リターンコード 意味
0エラー無しでコマンド実行が成功
1 s3コマンドで制限値に到達。最低1つのs3転送が失敗
2 パラメータ不足などのエラー。またはs3コマンドで一部ファイルのみ転送失敗。
255 コマンド実行失敗。CLIまたはサービス側のエラー。
http://docs.aws.amazon.com/cli/latest/topic/return-codes.html
確認方法
$ aws ec2 describe-instances
$ echo $?
0 #成功時
- 21.
21
[options] : --region
コマンドを実行するリージョンを指定します。設定ファイルで指定さ
れたリージョン設定より優先されます。
aws--region (name) [options] <command> <subcommand> [parameters]
ap-northeast-1 アジアパシフィック(東京)リージョン
ap-southeast-1 アジアパシフィック(シンガポール)リージョン
ap-southeast-2 アジアパシフィック(シドニー)リージョン
eu-central-1 欧州(フランクフルト)リージョン
eu-west-1 欧州(アイルランド)リージョン
sa-east-1 南米(サンパウロ)リージョン
us-east-1 米国東部(バージニア北部)リージョン
us-west-1 米国西部(北カリフォルニア)リージョン
us-west-2 米国西部(オレゴン)リージョン
- 22.
- 23.
23
[options] : --output
JSONText
PLACES Seattle WA
PLACES Las Vegas NV
Table
--------------------------
| SomeOperationName |
+------------------------+
|| Places ||
|+------------+---------+|
|| City | State ||
|+------------+---------+|
|| Seattle | WA ||
|| Las Vegas | NV ||
|+------------+---------+|
{
"Places": [
{
"City": "Seattle",
"State": "WA"
},
{
"City": ”Las Vegas",
"State": "NV"
}
]
}
- 24.
- 25.
- 26.
26
JMESPathクエリーの基本的な表記方法
クエリー種別 インプット クエリー結果
キー {"a": "foo", "b": "bar"} a foo
キー(階層) {"a": {
"b": {
"c":"value"
}
}
}
a.b.c value
インデックス ["a", "b", "c", "d", "e", "f"] [1] b
スライス [0, 1, 2, 3, 4, 5] [0:4] [0, 1, 2, 3]
スライス(スキップ) [0, 1, 2, 3, 4, 5] [::2] [0, 2, 4]
パイプ [0, 1, 2, 3, 4, 5] [::2] | [1] 2
- 27.
27
JMESPathクエリーの基本的な表記方法
クエリー種別 インプット クエリー結果
== {"machines": [
{"name": "a", "state": "running" },
{"name": "b", "state": "stopped" }
]}
machines[?state==
'running'].name
[
"a"
]
!= {"machines": [
{"name": "a", "state": "running" },
{"name": "b", "state": "stopped" }
]}
machines[?state!=
'running'].name
[
"b"
]
マルチセレクト {"machines": [{
"name": "a",
"state": {"name": "running"}
},{
"name": "b",
"state": {"name": "stopped"}
}]}
machines[].[name,
state.name]
[
[ "a","running" ],
[ "b","stopped" ]
]
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
33
JMESPathファンクション
クエリー種別 インプット クエリー結果
length { "people": [
{"name": "a", },
{"name": "b", },
{"name": "c", }]}
length(people) 3
max_by {"people": [
{"name": "a", "age": 30},
{"name": "b", "age": 50},
{"name": "c", "age": 40}]}
max_by(people,
&age).name
b
contains {"myarray": [
"foo",
"bar",
"foobar",
"barfoobaz"]}
myarray[?contains(@,
'foo') == `true`]
[
"foo",
"foobar",
"barfoobaz"
]
- 34.
34
[options] : --query
フィルタリング前のJSON形式の出力
$aws ec2 describe-instances
{
"Reservations": [
{
"OwnerId": ”XXXXXXXXXXXX”,
"ReservationId": "r-XXXXXXXX”,
"Groups": [],
"Instances": [
{
"Monitoring": {
"State": "enabled”
},
...
- 35.
- 36.
- 37.
- 38.
- 39.
39
[options] : --query
出力されるアイテム(行)をAND条件でフィルタリング
$aws ec2 describe-instances
--query 'Reservations[].Instances[?State.Name!=`stopped`][] |
[?InstanceType==`t2.micro`].[InstanceId, InstanceType, State.Name]'
[
[
"i-XXXXXXXX",
"t2.micro",
"running"
],
[
"i-XXXXXXXX”,
...
結果をパイプしてさらに
評価することでAND条件に
- 40.
- 41.
- 42.
42
[options] : --generate-cli-skeleton
CLIパラメーターのJSONテンプレートを取得できます。
aws--generate-cli-skeleton [options] <command> <subcommand>
http://docs.aws.amazon.com/cli/latest/userguide/generate-cli-skeleton.html
$ aws ec2 run-instances --generate-cli-skeleton
{
"DryRun": true,
"ImageId": "",
"MinCount": 0,
"MaxCount": 0,
"KeyName": "",
"SecurityGroups": [
""
],
...
2014年11月
- 43.
43
AWS リソースの状態を待ち受けるためのサブコマンドです。先行コ
マンド実行後、AWSリソースの状態変更を待って後続処理をおこない
たい場合に利用します。
[subcommand]: Wait
aws<command> wait <waiter name> [parameters]
待ち受ける状態名
http://docs.aws.amazon.com/cli/latest/reference/ec2/wait/index.html#cli-aws-ec2-wait
スナップショットの作成完了を待ってタグ付け
snapshot_id=$(aws ec2 create-snapshot --volume-id vol-XXXXXX --description "XXXXX"
--query SnapshotId --output text)
aws ec2 wait snapshot-completed --snapshot-ids $snapshot_id ; aws ec2 create-tags --
resources $snapshot_id --tags Key=Name,Value=SnapshotXXXX
2014年11月
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
50
コマンドレットのHelp
Get-Helpコマンドレットは、コマンドレットのHelpを表示できます。
PS C:Usersyukichib> Get-HelpGet-Command
NAME
Get-Command
SYNOPSIS
コマンドレットおよびその他の Windows PowerShell コマンド要素に関する基本情報を取得します。
SYNTAX
Get-Command [[-Name] <string[]>] [-CommandType {Alias | Function | Filter | Cmdlet |
ExternalScript | Application | Script | All}] [[-ArgumentList] <Object[]>] [-Module <string[]>] [-
Syntax] [-TotalCount <int>] [<CommonParameters>]
"Get-Command"コマンドレットのHelp
- 51.
51
出力オブジェクト
コマンドレット実行結果は、.NET Frameworkオブジェクトの配列として
出力されます。
PS C:>Get-EC2AvailabilityZone | ft *
Region ZoneState Message Messages RegionName State ZoneName
------ --------- ------- ------- ---------- ----- --------
ap-northeast-1 available {} {} ap-northeast-1 available ap-northeast-1a
ap-northeast-1 available {} {} ap-northeast-1 available ap-northeast-1c
Amazon.EC2.Model.AvailabilityZoneクラスの
2つのオブジェクトの配列として出力
プロパティ名
- 52.
52
パイプライン
実行結果をパイプライン”|”で次のコマンドレットに渡すことができます。
PS C:> Get-Command-Module AWSPowerShell | `
>> Where-Object {$_.Name -eq "Get-EC2Instance"}
CommandType Name Definition
----------- ---- ----------
Cmdlet Get-EC2Instance ...
"AWSPowerShell"モジュールのコマンドレットを全て取得し、その中から
コマンドレット名が“Get-EC2Instance”のものを絞り込んで表示
※Powerhshellではスクリプト中の改行にはバッククォート"`"を使います。
- 53.
53
オブジェクト構造の確認
Get-Memberコマンドレットは、クラスで定義されたプロパティとメソッ
ドを表示します。
PS C:> (Get-EC2Instance).Instances| Get-Member -MemberType Property | Select Name,Definition
Name Definition
---- ----------
AmiLaunchIndex int AmiLaunchIndex {get;set;}
Architecture Amazon.EC2.ArchitectureValues Architecture {get;set;}
ClientToken string ClientToken {get;set;}
EbsOptimized bool EbsOptimized {get;set;}
Hypervisor Amazon.EC2.HypervisorType Hypervisor {get;set;}
ImageId string ImageId {get;set;}
InstanceId string InstanceId {get;set;}
...
EC2インスタンスオブジェクトのプロパティを表示
- 54.
- 55.
55
AWS PowerShell コマンドレット
基本的な使い方はAWSCLIと同様です。
コマンドレット名は [動詞]-[サービス名][名詞]になっています。
Get-EC2AvailabilityZone -Region ap-northeast-1
aws ec2 describe-availability-zones --region ap-northeast-1
代表的なアクション動詞のAWS APIとの対応は以下のとおりです。
読み取り 新規作成 上書き 削除
API describe, list create put delete
PowerShell Get New Write Remove
Cmdlet Reference: http://docs.aws.amazon.com/powershell/latest/reference/Index.html
- 56.
- 57.
- 58.
58
[options] : -Filter
AWSPowershellコマンドレットの出力を、Filterクラスのオブジェクト
を用いてフィルタリングする仕組みです。
PCC:> $tag = New-Object Amazon.EC2.Model.Filter -Property @{Name="tag:Name";Values="TEST"}
PC C:> Get-EC2Instance -Filter $tag
Nameタグの値が”TEST”のEC2インスタンスを取得
PC C:> $SGNames = New-Object Amazon.EC2.Model.Filter -Property `
>> @{Name="group-name";Values=@("SG1","SG2")}
PC C:> Get-EC2SecurityGroup -Filter $SGNames
グループ名が”SG1”,"SG2"のセキュリティグループを取得
フィルターオブジェクトを作成
-Filterでフィルターオブジェクトを指定
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.