狠狠撸

狠狠撸Share a Scribd company logo
マネージメントサービス株式会社
Copyright Management Service Corp. All Rights Reserved.Copyright Management Service Corp. All Rights Reserved.
AWS CLIを使ってみよう
マネージメントサービス株式会社
デジタルビジネスイノベーションセンター
山本 友樹
2019
09-13
AWS若手勉強会#5
Copyright Management Service Corp. All Rights Reserved.
1.前置き
2.CLIについて
3.AWS CLIを使うために
4.AWS CLIの使い方
5.最後に
2
アジェンダ
Copyright Management Service Corp. All Rights Reserved.
前置き
3
Copyright Management Service Corp. All Rights Reserved.
今回はAWSサービスではなく、
AWSサービスを使うためのツールの話です
4
Copyright Management Service Corp. All Rights Reserved.
AWS CLIの前に
5
Copyright Management Service Corp. All Rights Reserved.
みなさんCLI使ってますか?
6
Copyright Management Service Corp. All Rights Reserved.
なんか冷たい感じで、苦手意識ないですか?
7
Copyright Management Service Corp. All Rights Reserved.
でも最初はとっつきにくいだけです!
8
Copyright Management Service Corp. All Rights Reserved.
CLIとは(おさらい)
? コマンドラインインタフェース (Command Line Interface)の略
? コマンドでコンピュータを操作すること。
? 黒い画面にコマンドを入力して、操作する。
9
Copyright Management Service Corp. All Rights Reserved.
よく聞くけど、インタフェースって?
10
Copyright Management Service Corp. All Rights Reserved.
インタフェースとは
? 英語を直訳すると「境界面」「接点」。
? 異なる2つのものを仲介するという意味。
? CLIでいうと、ユーザ(人間)とコンピュータを仲介しています。
11
??????
??????
??????
Copyright Management Service Corp. All Rights Reserved.
Javaでいうと
? JavaのAPIという言葉が使われます。
? APIは、(Application Programming Interface)の略。
? 呼び出し方法を定めた決まりです。
? プログラムとプログラムを仲介しています。
12
Aプログラム BプログラムAPI
APIがあるから他のプログラムを呼び出せる!
Copyright Management Service Corp. All Rights Reserved.
CLIの良いところ1
? 作業が早くなる(GUIと比べて)
例)あるフォルダで「MSC」という文字を含むファイルを検索するとき
〇GUIの場合
検索窓に「MSC」と入力する。
↓
描画されるのを待つ
〇CLIの場合
ls –l *msc* とコマンドを打つだけ。
※文字だけなので描画が早い
さらに、GUIではできない操作もCLIではできる。
注意:Linuxのコマンドが使える場合のコマンド
13
Copyright Management Service Corp. All Rights Reserved.
CLIの良いところ2
? 作業が自動化できる。
コマンドの集まりを1ファイルにまとめることができる。
同じことをしたいときは、そのファイルを実行するのみ。
GUIの場合
作業の手順をまとめる。
↓
手順書を見て、間違えないように慎重に作業する。
※CLIで自動化すれば、慎重に作業する必要がない。
14
Copyright Management Service Corp. All Rights Reserved.
コマンドプロンプトで便利なもの
? ファイル一覧を出力
? ディレクトリ一覧を出力
? ファイル/ディレクトリの一覧出力
? ディレクトリ構造のみをコピー
15
dir /a-d /s /b *.*
dir /a:d /s /b
dir /s /b *.*
ROBOCOPY 【コピー元】 【コピー先】 /e /nocopy
Copyright Management Service Corp. All Rights Reserved.
AWS CLI
16
Copyright Management Service Corp. All Rights Reserved.
AWS CLIとは
? AWSサービスをCLIで操作するツール
? OSが異なっても使用できる(win/mac/linux)
17
Copyright Management Service Corp. All Rights Reserved.
AWS CLIのメリット
? CLIと同じメリット(作業が早くなる/自動化)
? マネジメントコンソールがよしなにやってくれることもCLIでは、実行
する必要があるので、理解が深まる。
※その分大変ではある???
18
Copyright Management Service Corp. All Rights Reserved.
AWS CLIを使うために
? 認証/認可のざっくりとした理解
? AWS CLIを使える環境作り
19
Copyright Management Service Corp. All Rights Reserved.
認証/認可のざっくりとした理解
20
Copyright Management Service Corp. All Rights Reserved.
認証とは
? 本人であることを確認すること。
Googleアカウントにログインすることも認証。
?AWSでは、認証に「IAM User」を使用する。
マネジメントコンソールにログインするときにも「IAM User」を
使用している。
21
Copyright Management Service Corp. All Rights Reserved.
IAM User
? マネジメントコンソール
ユーザ名とパスワードで認証。
? AWS CLI
アクセスキーとシークレットアクセスキーで認証。
※使うものが違うので注意。
22
Copyright Management Service Corp. All Rights Reserved.
認可とは
? やっていいと許可されること
? IAM User毎に、AWSサービスで何ができるか決まっている。
S3の参照のみ可能で削除/登録は不可のように設定できる。
? AWSでは、認可はIAM Policyを使用する。
23
Copyright Management Service Corp. All Rights Reserved.
IAM Policy
? AWSのどのサービスで何ができるかを許可するポリシー。
? IAM UserにIAM Policyを付与(アタッチ)して、ユーザ毎に許可する。
? 1人のIAM Userに複数のIAM Policyをアタッチできる。
24
S3で参照のみができる
IAM User IAM Policy
EC2の全ての操作ができる
Lambdaの削除以外の操作ができる
Copyright Management Service Corp. All Rights Reserved.
認証/認可まとめ
? 認証
本人確認(だれか)
?認可
権限管理(何ができるか)
25
Copyright Management Service Corp. All Rights Reserved.
AWS CLIを使える環境作り
26
Copyright Management Service Corp. All Rights Reserved.
AWS CLIを使える環境作り
? AWS CLIのインストール
? PCに認証情報を設定
? aws-shell(おまけ)
27
Copyright Management Service Corp. All Rights Reserved.
AWS CLIのインストール
? AWS公式の下記参照
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-
windows.html#awscli-install-windows-pip
? 流れ
Pythonのインストール
↓
pipのインストール
↓
pipを使用してAWC CLIをインストール
28
?Pythonとは、プログラミング言語。
Javaと同じ。
?pipとは、Pythonのライブラリの管理
ツール。Pythonのツールをインストール
したりするツール。
Copyright Management Service Corp. All Rights Reserved.
PCに認証情報を設定
? aws configure コマンド実行
コマンドを実行すると下記の4つが聞かれる。
1.アクセスキー
2.シークレットアクセスキー
3.リージョン
4.出力形式(json/text/table)
29
実行例
$ aws configure
AWS Access Key ID [None]: YAMAMOTO
AWS Secret Access Key [None]: XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: json
Copyright Management Service Corp. All Rights Reserved.
aws configureで作成されるもの
? 設定ファイル(config)
★パス
C:Users【PCのユーザ名】.awsconfig
★中身
? 認証情報ファイル(credentials)
★パス
C:Users【PCのユーザ名】.awscredentials
★中身
30
[default]
region = ap-northeast-1
output = json
[default]
aws_access_key_id = YAMAMOTO
aws_secret_access_key = XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX
Copyright Management Service Corp. All Rights Reserved.
default?
31
Copyright Management Service Corp. All Rights Reserved.
default以外もある
? 名前を付けずに「aws configure」で設定したためdefaultで作成され
た。
? 1つのPCで複数IAM Userを利用することが可能。
? 名前を付けて「aws configure」を使用するには、「--profile」オプ
ションを使用する。
例)「produser」と名前を付けて「aws configure」を実行した場合
※ここで付ける名前は、自分のPC上だけの名前。
IAM Userとは別。
32
$ aws configure --profile produser
AWS Access Key ID [None]: prodYAMAMOTO
AWS Secret Access Key [None]: XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: json
Copyright Management Service Corp. All Rights Reserved.
IAM Userは複数設定できる
? defaultがある状態で「produser」を追加すると
★設定ファイル(config)
★認証情報ファイル(credentials)
33
[default]
region = ap-northeast-1
output = json
[produser]
region = ap-northeast-1
output = json
[default]
aws_access_key_id = YAMAMOTO
aws_secret_access_key = XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX
[produser]
aws_access_key_id = prodYAMAMOTO
aws_secret_access_key = XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX
Copyright Management Service Corp. All Rights Reserved.
AWS CLIの使い方
34
Copyright Management Service Corp. All Rights Reserved.
35
$ aws s3 ls
固定
使うAWSサービス
何するか
Copyright Management Service Corp. All Rights Reserved.
36
$ aws s3 ls
AWSの
S3で
(バケットの)一覧を表示する
Copyright Management Service Corp. All Rights Reserved.
コマンド抜粋
? バケット作成
? ローカルのファイルをバケットにコピー
? バケットの内容をローカルのフォルダと同期する(削除もされる)
37
Copyright Management Service Corp. All Rights Reserved.
バケット作成
※mbは「make bucket」の略
38
$ aws s3 mb s3://{バケット名}
$ aws s3 mb s3://testbucket
Copyright Management Service Corp. All Rights Reserved.
バケット作成
39
Copyright Management Service Corp. All Rights Reserved.
ローカルのファイルをバケットにコピー
40
$ aws s3 cp {ファイルパス} s3://{バケット名}/{パス}
$ aws s3 cp test.txt s3://testbucket/testDirectory
Copyright Management Service Corp. All Rights Reserved.
ローカルのファイルをバケットにコピー
41
Copyright Management Service Corp. All Rights Reserved.
バケットの内容をローカルのフォルダと同期す
る(削除もされる)
※削除はしたくない場合は、「--delete」を取る。
42
aws s3 sync {フォルダパス} s3://{バケット名}/{パス} --delete
aws s3 sync ./test s3://testbucket/testDirectory --delete
Copyright Management Service Corp. All Rights Reserved.
バケットの内容をローカルのフォルダと同期す
る(削除もされる)
43
? 実行前
Copyright Management Service Corp. All Rights Reserved.
バケットの内容をローカルのフォルダと同期す
る(削除もされる)
44
Copyright Management Service Corp. All Rights Reserved.
aws-shell
45
Copyright Management Service Corp. All Rights Reserved.
aws-shellとは
? コマンドの補完や候補を出してくれるツール
? 「aws」という固定文字列は入力する必要がない
46
候補を出してくれる
Copyright Management Service Corp. All Rights Reserved.
aws-shellインストール方法
? pipインストール
47
pip install aws-shell
Copyright Management Service Corp. All Rights Reserved.
IAM Userを複数設定しているとき
? コマンドに「--profile 【アカウント名】」を付ける。
例)
※つけないときは、defaultのアカウントで実行される。
48
$ aws s3 ls –profile produser
Copyright Management Service Corp. All Rights Reserved.
IAM Userを確認する
? 複数のIAM Userを使っている場合は、作業前に確認することが必須
? 「--profile 【アカウント名】」を付ければそのアカウントの確認も可
能
49
$ aws sts get-caller-identity
{
"UserId": "XXXXXXXXXXXXXXXXXXXXX",
"Account": "000000000000",
"Arn": "arn:aws:iam::000000000000:user/yamamoto"
}
Copyright Management Service Corp. All Rights Reserved.
最後に
? AWS CLIを使うことでCLIでAWSサービスを操作することができる。
? マネジメントコンソールをポチポチするより操作が早い。
? AWSサービスがたくさんあってさらにコマンドなんて、絶対に覚えき
れない。
少しずつ使ってみて、よく使うものだけ覚えるぐらいで大丈夫。
50
Copyright Management Service Corp. All Rights Reserved.
ありがとうございました
51

More Related Content

What's hot (20)

PDF
AWS Black Belt Techシリーズ AWS SDK
Amazon Web Services Japan
?
PDF
20190320 AWS Black Belt Online Seminar Amazon EBS
Amazon Web Services Japan
?
PPTX
組織利用におけるMFA管理方法を考える OpsJAWS Meetup#8
Kohei Hoshi
?
PPTX
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
Takayuki Enomoto
?
PPTX
サーバーワークスの础奥厂构筑自动化の仕组み
Akira Nagata
?
PDF
もしお金を支払わなかった时、あなたに何か?おきますか?
hideaki yanase
?
PPTX
aws lambdaでpythonを実行するときのチューニング案を試してみた!
Shun Fukazawa
?
PDF
AWS Black Belt Techシリーズ AWS IAM
Amazon Web Services Japan
?
PDF
AWS Black Belt Online Seminar 2016 Amazon WorkSpaces
Amazon Web Services Japan
?
PDF
Config rulesを1年ほど使い続けて分かったこと
qtomonari
?
PDF
これでAWSマスター!? 初心者向けAWS簡単講座
Serverworks Co.,Ltd.
?
PDF
AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報
Amazon Web Services Japan
?
PDF
AWS Black Belt Online Seminar 2017 AWS Cognito
Amazon Web Services Japan
?
PDF
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
Amazon Web Services Japan
?
PDF
Black Belt Online Seminar Amazon CloudWatch
Amazon Web Services Japan
?
PDF
AWS as MBaaS ?APIキーとかの話?
Yuki Hirai
?
PDF
[AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策
Amazon Web Services Japan
?
PDF
闯础奥厂-鲍骋初心者支部#2 础奥厂でアカウント作ったら最初にやるべきこと
Nobuhiro Nakayama
?
PPTX
セキュリティの基本と础奥厂でのセキュリティ対策をフルコースで味あう冲公开修正版
ShinodaYukihiro
?
PDF
AWS Blackbelt 2015シリーズ Amazon EC2 Windows インスタンス
Amazon Web Services Japan
?
AWS Black Belt Techシリーズ AWS SDK
Amazon Web Services Japan
?
20190320 AWS Black Belt Online Seminar Amazon EBS
Amazon Web Services Japan
?
組織利用におけるMFA管理方法を考える OpsJAWS Meetup#8
Kohei Hoshi
?
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
Takayuki Enomoto
?
サーバーワークスの础奥厂构筑自动化の仕组み
Akira Nagata
?
もしお金を支払わなかった时、あなたに何か?おきますか?
hideaki yanase
?
aws lambdaでpythonを実行するときのチューニング案を試してみた!
Shun Fukazawa
?
AWS Black Belt Techシリーズ AWS IAM
Amazon Web Services Japan
?
AWS Black Belt Online Seminar 2016 Amazon WorkSpaces
Amazon Web Services Japan
?
Config rulesを1年ほど使い続けて分かったこと
qtomonari
?
これでAWSマスター!? 初心者向けAWS簡単講座
Serverworks Co.,Ltd.
?
AWS Black Belt Tech シリーズ 2015 - re:Invent 2015 最新アップデート速報
Amazon Web Services Japan
?
AWS Black Belt Online Seminar 2017 AWS Cognito
Amazon Web Services Japan
?
[AWSマイスターシリーズ] AWS SDK for PHP / Ruby / boto(Python) / JavaScript in Node.js
Amazon Web Services Japan
?
Black Belt Online Seminar Amazon CloudWatch
Amazon Web Services Japan
?
AWS as MBaaS ?APIキーとかの話?
Yuki Hirai
?
[AWS初心者向けWebinar] 利用者が実施するAWS上でのセキュリティ対策
Amazon Web Services Japan
?
闯础奥厂-鲍骋初心者支部#2 础奥厂でアカウント作ったら最初にやるべきこと
Nobuhiro Nakayama
?
セキュリティの基本と础奥厂でのセキュリティ対策をフルコースで味あう冲公开修正版
ShinodaYukihiro
?
AWS Blackbelt 2015シリーズ Amazon EC2 Windows インスタンス
Amazon Web Services Japan
?

Similar to 20190913 awscli (20)

PDF
AWS Black Belt Techシリーズ AWS Command Line Interface
Amazon Web Services Japan
?
PDF
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Amazon Web Services Japan
?
PDF
20130904 aws cliツール 導入カ?イト?
Yasuyuki SAITO
?
PPTX
Aws cli
Hiroshi Toyama
?
PPTX
AWS Command Line Interface (AWS CLI) version 2 GA記念! ?今からでも間に合う機能のおさらい?
Hiroki Uchida
?
PDF
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回
SORACOM, INC
?
PDF
[AWSマイスターシリーズ]Identity and Access Management (IAM)
Amazon Web Services Japan
?
PDF
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~
Amazon Web Services Japan
?
PPTX
础飞蝉について
Naoyuki Sano
?
PDF
20120201 aws meister-reloaded-iam-and-billing-public
Amazon Web Services Japan
?
PDF
AWS Black Belt Techシリーズ Amazon Elastic Compute Cloud (Amazon EC2)
Amazon Web Services Japan
?
PDF
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
Masaru Tomonaga
?
PDF
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
?
PDF
AWS サービスアップデートまとめ 2013年9月
Yasuhiro Horiuchi
?
PPTX
【AWS】EC2インスタンスでWebサーバ起動(for Mac)
Yukiko Kato
?
PDF
AWS Black Belt Techシリーズ AWS IAM
Amazon Web Services Japan
?
PDF
はじめてのAWS CLI
Nobuhiro Nakayama
?
PDF
AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!
SORACOM, INC
?
PDF
20120528 aws meister-reloaded-awssd-kforjava-public
Amazon Web Services Japan
?
PDF
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー ? AWS SDKの使い方 ?
Atsushi Fukui
?
AWS Black Belt Techシリーズ AWS Command Line Interface
Amazon Web Services Japan
?
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Amazon Web Services Japan
?
20130904 aws cliツール 導入カ?イト?
Yasuyuki SAITO
?
AWS Command Line Interface (AWS CLI) version 2 GA記念! ?今からでも間に合う機能のおさらい?
Hiroki Uchida
?
IAM & Consolidated Billing -ほぼ週刊AWSマイスターシリーズ第4回
SORACOM, INC
?
[AWSマイスターシリーズ]Identity and Access Management (IAM)
Amazon Web Services Japan
?
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Amazon S3 バックアップ~
Amazon Web Services Japan
?
础飞蝉について
Naoyuki Sano
?
20120201 aws meister-reloaded-iam-and-billing-public
Amazon Web Services Japan
?
AWS Black Belt Techシリーズ Amazon Elastic Compute Cloud (Amazon EC2)
Amazon Web Services Japan
?
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
Masaru Tomonaga
?
Programming AWS with Perl at YAPC::Asia 2013
Yasuhiro Horiuchi
?
AWS サービスアップデートまとめ 2013年9月
Yasuhiro Horiuchi
?
【AWS】EC2インスタンスでWebサーバ起動(for Mac)
Yukiko Kato
?
AWS Black Belt Techシリーズ AWS IAM
Amazon Web Services Japan
?
はじめてのAWS CLI
Nobuhiro Nakayama
?
AWS meets Android - "AWS SDK for Android"で開発を楽にしよう!
SORACOM, INC
?
20120528 aws meister-reloaded-awssd-kforjava-public
Amazon Web Services Japan
?
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー ? AWS SDKの使い方 ?
Atsushi Fukui
?
Ad

More from yamamotomsc (13)

PPTX
20200304 vuejs
yamamotomsc
?
PPTX
20191224 aws cloud9
yamamotomsc
?
PDF
20191206冲础濒别虫补スキルを作ってみよう
yamamotomsc
?
PPTX
20191129 AWS CloudFormarion
yamamotomsc
?
PPTX
20191115_Cloud Front
yamamotomsc
?
PPTX
20191031_Amazon Api Gateway
yamamotomsc
?
PPTX
20191018 AWS Lambda
yamamotomsc
?
PDF
20191011_Route 53
yamamotomsc
?
PPTX
20190927_AWS VPC
yamamotomsc
?
PPTX
20190920 AWS IAM
yamamotomsc
?
PPTX
20190906冲私が使った础奥厂サービス
yamamotomsc
?
PPTX
20190823_AMAZON EC2
yamamotomsc
?
PPTX
20190809冲础奥厂第1歩目
yamamotomsc
?
20200304 vuejs
yamamotomsc
?
20191224 aws cloud9
yamamotomsc
?
20191206冲础濒别虫补スキルを作ってみよう
yamamotomsc
?
20191129 AWS CloudFormarion
yamamotomsc
?
20191115_Cloud Front
yamamotomsc
?
20191031_Amazon Api Gateway
yamamotomsc
?
20191018 AWS Lambda
yamamotomsc
?
20191011_Route 53
yamamotomsc
?
20190927_AWS VPC
yamamotomsc
?
20190920 AWS IAM
yamamotomsc
?
20190906冲私が使った础奥厂サービス
yamamotomsc
?
20190823_AMAZON EC2
yamamotomsc
?
20190809冲础奥厂第1歩目
yamamotomsc
?
Ad

20190913 awscli

  • 1. マネージメントサービス株式会社 Copyright Management Service Corp. All Rights Reserved.Copyright Management Service Corp. All Rights Reserved. AWS CLIを使ってみよう マネージメントサービス株式会社 デジタルビジネスイノベーションセンター 山本 友樹 2019 09-13 AWS若手勉強会#5
  • 2. Copyright Management Service Corp. All Rights Reserved. 1.前置き 2.CLIについて 3.AWS CLIを使うために 4.AWS CLIの使い方 5.最後に 2 アジェンダ
  • 3. Copyright Management Service Corp. All Rights Reserved. 前置き 3
  • 4. Copyright Management Service Corp. All Rights Reserved. 今回はAWSサービスではなく、 AWSサービスを使うためのツールの話です 4
  • 5. Copyright Management Service Corp. All Rights Reserved. AWS CLIの前に 5
  • 6. Copyright Management Service Corp. All Rights Reserved. みなさんCLI使ってますか? 6
  • 7. Copyright Management Service Corp. All Rights Reserved. なんか冷たい感じで、苦手意識ないですか? 7
  • 8. Copyright Management Service Corp. All Rights Reserved. でも最初はとっつきにくいだけです! 8
  • 9. Copyright Management Service Corp. All Rights Reserved. CLIとは(おさらい) ? コマンドラインインタフェース (Command Line Interface)の略 ? コマンドでコンピュータを操作すること。 ? 黒い画面にコマンドを入力して、操作する。 9
  • 10. Copyright Management Service Corp. All Rights Reserved. よく聞くけど、インタフェースって? 10
  • 11. Copyright Management Service Corp. All Rights Reserved. インタフェースとは ? 英語を直訳すると「境界面」「接点」。 ? 異なる2つのものを仲介するという意味。 ? CLIでいうと、ユーザ(人間)とコンピュータを仲介しています。 11 ?????? ?????? ??????
  • 12. Copyright Management Service Corp. All Rights Reserved. Javaでいうと ? JavaのAPIという言葉が使われます。 ? APIは、(Application Programming Interface)の略。 ? 呼び出し方法を定めた決まりです。 ? プログラムとプログラムを仲介しています。 12 Aプログラム BプログラムAPI APIがあるから他のプログラムを呼び出せる!
  • 13. Copyright Management Service Corp. All Rights Reserved. CLIの良いところ1 ? 作業が早くなる(GUIと比べて) 例)あるフォルダで「MSC」という文字を含むファイルを検索するとき 〇GUIの場合 検索窓に「MSC」と入力する。 ↓ 描画されるのを待つ 〇CLIの場合 ls –l *msc* とコマンドを打つだけ。 ※文字だけなので描画が早い さらに、GUIではできない操作もCLIではできる。 注意:Linuxのコマンドが使える場合のコマンド 13
  • 14. Copyright Management Service Corp. All Rights Reserved. CLIの良いところ2 ? 作業が自動化できる。 コマンドの集まりを1ファイルにまとめることができる。 同じことをしたいときは、そのファイルを実行するのみ。 GUIの場合 作業の手順をまとめる。 ↓ 手順書を見て、間違えないように慎重に作業する。 ※CLIで自動化すれば、慎重に作業する必要がない。 14
  • 15. Copyright Management Service Corp. All Rights Reserved. コマンドプロンプトで便利なもの ? ファイル一覧を出力 ? ディレクトリ一覧を出力 ? ファイル/ディレクトリの一覧出力 ? ディレクトリ構造のみをコピー 15 dir /a-d /s /b *.* dir /a:d /s /b dir /s /b *.* ROBOCOPY 【コピー元】 【コピー先】 /e /nocopy
  • 16. Copyright Management Service Corp. All Rights Reserved. AWS CLI 16
  • 17. Copyright Management Service Corp. All Rights Reserved. AWS CLIとは ? AWSサービスをCLIで操作するツール ? OSが異なっても使用できる(win/mac/linux) 17
  • 18. Copyright Management Service Corp. All Rights Reserved. AWS CLIのメリット ? CLIと同じメリット(作業が早くなる/自動化) ? マネジメントコンソールがよしなにやってくれることもCLIでは、実行 する必要があるので、理解が深まる。 ※その分大変ではある??? 18
  • 19. Copyright Management Service Corp. All Rights Reserved. AWS CLIを使うために ? 認証/認可のざっくりとした理解 ? AWS CLIを使える環境作り 19
  • 20. Copyright Management Service Corp. All Rights Reserved. 認証/認可のざっくりとした理解 20
  • 21. Copyright Management Service Corp. All Rights Reserved. 認証とは ? 本人であることを確認すること。 Googleアカウントにログインすることも認証。 ?AWSでは、認証に「IAM User」を使用する。 マネジメントコンソールにログインするときにも「IAM User」を 使用している。 21
  • 22. Copyright Management Service Corp. All Rights Reserved. IAM User ? マネジメントコンソール ユーザ名とパスワードで認証。 ? AWS CLI アクセスキーとシークレットアクセスキーで認証。 ※使うものが違うので注意。 22
  • 23. Copyright Management Service Corp. All Rights Reserved. 認可とは ? やっていいと許可されること ? IAM User毎に、AWSサービスで何ができるか決まっている。 S3の参照のみ可能で削除/登録は不可のように設定できる。 ? AWSでは、認可はIAM Policyを使用する。 23
  • 24. Copyright Management Service Corp. All Rights Reserved. IAM Policy ? AWSのどのサービスで何ができるかを許可するポリシー。 ? IAM UserにIAM Policyを付与(アタッチ)して、ユーザ毎に許可する。 ? 1人のIAM Userに複数のIAM Policyをアタッチできる。 24 S3で参照のみができる IAM User IAM Policy EC2の全ての操作ができる Lambdaの削除以外の操作ができる
  • 25. Copyright Management Service Corp. All Rights Reserved. 認証/認可まとめ ? 認証 本人確認(だれか) ?認可 権限管理(何ができるか) 25
  • 26. Copyright Management Service Corp. All Rights Reserved. AWS CLIを使える環境作り 26
  • 27. Copyright Management Service Corp. All Rights Reserved. AWS CLIを使える環境作り ? AWS CLIのインストール ? PCに認証情報を設定 ? aws-shell(おまけ) 27
  • 28. Copyright Management Service Corp. All Rights Reserved. AWS CLIのインストール ? AWS公式の下記参照 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install- windows.html#awscli-install-windows-pip ? 流れ Pythonのインストール ↓ pipのインストール ↓ pipを使用してAWC CLIをインストール 28 ?Pythonとは、プログラミング言語。 Javaと同じ。 ?pipとは、Pythonのライブラリの管理 ツール。Pythonのツールをインストール したりするツール。
  • 29. Copyright Management Service Corp. All Rights Reserved. PCに認証情報を設定 ? aws configure コマンド実行 コマンドを実行すると下記の4つが聞かれる。 1.アクセスキー 2.シークレットアクセスキー 3.リージョン 4.出力形式(json/text/table) 29 実行例 $ aws configure AWS Access Key ID [None]: YAMAMOTO AWS Secret Access Key [None]: XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX Default region name [None]: ap-northeast-1 Default output format [None]: json
  • 30. Copyright Management Service Corp. All Rights Reserved. aws configureで作成されるもの ? 設定ファイル(config) ★パス C:Users【PCのユーザ名】.awsconfig ★中身 ? 認証情報ファイル(credentials) ★パス C:Users【PCのユーザ名】.awscredentials ★中身 30 [default] region = ap-northeast-1 output = json [default] aws_access_key_id = YAMAMOTO aws_secret_access_key = XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX
  • 31. Copyright Management Service Corp. All Rights Reserved. default? 31
  • 32. Copyright Management Service Corp. All Rights Reserved. default以外もある ? 名前を付けずに「aws configure」で設定したためdefaultで作成され た。 ? 1つのPCで複数IAM Userを利用することが可能。 ? 名前を付けて「aws configure」を使用するには、「--profile」オプ ションを使用する。 例)「produser」と名前を付けて「aws configure」を実行した場合 ※ここで付ける名前は、自分のPC上だけの名前。 IAM Userとは別。 32 $ aws configure --profile produser AWS Access Key ID [None]: prodYAMAMOTO AWS Secret Access Key [None]: XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX Default region name [None]: ap-northeast-1 Default output format [None]: json
  • 33. Copyright Management Service Corp. All Rights Reserved. IAM Userは複数設定できる ? defaultがある状態で「produser」を追加すると ★設定ファイル(config) ★認証情報ファイル(credentials) 33 [default] region = ap-northeast-1 output = json [produser] region = ap-northeast-1 output = json [default] aws_access_key_id = YAMAMOTO aws_secret_access_key = XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX [produser] aws_access_key_id = prodYAMAMOTO aws_secret_access_key = XXXXXXXXXXXXX/XXXXXXX/XXXXXXXXXXXXXXXXXX
  • 34. Copyright Management Service Corp. All Rights Reserved. AWS CLIの使い方 34
  • 35. Copyright Management Service Corp. All Rights Reserved. 35 $ aws s3 ls 固定 使うAWSサービス 何するか
  • 36. Copyright Management Service Corp. All Rights Reserved. 36 $ aws s3 ls AWSの S3で (バケットの)一覧を表示する
  • 37. Copyright Management Service Corp. All Rights Reserved. コマンド抜粋 ? バケット作成 ? ローカルのファイルをバケットにコピー ? バケットの内容をローカルのフォルダと同期する(削除もされる) 37
  • 38. Copyright Management Service Corp. All Rights Reserved. バケット作成 ※mbは「make bucket」の略 38 $ aws s3 mb s3://{バケット名} $ aws s3 mb s3://testbucket
  • 39. Copyright Management Service Corp. All Rights Reserved. バケット作成 39
  • 40. Copyright Management Service Corp. All Rights Reserved. ローカルのファイルをバケットにコピー 40 $ aws s3 cp {ファイルパス} s3://{バケット名}/{パス} $ aws s3 cp test.txt s3://testbucket/testDirectory
  • 41. Copyright Management Service Corp. All Rights Reserved. ローカルのファイルをバケットにコピー 41
  • 42. Copyright Management Service Corp. All Rights Reserved. バケットの内容をローカルのフォルダと同期す る(削除もされる) ※削除はしたくない場合は、「--delete」を取る。 42 aws s3 sync {フォルダパス} s3://{バケット名}/{パス} --delete aws s3 sync ./test s3://testbucket/testDirectory --delete
  • 43. Copyright Management Service Corp. All Rights Reserved. バケットの内容をローカルのフォルダと同期す る(削除もされる) 43 ? 実行前
  • 44. Copyright Management Service Corp. All Rights Reserved. バケットの内容をローカルのフォルダと同期す る(削除もされる) 44
  • 45. Copyright Management Service Corp. All Rights Reserved. aws-shell 45
  • 46. Copyright Management Service Corp. All Rights Reserved. aws-shellとは ? コマンドの補完や候補を出してくれるツール ? 「aws」という固定文字列は入力する必要がない 46 候補を出してくれる
  • 47. Copyright Management Service Corp. All Rights Reserved. aws-shellインストール方法 ? pipインストール 47 pip install aws-shell
  • 48. Copyright Management Service Corp. All Rights Reserved. IAM Userを複数設定しているとき ? コマンドに「--profile 【アカウント名】」を付ける。 例) ※つけないときは、defaultのアカウントで実行される。 48 $ aws s3 ls –profile produser
  • 49. Copyright Management Service Corp. All Rights Reserved. IAM Userを確認する ? 複数のIAM Userを使っている場合は、作業前に確認することが必須 ? 「--profile 【アカウント名】」を付ければそのアカウントの確認も可 能 49 $ aws sts get-caller-identity { "UserId": "XXXXXXXXXXXXXXXXXXXXX", "Account": "000000000000", "Arn": "arn:aws:iam::000000000000:user/yamamoto" }
  • 50. Copyright Management Service Corp. All Rights Reserved. 最後に ? AWS CLIを使うことでCLIでAWSサービスを操作することができる。 ? マネジメントコンソールをポチポチするより操作が早い。 ? AWSサービスがたくさんあってさらにコマンドなんて、絶対に覚えき れない。 少しずつ使ってみて、よく使うものだけ覚えるぐらいで大丈夫。 50
  • 51. Copyright Management Service Corp. All Rights Reserved. ありがとうございました 51