More Related Content
PPTX
Hybrid Azure AD Join 動作の仕組みを徹底解説 PDF
【第20回セキュリティ共有勉強会】Amazon FSx for Windows File Serverをセキュリティ観点で試してみたお話 PDF
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S... PDF
20210127 AWS Black Belt Online Seminar Amazon Redshift 運用管理 PPTX
20211109 JAWS-UG SRE keynotes PDF
(Fix)Azure Network Security Group(NSG)のおさらい PDF
PDF
Amazon Aurora Deep Dive (김기완) - AWS DB Day What's hot
PDF
PDF
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery PDF
PDF
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ PDF
02B_AWS IoT Core for LoRaWANのご紹介 PDF
클라우드 세상에서 살아남기: 금융편 - 이한주 대표이사/공동창업자, 베스핀 글로벌 / 김민성 팀장, KB국민카드 :: AWS Summit ... PDF
[DI03] DWH スペシャリストが語る! Azure SQL Data Warehouse チューニングの勘所 PDF
AWS Security 솔루션 자세히 살펴보기 :: 신용녀 :: AWS Finance Seminar PPTX
Data Factory V2 新機能徹底活用入門 PPTX
PPTX
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料) PDF
20200630 AWS Black Belt Online Seminar Amazon Cognito PDF
C34 ニッチだけど、社会インフラを支えるデータベース、HiRDB ~HiRDBを選ぶ人、選ばない人、その選択基準とは~ by Taichi Ishikawa PDF
現場からみた Azure リファレンスアーキテクチャ答え合わせ PDF
AWS初心者向けWebinar これで完璧、AWSの運用監視 PDF
20210526 AWS Expert Online マルチアカウント管理の基本 PDF
20180509 AWS Black Belt Online Seminar Amazon GuardDuty PDF
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践 PDF
[AWSマイスターシリーズ]Identity and Access Management (IAM) PPTX
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
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM) PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS 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 ゲーム業界向け機械学習最新状況アップデート PPTX
20220409 AWS BLEA 開発にあたって検討したこと 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のご紹介 [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.
- 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.
- 20.
- 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.