« AWS SDK for .NETバージョン3のプレビュー終了 | メイン | AWS Black Belt Tech Webinar 「AWS Device Farm」資料公開 »

AWS Black Belt Tech Webinar 「AWS CLI & SDK for Powershell」資料公開

こんにちは、AWSテクニカルトレーナーの鬼形です。

先日(7/22)のAWS Black Belt Tech Webinar(18:00-) は、運用には欠かせないAWS CLIとSDK for Powershellがテーマでした。AWS Management Consoleに続き、AWSへのアクセス関連を担当しています、プロフェッショナルサービスの千葉による解説です!

今回は、AWS CLIとSDK for Powershellに関する基本構文の紹介はもちろん、出力情報の抽出に便利なJMESPathの使い方や、これまであまり取り上げられていないSDK for Powershellの新機能まで解説され、かゆいところに手が届く内容となりました。普段よく使っているという方も、新たな発見があったのではないでしょうか。以下に資料を公開しておりますので、コマンドラインを使用する際のリファレンスファイルとして、是非お役立てください。


次回のBlackbeltですが、7/31(金)のお昼12時に緊急開催で先日GAしたAmazon Auroraの解説を行います。以下で申し込み可能です。

http://aws.typepad.com/sajp/2015/07/aws-black-belt-tech-webinar-2015-amazon-aurora.html

通常放送は、8/5(水)の18時から、DynamoDBについて解説します。ぜひこちらもお申込みください。

  • 8月5日(水)18時
  • Amazon DynamoDB - 森祐孝
  • セミナー参加登録リンク: https://connect.awswebcasts.com/dynamodb-2015/event/registration.html
  • セミナー内容:
    • DynamoDBは、ストレージ制限、サーバの運用、管理の必要のない完全マネージド型のNoSQLデータベースサービスです。本Webiner ではDynamoDBの基本的な機能やテーブルの設計方法等をご紹介致します。また、この1年の間にリリースされた新機能も紹介しながら、利用上の注意点 や活用事例などもご紹介致します。

継続してご案内しておりますが、AWSのWEBセミナーは現在Adobe Connectという仕組みで配信されています。このAdobe ConnectはPCのブラウザで参加できるだけでなく、モバイルアプリにも対応しています。つまり、どこでもスマホさえあればセミナーに参加できるという事ですね。お手持ちのスマホのアプリストア等で"Adobe Connect"で検索してみてくだい。

Q&Aは以下の通りです。

Q1. AWS CLIですとJMESPATHは一部のサブコマンドでしか使えないのですが、SDK for PowershellのFilterはコマンドレットに関係なく使えるのでしょうか?


A1. AWS CLIでJMESPATHを使用しているのは--queryオプションのみですが、こちらは全てのサブコマンドで使用できます。ご質問で意図されているのは--filtersオプションと思われますので、その前提で回答させて頂きます。
AWS CLIの--filtersも、AWS PowerShellの-FilterもAWSのAPIで用意されているフィルタパラメータを利用しております。

APIによってフィルタパラメータの有無 が異なるため、AWS CLIやAWS PowerShellでも、フィルタオプションが使えるかどうかはサブコマンド・コマンドレットによって異なっております。どのコマンドレットでフィルタ オプションが使えるかは、コマンドレットリファレンスを参照してください。
http://docs.aws.amazon.com/powershell/latest/reference/Index.html

Q2. Lambda実行環境からAWS CLIコマンドを呼び出せるでしょうか?

A2. Lambdaがサポートしている言語は現状Node.js/Javaの2種類です。都度CLIをインストールしNode.js/Javaから外部コマンドを実行することはできますが、Node.js/JavaのAWS SDKを使っていただくことを推奨いたします。

Q3. プロファイルを複数扱う場合、今どのプロファイルを使っているか確認する良い方法はありますか?

A3. プロファイルを複数登録している場合でも、CLI実行時にプロファイル名を指定しない場合、デフォルトプロファイルが利用されます。

 プロファイルを指定するもう一つの方法として、環境変数AWS_DEFAULT_PROFILEを利用する方法もあります。この場合、環境変数および~/.aws/configを参照いただければ プロファイルの内容が確認できます。

 http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-environment

Q4. AWS CLIでJSON形式で出力させた場合と、Get-EC2SecurityGroup | Exportto-JSONで出力が異なるのですか?

A4. Exportto-JSONというコマンドレットは標準では提供されておりません。ConvertTo-JSONについてご回答いたします。ConvertTo-JSONはPowerSehll標準コマンドレットなので、JSONへの出力内容はAWSが発行するものとは異なる場合があります。いただいた例については、ConvertTo-JSONでは、指定したオブジェクトの配下のオブジェクトまではJSONドキュメント化してくれないことが原因です。

 Get-EC2SecurityGroupの結果はAmazon.EC2.Model.SecurityGroupクラスのオブジェクト配列になりますが、具体的なセキュリティグループルールの値はSecurityGroupオブジェクトのIpPermissionsプロパティおよびIpPermissionsEgressプロパティの中に、Amazon.EC2.Model.IpPermissionクラスのオブジェクトとして格納されています。IpPermissions、IpPermissionsEgressは、以下のようなコマン ドレットで出力することができます。  

  PS C:\> $SG = Get-EC2SecurityGroup

  PS C:\> $SG | foreach {$_.GroupId,$_.GroupName,$_.IPPermissions}|ConvertTo-Json #Ingress

  PS C:\> $SG | foreach {$_.GroupId,$_.GroupName,$_.IPPermissionsEgress}|ConvertTo-Json #Egress

Q&Aは以上です。

なお、8月のBlackbeltの開催予定は以下のエントリで紹介しています。8月は「DB月間」としてデータベース関連の解説を行います。こちらもぜひご覧ください。

■8月

http://aws.typepad.com/sajp/2015/07/2015-aug-aws-black-belt-tech-webinar.html

 ==

(代理投稿:下佐粉)

コメント

Twitter, Facebook

このブログの最新情報はTwitterFacebookでもお知らせしています。お気軽にフォローください。

2018年4 月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30