2016年1月20日水曜日

MacでAWSCLIをインストールした

Macのコンソールからインストールは次のコマンドを実行
$ sudo easy_install pip
$ sudo pip install awscli


次のエラーが出てしまいました。理由は不明。
Installing collected packages: six, python-dateutil, docutils, botocore, colorama, awscli
  Found existing installation: six 1.4.1
Detected a distutils installed project ('six') which we cannot uninstall. The metadata provided by distutils does not contain a list of files which have been installed, so pip does not know which files to uninstall.


なので、--ignore-installed six を追記して実行
$ sudo pip install awscli --ignore-installed six
・
・ (略)
・
Installing collected packages: pyasn1, rsa, jmespath, six, python-dateutil, docutils, botocore, colorama, awscli
  Running setup.py install for docutils ... done
  Running setup.py install for colorama ... done
Successfully installed awscli-1.9.21 botocore-1.3.21 colorama-0.3.3 docutils-0.12 jmespath-0.9.0 pyasn1-0.1.9 python-dateutil-1.5 rsa-3.3 six-1.4.1
という感じでインストール完了です。

コマンドラインCSSの追加

コマンドラインっぽい表示のため、下記のCSSを追加してblogger上でコマンドライン記述を見やすくしました。
pre.cl {
    margin: 0px 0px 0px 0px;
    padding: 5px 0px 5px 5px;
    border: 1px solid #7A7A7A;
    background-color: #000000;
    color: #A9A9A9;

    overflow: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
}

CSSの追加はテンプレートデザイナーというのでやります。
テンプレート→カスタマイズ→上級者向け→CSSを追加

2016年1月13日水曜日

Excelの配列数式を使ってAWSのサポート費用を計算する

AWSのサポート費用を計算する


AWSのサポート費用は、AWSの利用料に対してその利用料に応じた料率をかけることで算出します。「どれくらいのAWS利用料でどのくらいのサポート費用になるのか知りたい!」という時にはこの料率を使って計算しますが、この料率は利用料によって段階的に変わるのでそのまま記述すると数式がとても煩雑になります。しかし、配列数式を使うことで比較的見やすい数式になります。
苦戦しつつも学びを得た感じでかなりExcel力が上がった気がします♪
ということで、備忘のためにまとめておきます。

例えば、AWSビジネスサポート料金の説明には次のように記載されています。


これをExcel上で計算したいとすると次のようにB1に利用料を入れるとB2にサポート費用が計算されるようにします。


この時のB2の計算式は次のように書きました。
=(B1<=1000)*100
 +(B1>1000)*B1*B5
 -SUMPRODUCT((B1>A6:A8)*(B1-A6:A8)*(B5:B7-B6:B8))
 
ここでのポイントは次の3点です。
1.全体の費用を10%で計算した後、量が多い際の割引を引く
2.論理式を使う
3.配列数式を使う

上記3点を見ていきます。


1.全体の費用を10%で計算した後、量が多い際の割引を引く

まず、最初に書いたのは次のような表でした。


各レンジ毎の費用を6行目で計算し、B2はその合計を表示しています。
例えばE6の数式は次の様になっています。
=IF($B$1>D$4,IF($B$1>E$4,(E$4-D$4),($B$1-D$4))*E5,0)

なんとなく力技的に書いたのですが、複数パターンを計算したい場合、
6行目をいくつも書かなければいけなくなり、ちょっと辛いなと思いました。

最近ちょっと頭が固くなっている今日このごろですが、ちょっと調べると、ドンピシャなこちらを見つけ、まさに答えはここにある、という感じでした。
http://www.excel.studio-kazu.jp/kw/20070325171314.html

最初はちょっとむずかしいなと思いましたが、ちゃんと読み解くとわかれば理解できました(^_^;

引き算のほうが範囲を考えずに増えた際に割引分を引けば良いだけなので、楽でした。。。


2.論理式を使う

(B1<=1000)*100 のような使い方です。
この場合、B1が1000以下であれば (B1<=1000)の部分は1になります。
逆にB1が1000を超えると0になります。
そのため、(B1<=1000)のような書き方でif関数を使わずに記述できます。

論理式で引き算にすると次のような計算式ができます。
=(B1<=1000)*100  →B1が1000以下なら100
 +(B1>1000)*B1*B5 →B1が1000を超えたら利用料(B1)に料率10%(B5)をかける
 -(B1>A6)*(B1-A6:)*(B5-B6))    →B1が10000を超えたら、超えた分の割引分(B5-B6)を引く
 -(B1>A7)*(B1-A7:)*(B6-B7))    →B1が80000を超えたら、超えた分の割引分(B6-B7)を引く
 -(B1>A8)*(B1-A8:)*(B7-B8))    →B1が250000を超えたら、超えた分の割引分(B7-B8)を引く


3.配列数式を使う

数字を並べて配列数式を使う場合には{1,2,3}のように記述します。
例えば、次のような計算式を考えます。
=sum(2*{1,2,3})
この結果は2に{1,2,3}の部分を順に掛け、掛けた数字を足しあわせ、次のようになります。
2*1+2*2+2*3=12

ということで計算式に数字をそのまま記載すると、B2の計算式は次のように記述できます。

=(B1<=1000)*100
 +(B1>1000)*B1*B5
 -SUM((B1>{10000,80000,250000})*(B1-{10000,80000,250000})*{0.03,0.02,0.02})

これを表の値を参照する形で書き換える場合は、SUM関数をSUMPRODUCTに変更し、次のような記述ができます。
=(B1<=1000)*100
 +(B1>1000)*B1*B5
 -SUMPRODUCT((B1>A6:A8)*(B1-A6:A8)*(B5:B7-B6:B8))

2015年12月24日木曜日

CloudStackと2015年



改めてブログを作成しつつ、最初のエントリーではこの1年のCloudStack関連でのいろいろな活動を振り返ります。

Apache CloudStack Advent Calendar 2015の12月24日のエントリーです。

新年会

今年最初のCloudStack活動は1月16日の新年会から始まりました!
大きな期待とともに一年が始まった感じです。
新年会らしくゆるくもあり、難しい話もありで盛り上がりました!
※盛り上げ担当

オープンソースカンファレンス2015 Tokyo/Spring

OSCへのユーザー会の出展と発表ではドローン飛ばしたりクラウドモンキーが参戦したりとユーザー会らしくわいわいと盛り上がりました!
毎度ですが、明星大学は遠いです。。。
※盛り上げ担当

ACCEL(Apache CloudStack技術者認定試験配信開始

CloudStackの技術者認定試験が6月1日にリリースされました!
現場で活躍するユーザー会メンバー協力の元作り上げた、実践的な試験です。
いろいろと大変でしたがベータ試験受験者の感想もよいものがほとんどで、試験としては良い仕上がりだと思います。
※中の人

CloudStack Days

日本初のクラウド構築OSSの国際カンファレンスとして、Linux Foundation協力の元海外ゲストを多数招きCloudStack Daysを6月2日開催しました!
日本初です!
※盛り上げ担当

July Tech Festa(JTF2015)

7月26日にJTFにてACCELのご紹介をさせていただきました。
短い時間ではありましたが、多くの方に認定試験の概要と例題紹介を行いました!
※喋る人
http://2015.techfesta.jp/p/program.html#cloudstack

第24回CloudStackユーザー会

JTFに続き、8月28日のユーザー会でもACCELのご紹介をさせていただきました。
みなさん、是非受験してください。
※喋る人
https://atnd.org/events/68895

CCCEU

10月CloudStack Collaboration Conference Europeに参加、がしかし。。。
直前に体調を崩し入院したため、泣く泣く断念し、日本から見守ることとなりました。
ダブリン行きたかった(ToT)
※見守る人
http://events.linuxfoundation.org/events/cloudstack-collaboration-conference-europe

Advent Calendar

今年最後はこのAdvent Calendarです!
しばらく(10年くらい)自分のブログも持っていなかったのですが、これを機にと、改めて作成するきっかけになりました。
来年はブログも書いていこうと思ったりしてます。
最後に今日はクリスマスということで、先日行なった、ACCELセミナーの資料をアップロードしましたのでご参考になれば幸いです!
※書く人
http://www.slideshare.net/t_missy5/cloud-stackaccel