developers.io meetup 01 2013/12/10
TRANSCRIPT
Copyright © CLASSMETHOD. 1
AWS SDK for .NET を利用したExcel による AWS 環境定義書自動生成
クラスメソッド株式会社AWS コンサルティング部
福田寅成
日時: 2013 年 12 月 10 日(火) 18:30-22:15会場: SAP ジャパン(株)
Copyright © CLASSMETHOD. 2
自己紹介
•福田寅成(ふくだ ともなり)@Cronoloves(くろの)北海道出身ソリューションアーキテクト
•AWSオペレーション担当アカウント管理サービス窓口
メンバーズ、 HOOT24等技術サポート /請求問い合わせ窓口
Copyright © CLASSMETHOD. 3
あじぇんだ
•AWS 関連案件の自動化の状況•AWS 環境定義書自動生成ツールデモ•VBA VS Office アドイン•Excel 改造の流れ•これからの予定
Copyright © CLASSMETHOD. 4
本セッション関連ブログ記事
• 【 Excel改造】 AWS環境定義書自動生成【 EC2編】
・ 12/9テスト環境の削除・ 12/11本番環境の ELB暖気申請
Copyright © CLASSMETHOD. 5
AWS環境定義書作ったことありますか?
AWS環境定義書作ったことありますか?
またはネットワーク仕様書
作ったことありますか?
Copyright © CLASSMETHOD. 6
AWS 環境定義書
Copyright © CLASSMETHOD. 7
元となる情報@ AWS Management Console
Copyright © CLASSMETHOD. 8
AWS 関連案件の自動化状況
営業 見積もり 構築 ドキュメント作成テスト
Copyright © CLASSMETHOD. 9
AWS 関連案件の自動化状況
営業 見積もり 構築 ドキュメント作成テスト
流石に自動化は無理(?)
Copyright © CLASSMETHOD. 10
AWS 関連案件の自動化状況
営業 見積もり 構築 ドキュメント作成テスト
・ AWS 利用料金の見積もり・ Simple Monthly Calculatorから見積書 PDF 作成を自動化したい
Copyright © CLASSMETHOD. 11
AWS 関連案件の自動化状況
営業 見積もり 構築 ドキュメント作成テスト
・環境: CloudFormation・中身: Chef 等
Copyright © CLASSMETHOD. 12
AWS 関連案件の自動化状況
営業 見積もり 構築 ドキュメント作成テスト
・ AWS 環境構築のテスト・負荷テスト・その他各種テスト
Copyright © CLASSMETHOD. 13
AWS 関連案件の自動化状況
営業 見積もり 構築 ドキュメント作成テスト
・ AWS 案件でまれに発生 ・大企業案件、金融系案件等・作成コスト高
Copyright © CLASSMETHOD. 14
AWS 環境定義書
•ネットワーク構成図•EC2 の設定一覧•Security Group 一覧•IP アドレス一覧•Apache の設定•監視設定•その他多数
AWS Management Console からダウンロード出来ないかな???
Copyright © CLASSMETHOD. 15
AWS 環境定義書自動生成ツール
作ったった!
Copyright © CLASSMETHOD. 16
AWS 環境定義書自動生成デモ
•Excel のリボンにボタンを追加•ボタンから AWS アクセスロジック呼び出し•デバッグ実行•Excel 上の「仕様書生成」ボタンをクリック•仕様書完成!
Copyright © CLASSMETHOD. 17
VBA VS Office アドイン
•VBAVBA でプログラミングWeb の情報量は多い.NET が使えない通信処理が実装できない(難しい)
Copyright © CLASSMETHOD. 18
VBA VS Office アドイン
•Office アドインC# でプログラミングWeb の情報量はほぼゼロ.NET が使える
AWS SDK for .NET が使える!!!
通信処理が実装できる
Copyright © CLASSMETHOD. 19
Office アドイン
• リボンの改造!• Windows Forms 、 WPF のコントロールを
利用可能!
制限ゼロ
Copyright © CLASSMETHOD. 20
(参考) Office アプリ
•Windows 8/RT から導入された新しいアプリケーション。•HTML5/JavaScript で開発•Office 365 、 Office Store 等向け
Copyright © CLASSMETHOD. 21
(参考) Office ストア
Copyright © CLASSMETHOD. 22
Excel の改造:リボンの作成
WindowsForms/WPF 開発と同様のイメージ
Copyright © CLASSMETHOD. 23
Excel の改造: AWS SDK による情報収集
var ec2Client = new AmazonEC2Client();
var request = new DescribeInstancesRequest();
var response = ec2Client.DescribeInstances(request);
Copyright © CLASSMETHOD. 24
Excel の改造: AWS SDK による情報収集
var reservationList = response.DescribeInstancesResult.Reservation;
var runningInstanceList = new List<RunningInstance>();
foreach (var reservation in reservationList){ runningInstanceList.AddRange( reservation.RunningInstance);}
Reservation : EC2 インスタンスを同時に起動した際に割り当てられるグループ
Copyright © CLASSMETHOD. 25
Excel の改造:シートの準備
var activeWorksheet = (Excel.Worksheet)Globals.ThisAddIn. Application.ActiveSheet;
activeWorksheet.Name = "EC2";
アクティブシートの取得シート名の変更
Copyright © CLASSMETHOD. 26
Excel の改造:シートへの値の描画
string name = (from tag in instance.Tag where tag.Key == "Name“ select tag.Value).ToArray()[0];
var cell = activeWorksheet. get_Range("C4“);cell.Value2 = name;
インスタンス名の表示
Copyright © CLASSMETHOD. 27
Excel の改造:シートへの値の描画
cell = activeWorksheet. get_Range("B5“);cell.Value2 = "Availability Zone";cell.Interior.ColorIndex = 34;
cell = activeWorksheet. get_Range("C5“);cell.Value2 = instance.Placement.AvailabilityZone;
AZ の表示
Copyright © CLASSMETHOD. 28
これからの予定
• Excel 改造ツールの公開インストーラ orz
• AWS Simple Monthly Calculator からの見積書の生成( Excel/Word/PDF )• シンプルな見積もりツールの作成• AWS 環境構成図の自動生成( Visio )• クラスメソッドメンバーズポータル連携ツー
ルAWS 利用料金表の経理提出用資料生成
• Office for Mac 2011 で何かできないか検討Office for Mac の改造は VBA のみ(泣)
Copyright © CLASSMETHOD. 29
おしまい
もうスライドはないよ