Slide 1

Slide 1 text

PowerShellで頑張る 2023/11/9 Jr. Champions勉強会 富士通株式会社 齋藤理沙子 © 2023 Fujitsu Limited 1

Slide 2

Slide 2 text

自己紹介 齋藤理沙子 富士通株式会社 オンプレからクラウドまで、インフラまわり色々 2023 Japan AWS Jr. Champions 2023 Japan AWS All Certifications Engineers 好きなサービス:FSx for NetApp ONTAP © 2023 Fujitsu Limited 2

Slide 3

Slide 3 text

社内のエンジニアが社外発信できる 仕組み作り@Qiita 富士通のJr. Championsでこんなイベントを企画しました! ⚫AWSネタonlyのLT会(社内向け) ⚫Qiita投稿(社外向け) 今回3人に登壇いただきました (うち2人は1年目!!! 1人は構築でAWSゴリゴリ使っている方) © 2023 Fujitsu Limited 2つで1セット! 3

Slide 4

Slide 4 text

社内のエンジニアが社外発信できる 仕組み作り@Qiita 富士通のJr. Championsでこんなイベントを企画しました! ⚫AWSネタonlyのLT会(社内向け) ⚫Qiita投稿(社外向け) 今回3人に登壇いただきました (うち2人は1年目!!! 1人は構築でAWSゴリゴリ使っている方) © 2023 Fujitsu Limited 2つで1セット! 当日チャットがめっちゃ 盛り上がりました 4

Slide 5

Slide 5 text

投稿されたQiita記事 ⚫ AWSセキュリティグループの自動修復とカスタマイズ対応 (AWS Config+SSMドキュメント) https://qiita.com/maru3ka9/items/a7044543092770be7057 ⚫ 新米SEが気付いた富士通のAWS認定試験への取り組み https://qiita.com/takungt/items/aca5fff974e67dbb0ddb ⚫ Coming Soon!(File Storageサービスの比較) 投稿先:Qiita - 富士通ソフトウェア技術者コミュニティ https://qiita.com/organizations/fujitsu © 2023 Fujitsu Limited ある事業部が作って なんとなく続いてたコミュニティ 社外発信の場として盛り上げ中 5

Slide 6

Slide 6 text

本題:なぜPowerShell? ⚫オンプレでPowerShellスクリプト書いてたのでなんとなく ⚫PowerShellめんどい、コマンドプロンプトでよくない?とか 言われたことがあったから活躍させてあげたい ということでPowerShellコマンド縛りでリソースを操作してみる (AWS CLIで事足りる気はするけど) © 2023 Fujitsu Limited 6

Slide 7

Slide 7 text

PowerShellとは ⚫オブジェクト指向のスクリプト言語 ⚫コマンドレットが分かりやすい(Get-ChildItem, Out-Fileなど) ⚫WindowsだけじゃなくてLinuxやmacOSでも使える © 2023 Fujitsu Limited 7

Slide 8

Slide 8 text

AWSでPowerShellを使う 2通り ⚫PowerShellモジュール(AWS Tools for PowerShell)を クライアント端末にインストールする →PowerShellのコンソールで作業できる! ⚫AWS CloudShellで”pwsh”と打つ →モジュールインストールしなくてよい 認証情報の設定もよしなにやってくれるので簡単 © 2023 Fujitsu Limited 8

Slide 9

Slide 9 text

PowerShell操作用のユーザを作ろう コンソールへのアクセスは甘え ユーザはGUIで作ったけどこれはノーカンで © 2023 Fujitsu Limited 9

Slide 10

Slide 10 text

認証情報をセットしよう Set-AWSCredential ` - AccessKey access_key_id ` - SecretKey secret_key_id ` - StoreAs profile_name ※AccessKeyとSecretKeyはAWSドキュメントに例として記載されている文字列 © 2023 Fujitsu Limited 10

Slide 11

Slide 11 text

認証情報の確認 Get-AWSCredential –ListProfileDetail ProfileLocationが無い…… © 2023 Fujitsu Limited 11

Slide 12

Slide 12 text

認証情報はどこにいった? StoreTypeNameの”NetSDKCredentialsFile”にあるように、 SDKストアに入っている(認証情報を暗号化した状態で保管される) Windowsだと ” %USERPROFILE%¥AppData¥Local¥AWSToolkit¥RegisteredAccounts.json” © 2023 Fujitsu Limited ※~/.aws¥credentialsファイルは通常AWS CLIが使う認証ファイル configファイルにはデフォルトリージョンの設定などが入っている 12

Slide 13

Slide 13 text

クライアント端末のデフォルトリージョン セッション立ち上げ時はデフォルトのリージョン設定入ってない 毎回最初にSet-DefaultAWSRegion打ったほうがよさそう © 2023 Fujitsu Limited 13

Slide 14

Slide 14 text

…地味 © 2023 Fujitsu Limited 14

Slide 15

Slide 15 text

スクリプト書くか… © 2023 Fujitsu Limited PowerShellは基本大文字小文字は区別しないが、 AWS上では区別されるので、-Filterのところは大文字小文字の違いに注意! 指定したVPC内に起動しているインスタンスがあれば停止する 15

Slide 16

Slide 16 text

インスタンスを起動しておく © 2023 Fujitsu Limited ステータスがrunningのインスタンスが2つ 16

Slide 17

Slide 17 text

スクリプトなのでタスクスケジューラで 自動実行させる © 2023 Fujitsu Limited 17

Slide 18

Slide 18 text

インスタンスが停止された © 2023 Fujitsu Limited 18

Slide 19

Slide 19 text

イベントログにも出力 © 2023 Fujitsu Limited 19

Slide 20

Slide 20 text

© 2023 Fujitsu Limited これで日次で起動しているインスタンスを 止められるぞ! 20

Slide 21

Slide 21 text

© 2023 Fujitsu Limited スクリプト書いてタスクスケジューラ設定して、 処理がハングしたときの対処とか、 ログの考慮するのめんどくさいな 21

Slide 22

Slide 22 text

EventBridge © 2023 Fujitsu Limited EventBridge Schedulerで 定期的にStopInstancesAPIを叩くことができる EventBridge Schedulerのアクティビティログは CloudTrailから確認できる 22

Slide 23

Slide 23 text

© 2023 Fujitsu Limited Thank you