Slide 1

Slide 1 text

WindowsでAWS CLIのタブ補完を しようとしたら、色々引っかかった話 JAWS-UG朝会 #38 畠山 大治

Slide 2

Slide 2 text

自己紹介 – 基本情報 ⚫名前: 畠山 大治 ⚫所属: KDDI株式会社 クラウドサービス推進部 ⚫趣味: 読書、映画・アニメ Perfumeを追いかける(ファンクラブ 8年目) ⚫好きなAWSサービス: Cloud9 CloudShell VPC

Slide 3

Slide 3 text

自己紹介 – 仕事関連 ⚫職種: 法人のお客様と相対するシステムエンジニア cloudpack with KDDI https://biz.kddi.com/lp/cloudpack/ KDDI Cloud Platform Service (KCPS) https://doc.cloud-platform.kddi.ne.jp/

Slide 4

Slide 4 text

アジェンダ ⚫手順のご紹介 ⚫AWS CLIのインストール手順 ⚫AWS CLIの設定ファイル、認証情報ファイルのセットアップ手順 ⚫WindowsでAWS CLIのタブ補完を有効化する手順 ⚫引っかかりポイントの原因と対策 (AWSよりもWindows要素強め。。。)

Slide 5

Slide 5 text

こんなこと思ったことありませんか? ⚫コンソールにログインせずに AWS CLI 使ってみたい ⚫開発環境がローカルにあるの、なんかかっこいい ⚫Windows + AWS CLIの記事が少ない。。。 何もしなくても AWS CLI が使える Cloud9、CloudShell 素晴らしい! でも・・・

Slide 6

Slide 6 text

AWS CLIのインストール・セットアップ 1. どちらかの方法で AWS CLI をインストールする i. インストーラーをダウンロードして実行する ii. コマンドを使ってインストール C:¥> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi とくに問題なし [Next] を連打 ↓ [Install] でインストール完了

Slide 7

Slide 7 text

AWS CLIのインストール・セットアップ 2. 設定ファイルと認証情報ファイルをセットアップする cf.) 設定ファイル、認証情報ファイルの保存先:C:¥Users¥ローカルユーザー名¥.aws $ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-files.html とくに問題なし

Slide 8

Slide 8 text

タブ補完有効化手順 – 概要 1. PowerShellプロファイルを開く 無ければ作成(PowerShell ほとんど使ってない場合は無い可能性大) 2. プロファイルにコードを入力して保存 ※Register-ArgumentCompleter: タブ補完機能を新規登録することができるコマンド、タブ補完するために実行するスクリプトを-ScriptBlockに記載 PS C:¥> Notepad $PROFILE PS C:¥> if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force } Register-ArgumentCompleter -Native -CommandName aws -ScriptBlock { param($commandName, $wordToComplete, $cursorPosition) $env:COMP_LINE=$wordToComplete $env:COMP_POINT=$cursorPosition aws_completer.exe | ForEach-Object { [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) } Remove-Item Env:¥COMP_LINE Remove-Item Env:¥COMP_POINT } 引っかかり①

Slide 9

Slide 9 text

タブ補完有効化手順 – 概要 3. シェルをリロードするとタブ補完ができるようになる! 補完で使用できるコマンドを一覧表示させたいときは、Ctrl + [Space] を入力 $ aws sTab $ aws s3 $ aws sCtrl + Space s3 ses sqs sts swf s3api sns storagegateway support 引っかかり②

Slide 10

Slide 10 text

引っかかり① ⚫なぜかコマンドが実行できない・・・ ⚫Windowsセキュリティからなんか通知がきた ⚫Windows セキュリティのフォルダアクセス制限に引っかかっていた PS C:¥> if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force } 設定をオフ、もしくはアプリの追加を 行うことでコマンドが実行できるようになった! もしかして・・・

Slide 11

Slide 11 text

引っかかり② ⚫シェルをリロードしたらエラーが・・・ ⚫PowerShell はデフォルトでスクリプトファイルを実行できない設定になっている ⚫スクリプト実行ポリシーを変更しないと、タブ補完のスクリプトが動かない ⚫「Set-ExecutionPolicy」コマンドでポリシーの変更ができる このシステムではスクリプトの実行が無効になっているため、ファイル hoge¥hoge¥hoge.ps1 を読み込むことができ ません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照し てください。 Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned ポリシー変更の対象 割り当てる実行ポリシー

Slide 12

Slide 12 text

その後・・・ WSL2 を使うことにしました ⚫PowerShell のコマンドがわからなくて挫折 ⚫コマンドプロンプトと PowerShell 、2つあるので混乱する ⚫コマンドプロンプトはlsできない、PowerShellはlsできるけどls -alはダメなの!? ⚫bash使いたい・・・ ※WSL2(Windows Subsystem for Linux): Windows上でLinux(Ubuntu)を動作させるための仕組みのこと

Slide 13

Slide 13 text

手前味噌ですが・・・ ⚫今日のLTの内容のもとになった記事を書いてます

Slide 14

Slide 14 text

最後に・・・ ⚫JAWS DAYS 2022 ボランティアスタッフします!! 申し込みがまだの方は是非申し込んでください!

Slide 15

Slide 15 text

素敵なAWS CLI (on Windows) ライフを!!