AWS ► Support
AWS CLIを使ってサポートAPIを叩く
AWSAWS CLIAWS Support

AWS サポートはAWS CLIで利用可能できるので、叩いてみた

[f_prg@~] $ aws support describe-cases
Could not connect to the endpoint URL: "https://support.ap-northeast-1.amazonaws.com/"

エンドポイントが、どうやら違う。。。

ドキュメントを見ると、us-east-1のようだ。
リージョンを指定して、再トライ。

[f_prg@~] $ aws support describe-cases --region=us-east-1

A client error (SubscriptionRequiredException) occurred when calling the DescribeCases operation: AWS Premium Support Subscription is required to use this service.

使えないよと返ってくる。

AWS Supoprt APIはプレミアムサポートが必要

とあるけども、そもそもプレミアムサポートって何だろう。
AWSサポートのページを見ると(URLがpremiumsupportってあるし。。。)

  • ベーシック(Basic)
  • 開発者(Developer)
  • ビジネス(Business)
  • エンタープライズ(Enterprise)

の4つがある。全てアカウントはベーシック以上なので、全てアカウントがプレミアムサポートのように一瞬思ってしまった。(笑)
AWS サポートの特徴のところに、きちんと定義されておりました。

pic1.png

で、改めてAWS Support API
のページを見てみると

AWS provides this access for AWS Support customers who have Business and Enterprise-level accounts.

とありました。

AWS Support APIは、ビジネス・エンタープライズのアカウントがアクセスできる

AWS CLIのプロファイル作り、 –language=”ja” を指定して日本語のものを叩いて出力しました。

[f_prg@~] $ aws support describe-cases --region=us-east-1 --profile=XXXXXX --language="ja"|jq ''
{
  "cases": [
    {
      "status": "pending-customer-action",
      "recentCommunications": {
        "communications": [
          {




見せられません。顧客情報が多すぎ。。。

サポートケースが存在している期間は12ヶ月

AWS CLI Supportのドキュメントのdescribe-cases
のstart-time、after-timeのオプションのところに

Case communications are available for 12 months after creation.

とあるので、ケースを作成してから12ヶ月までのようです。

おまけ

絶対 JAWS-UG CLI専門支部では無理なネタ。見せられないもの。
特定の企業とかでないと叩けないAPIだが
アカウントを1ヶ月ビジネスにあげたりすれば、試せるはず。
個人じゃ、まあ無理だろうなぁー。

Hexo
Hexoで"Module version mismatch"のエラーが出た場合の対応
Hexo

Hexoで’Error: Module version mismatch’のエラーが出る

こんな感じです。

[Error: Module version mismatch. Expected 46, got 14.]
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

エラーの対応

GitHubのIssuesによりますと

$ sudo npm install hexo --no-optional

で対応できました。パッケージ依存によるようですね。

Nodejs
npmコマンドチートシート(npm ls)
CommandCheatSheetNodejsnpm

Nodejsのパッケージコマンドについて

Hexoでブログを構築しており、Nodejsのパッケージをよく更新しております。
よくnpmコマンドを使い一覧を確認するんですが、そのときのコマンドをまとめておきます。

npmの一覧を取得する

グローバル

$ npm list -g

ローカル

$ npm list --save

階層でなく一覧で出力をする

グローバル

$ npm ls -g --depth=0
[f_prg@hexo-blog] $ npm ls -g --depth=0
/Users/f_prg/.nvm/versions/node/v4.2.4/lib
├── bower@1.7.2
├── grunt@0.4.5
├── grunt-cli@0.1.13
├── hexo@3.1.1
└── npm@3.5.4

ローカル

$ npm ls --save --depth=0

参考資料・リンク

https://github.com/npm/npm/issues/4733

AWS ► Billing
CloudTrail課金恐るべし
AWSBillingCloudTrail

はじめに

こんにちは。インフラエンジニアレベル1のf_prgです。先々月ぐらいからなんかAWSの料金が上がっていたので、原因の調査方法と対策を紹介いたします。

まずは、現状の料金のチェックをします

Billngのダッシュボードからサマリーを見てみます。

pic1_check_billing.png

2016/01/06で$4.19なので、確かに月末には、$22.72にあがりそうです。

料金の詳細をみてみます。

詳細を確認したところ普段使っているのはS3とRoute53ぐらいで、多くのAWSのサービスを使ってないので、すぐに原因がわかりました。

pic2_check_billing_detail.png

AWS Data Transfer APN1-USW2-AWS-Out-Bytes
がとても高かったです。

Billingからレポートをダウンロードしてみます。

pic3-1_aws_usage_report.png

AWS Data Transfer APN1-USW2-AWS-Out-Bytes
に該当するようなものはS3なので、Amazon Simple Storege Service
を指定しました。

pic3-pic3-2_s3_usage_csv_report.png

Service Operation UsageType Resource StartTime EndTime UsageValue
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2015/12/24 2015/12/25 6,676,475,591
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2015/12/25 2015/12/26 7,339,948,431
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2015/12/26 2015/12/27 6,563,745,606
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2015/12/27 2015/12/28 6,588,483,797
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2015/12/28 2015/12/29 7,242,939,845
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2015/12/29 2015/12/30 6,494,980,200
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2015/12/30 2015/12/31 6,661,957,268
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2015/12/31 2016/1/1 6,517,448,067
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2016/1/1 2016/1/2 6,635,636,418
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2016/1/2 2016/1/3 7,044,241,009
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2016/1/3 2016/1/4 6,186,638,877
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2016/1/4 2016/1/5 6,947,555,379

レポートをみると、桁がおかしいですね。。。
過去分からものすごく上がっておりました。
2015年9月のときより、4倍近く

原因

CloudTrailの結果を保存している
CloudTrail用S3バケット
は東京リージョン(ap-northeast-1, APN1)でした。

USW2でListBucketが実行され、その結果のバイトが大きいため
APN1 —> USW2
の転送が大きくなっているようです。

対策

CloudTrailのログは、ずっと溜めているだけの状態にしてました
CloudTrailが、ListBucketをどう使っているのかは不明なので
とりあえず消すことにしました。

  1. CloudTrailの停止
    全リージョン分やっていたのでとりあえず、停止しました。
  2. ログの削除
    個人用なのでそこまで必要性はないので、ログを削除しました。
  3. 新しいS3バケットに対して、CloudTrailの再開
    使用しているリージョンのみ再開しました。
  4. 新しいS3バケットに、30日後に削除するように設定

結果

結果のレポートを抽出し見てみたら
ListBucket

APN1-USW2-AWS-Out-Bytes
がなくなりました。

Service Operation UsageType Resource StartTime EndTime UsageValue
AmazonS3 ListBucket APN1-DataTransfer-Out-Bytes CloudTrail用S3バケット 2016/1/4 2016/1/5 25850
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2016/1/5 2016/1/6 7166549991
AmazonS3 ListBucket APN1-USW2-AWS-Out-Bytes CloudTrail用S3バケット 2016/1/6 2016/1/7 1738559203
AmazonS3 ListBucket APN1-DataTransfer-Out-Bytes CloudTrail用S3バケット 2016/1/6 2016/1/7 208302819
AmazonS3 ListBucket APN1-DataTransfer-Out-Bytes 新しく用意したCloudTrail用S3バケット 2016/1/6 2016/1/7 1132

まとめ

個人だとログ消すことはすぐにできますが、企業だとではなかなか難しいそうですね。
ちなみにBillingアラートはしてて届いてましたが、見てなかったです。orz

参考資料・リンク

AWSのS3とCloudTrailのドキュメント

hexo
Facebook用イメージをImageMagickで作る方法
Facebookhexoimagemagick

はじめに

こんにちは。インフラエンジニアレベル1のf_prgです。ブログ用に画像を入れてりしてるんですが、サイズがまちまちだったりするので
ImageMagickを使って変換をしたいと思います。

Facebook用のイメージ

https://developers.facebook.com/docs/sharing/best-practices
に記されており、幅1200、高さ630が画像のサイズとして良いようです。

ImageMagickをインストール

[f_prg@blog] $ brew install imagemagick
==> Installing dependencies for imagemagick: libtool, libpng, freetype
==> Installing imagemagick dependency: libtool
==> Downloading https://homebrew.bintray.com/bottles/libtool-2.4.6.yosemite.bott
######################################################################## 100.0%
==> Pouring libtool-2.4.6.yosemite.bottle.tar.gz
==> Caveats
In order to prevent conflicts with Apple's own libtool we have prepended a "g"
so, you have instead: glibtool and glibtoolize.
==> Summary
🍺  /usr/local/Cellar/libtool/2.4.6: 69 files, 3.8M
==> Installing imagemagick dependency: libpng
==> Downloading https://homebrew.bintray.com/bottles/libpng-1.6.16.yosemite.bott
######################################################################## 100.0%
==> Pouring libpng-1.6.16.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/libpng/1.6.16: 17 files, 1.3M
==> Installing imagemagick dependency: freetype
==> Downloading https://homebrew.bintray.com/bottles/freetype-2.5.5.yosemite.bot
######################################################################## 100.0%
==> Pouring freetype-2.5.5.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/freetype/2.5.5: 60 files, 2.6M
==> Installing imagemagick
==> Downloading https://homebrew.bintray.com/bottles/imagemagick-6.9.0-9.yosemit
######################################################################## 100.0%
==> Pouring imagemagick-6.9.0-9.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/imagemagick/6.9.0-9: 1442 files, 22M
[f_prg@blog] $ which convert
/usr/local/bin/convert

Facebook用のイメージの画像生成コマンド

画像を作成する際のコマンドは、下記の2つになります。
サイズは幅1200px、高さ630pxですが
多くの画像でこのコマンドが有効か確認しておらず
オプションについては今後変更する可能性もあるので
今回は紹介を省略させていただきます。

convert Zendesk_logo_on_green_RGB.png -thumbnail 1200x630 -gravity Center -background white -extent 1200x630 thumb_Zendesk_logo_on_green_RGB.jpg
convert -resize 1200x630 -gravity Center -background white -extent 1200x630 Zendesk_logo_on_green_RGB.png thumb_Zendesk_logo_on_green_RGB.jpg

まとめ

これで、サイズの大きい画像とかを統一できそうです。
ツール使ってもよかったのですが、私はMac・Winで使うので
共有のアプリケーションを探すのもなんなので問題なさそうです。

zendesk
zendeskファーストインプレッション
zendesk

はじめに

こんにちは。インフラエンジニアレベル1のf_prgです。業務でzendeskに触れてみたので紹介していきたいと思います。

zendeskとは

https://support.zendesk.com/hc/ja/articles/203921213
zedeskを導入することで、統合的なサポート管理が可能になります。

Zendesk_logo_on_green_RGB.png

なにができるのか?

チャネルと呼ばれるコミュニケーション手段の管理機能

  • メールを送る
  • リクエストの送信
  • 電話
  • チャット
  • Twitterへの投稿(つぶやき送信)
  • Facebookへの投稿(ウォール・タイムライン投稿)

これらは全て機能としてあり、有効・無効を選択できます。
いわゆる窓口となり、メールのみ やもしくは メールと電話 のみのような
対応も可能となります。

チケット管理

チャネル経由で届いたサポートリクエストは、チケットとして扱われます。
Backlog, Redmineのような管理と考えてよいでしょう。

ビュー

チケットを整理する際に使用します。一覧表示のためのフィルタのようなものです。

アカウント管理関連

  • グループ管理
  • ユーザー管理
  • 組織管理
  • ユーザーロール
    • カスタマー……エンドユーザー
    • エージェント……主にチケットの解決を担当
    • 管理者……zendeskのシステム管理者
    • アカウントオーナー……最上位の権限保持者、zendeskのrootアカウント。
    • ライトエージェント……Enterprise版のzendeskで使用できるチケットの閲覧とプライベートコメントの追加のみを許されているエージェント。このタイプのエージェントの利用には料金が発生しません。

トリガ

特定の条件が満たされた時に、発動できるアクションの集まりです。
条件はチケットの作成または更新直後に実行されるものになります。
例えば、チケット作成時に受領のメールを送る事が可能になります。

マクロ

繰り返し寄せられるリクエストには、マクロが有効です。
マクロを使用する定型の回答やよくある質問に対して、回答ができます。
マクロはいちから作成することも、チケットに対する回答を再利用して作成することもできます。

ヘルプセンターの作成

ヘルプセンターを作成することで、サポートポータルを構築できます。

  • Webパブリッシングプラットフォーム
  • コミュニティプラットフォーム

が使用可能です。これにより、

  • カスタマーの自己解決……チケットの負荷軽減につながります。
  • ナレッジベースの蓄積

へつながります。当然、構築しただけでできることはありません。
ヘルプセンターマネージャーのロールが追加されますので、
エージェント以外にも権限を付与し、ユーザーそれぞれで設定することも可能です。

ビジネスルールの作成

こちらはワークフローの作成になります。
例えば「チケットの更新から24時間経過」したチケットに対して 自動化 によりアクションが実行されます。また、トリガも組み合わせることができます。

そのた

こちらは参考程度に載せておきます。
https://support.zendesk.com/hc/ja/articles/203691516

まとめ

ざっと導入部分をみてみましたが、
メリットは、ユーザー管理やタスク管理など、すぐに使用できるということです。
デメリットは、価格ですね。
あと、カスタマーが使ってこそ活きるものなので、自分のイメージ通りになるかどうか
見込めるかどうか難しそうと思いました。

補足、おまけ

今回Redmineとか久々に記述したんですが、前職で レッドメイン ってずっと勘違いしてた人がいたのを思い出しました。さすがにmainと違うぐらいわかるだろうとは思ってましたがずっと直りませんでした。ITの仕事で給料もらってるのに、ツールすら正しく理解できてない現状は残念だった。
さすがにカタカナでメール来た時は失礼ながら笑いをこらえるのに必死だった。指摘すると ブチ切れ されるから放置せざるを得ませんでしたので念のため悪意はありませんよ。www

参考資料・リンク

https://www.zendesk.com/company/brand-assets/