やーまんぶろぐ

気が向いた時にだけ書くブログ

2017/06/01-02 AWS Summit Tokyo 2017 参加レポート

今さらですが、AWS Summit Tokyo 2017の参加レポートになります。
2日間参加しました。
www.awssummit.tokyo

今年はエンタープライズ向けのセッションが多かった気がします。
資料は大量に公開されています。
aws.amazon.com

エンタープライズクラウドジャーニーの最新動向

  • SofA (Stages of Adoption)
    • クラウド最適化
    • 大規模移行
    • ハイブリッド化
    • 個別プロジェクト

まずはハイブリットを目指したいところ。

  • IT部門が実施すべきこと
    • 全体IT方針の策定
    • 役割分担の整理
    • デジタル・トランスフォーメーションのための環境の整備(DevOps環境、可視化環境、既存システムのインタフェース、セキュリティ)

ITで新しい価値を生み出すためには、IT部門のやることも変わってきそうです。

KDDIクラウド・セキュリティ ~「大企業のクラウド適応」 秘伝のレシピ~

AWSによるシャドーITを抑止するために、セキュリティ管理部門、セキュリティ監査部門、内部統制部門が連携する運用フローになっているのが素晴らしいですね。

AWS におけるマルチアカウント管理の手法とベストプラクティス


おまけ

どのセッションでつぶやいたか忘れました。

2017/03/11 JAWS DAYS 2017 参加レポート

今さらですがJAWS DAYS 2017の参加レポートになります。
jawsdays2017.jaws-ug.jp

[DeepDive] 新訳 とあるアーキテクトのクラウドデザインパターン目録 by JAWS-UGアーキテクチャ専門支部

運用の話を混ぜながらクラウドデザインパターンの紹介というセッションでした。
jawsdays2017.jaws-ug.jp


サービスやるなら運用大事。

Route53でオンプレからプライベートIPを名前解決をしたい場合は、(DX or VPN) + SimpleADを使いましょう。
ただしインターナルなELBのプライベートアドレスだけはインターネットから名前解決できてしまう。。

[DeepDive] AWS SECURITY DEATH \m/ 〜セキュ鮫様からのお告げ〜 by Security-JAWS

Securityのお話。この後何度かSecurity JAWSには参加させていただきました。
jawsdays2017.jaws-ug.jp


re envent 2017でGuardDutyが出ましたね。これはマネージドなIDSと言えるかな。
検知がお手軽になったのは嬉しいですね。


後半はAWS Config ruleのお話でした。

おまけ

この日はお昼ごろにはスマホが電池切れしてしまいました。

2017/02/10 JAWS-UG横浜 #9 - Operational Excellence 参加レポート

今さらですがJAWS-UG横浜 #9 - Operational Excellenceの参加レポートになります。
jawsug-yokohama.connpass.com

AWS Well-Architected Framework に2016年11月新章として「Operational Excellence」が追加されたことで、このようなタイトルになっていると思われます。

AWS Well-Architected Framework とはセキュリティ、信頼性、パフォーマンス効率、コスト最適化、運用性のベストプラクティスをフレームワークとして提供しているものになります。

www.slideshare.net

吉田真吾(セクションナイン)さんの「AWSコンサルの道具箱:クラウドジャーニーからOperational Excellenceまで」

このセッションが一番印象に残りました。

このセッションを聞いてからアーキテクチャレビューをする場合は必ずこのFramework を見ながらレビューしています。

ホワイトペーパーからの質問を抜粋したエクセルも提供されています。
https://s3-ap-northeast-1.amazonaws.com/aws-jp- blackbelt/public/Well-Architected-JA-20170314.xlsx

石橋徹弥(gumi)さんの「AWSエンジニアが、経理部門と仲良くなれるTips」

こちらは経理関連のお話しでした。

一括請求(コンソリ)やっている方は目を通しておきたいですね。
docs.aws.amazon.com

おまけ

マフラーは普通にカバンに入っていました。

AWS Cloud9を使ったLambdaの開発環境を整える(Python3.6)

こないだのre Inventで発表のあったAWS Cloud9。クラウドベースのIDEでLambdaの開発が行えるというものです。

さっそくAWS Cloud9を構築してLambdaの開発環境を整えてみました。

AWS Cloud9構築

構築は簡単でした。以下のリンクの手順に沿っていけば迷うことないと思います。
dev.classmethod.jp

Lambda関数作成

最初のコードはblueprintから簡単に構築できます。welcomeタブの「Create Lambda function」から構築しましょう。

f:id:yamano3201:20171205182037p:plain

ここではPython 3.6のs3-get-object-python3を作成しました。

ローカル実行

トリガーに選択できるのはAPI GatewayのみでS3はありませんでした。

payloadが指定できるので、事前にS3にファイルを配置して直接JSONを指定します。
docs.aws.amazon.com

{  
   "Records":[  
      {  
         "eventVersion":"2.0",
         "eventSource":"aws:s3",
         "awsRegion":"us-east-1",
         "eventTime":"1970-01-01T00:00:00.000Z",
         "eventName":"ObjectCreated:Put",
         "userIdentity":{  
            "principalId":"AIDAJDPLRKLG7UEXAMPLE"
         },
         "requestParameters":{  
            "sourceIPAddress":"127.0.0.1"
         },
         "responseElements":{  
            "x-amz-request-id":"C3D13FE58DE4C810",
            "x-amz-id-2":"FMyUVURIY8/IgAtTv8xRjskZQpcIZ9KG4V5Wp6S7S/JRWeUWerMUE5JgHvANOjpD"
         },
         "s3":{  
            "s3SchemaVersion":"1.0",
            "configurationId":"testConfigRule",
            "bucket":{  
               "name":"XXXXXXXXXXXXXXXXXXXXX",
               "ownerIdentity":{  
                  "principalId":"A3NL1KOZZKExample"
               },
               "arn":"arn:aws:s3:::XXXXXXXXXXXXXXXXXXXXX"
            },
            "object":{  
               "key":"YYYYYYYYYYYYYY.yml",
               "size":1024,
               "eTag":"d41d8cd98f00b204e9800998ecf8427e",
               "versionId":"096fKKXTRTtl3on89fVO.nfljtsv6qko"
            }
         }
      }
   ]
}

Lambda(local)を選択してRunボタンを押してローカル実行します。
f:id:yamano3201:20171205184425p:plain

サードパーティ製のライブラリを使用する

最初からpython3は使用できました。python2であればpipも入っていたのですが、python3には入っていなかったのでまずはpipのインストールから。

bashコマンドプロンプトがあるので環境は好きに構築できました。
docs.aws.amazon.com

インストールするときはLambdaファンクションの作業ディレクトリのローカルにインストールします。
qiita.com

$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
$ cd function_name
$ sudo /usr/bin/pip-3.6 install pyyaml -t .

※よくみたらpip3は最初からあったかも。PATHが通ってなかっただけかも。

デプロイ

Local FunctionsのLambdaファンクションを選択して↑ボタンを押すとデプロイが始まります。
f:id:yamano3201:20171205183907p:plain

Remote functionsに追加されます。(最初からあったかも)

コンソールからLambdaファンクション確認したら中身が更新されてました。

リモート実行

Lambda(remote)を選択してRunボタンを押します。
f:id:yamano3201:20171205184523p:plain

ここで権限まわりの確認ができます。S3のアクセス権がないのでエラーが出ると思います。
Lambdaファンクション作成時に作成されたIAMロールがあるので、それにS3のアクセス権を追加します。

pytestでテスト

$ sudo /usr/bin/pip-3.6 install pytest -t .

pytestをインストールします。pytestでテストを書いておしまいです。

最後に

けっこう良さそう。これでAWS Cloud9で開発する準備が整った気がします。

Googleの理念

Googleの理念の中でも特に好きな2つの理念を大事なのでメモ。英語でなんて言うかすぐに忘れてしまう。。

中身は以下のリンクの引用です。
https://www.rieti.go.jp/jp/events/bbl/12012701.html

Think big but start small

志は大きくとも、とにかく小さいことから始めよう

大きいことを最初から全部成し遂げようとすると、ゴール設定が難しくなったりモラルが下がったりします。Google Booksも元々は創業者が市販のスキャナーで本を1ページごとにスキャンしながらの試みから始まりました。とりあえずできるところから創造の試みを繰り返すことが大事。

Continual innovation, not instant perfection

最初から完璧を極めるのではなく、創造を繰り返し続ける

最初から製品が完璧なものを送り出そうとすると、時間がかかり過ぎ、本来のユーザーにとっての問題などを早く感知することができなくなる。価値が出るものができたら、とりあえずやってみてその仮定で創造を続けていく。

SIMロック解除できないソフトバンク端末で格安SIM(日本通信)に乗り換える方法

SIMロック解除できないソフトバンク端末であるiPhone 6を使っていた私にぴったりの格安SIMが発売されました。

あまり詳しいわけではないですが、私の知る限り公式なソフトバンクMVNOがなかったので嬉しい発表でした。

私はb-mobile S 990ジャストフィットSIMに乗り換える予定なので調べてみました。
www.bmobile.ne.jp

特徴

  • 音声付
    • コミュニケーションは基本LINEだけど、お店に連絡するときは電話するので番号自体は必要ですね。
  • 月額990円から。10GBまで1GB・500円。15GBまで1GB・350円。(初回手数料が別途3000円かかります)
    • 今は月に5G使っているなので、同じ使用量であれば2990円になる計算

手続き

手続きも簡単そうです。
www.bmobile.ne.jp

  • ソフトバンクに電話してMNP予約番号を受け取る
    • *5533にダイヤル (9:00~20:00)。電話でしか受け取れないように見えます。
  • MNP予約番号」「本人確認書類」「クレジットカード」を用意して購入手続きを進める
    • 本人確認は免許証の画像をアップロードします。
  • MNP回線切り替え
    • SIMが届いたらMy b-mobileにログインしてMNP回線切り替えを行います。
    • 手続き後にSIMを切り替えてiPhoneを再起動します。
  • プロファイルのインストールして完了

www.bmobile.ne.jp

補足

契約解除料

2年の更新のタイミングでなければ、契約解除料が9500円かかるとのこと。
契約解除料払ってでも切り替えるほうがお得と判断して払うことにしました。

回線切り替えタイミング

日割り計算にならないらしいので、回線切り替えのタイミングは月末が良さそうです。
乗換元のサービスは、回線切替えが完了するまで使えるようなので、事前にSIMをいただいて月末にMNP回線を切り替えるのが良さそうですね。

Y Mobile

Y Mobileを勧められましたが、公式ではSIMロック解除が必要なので諦めました。

AWS re:Invent 2017 で発表された新サービス

11/27から12/1までラスベガスで開催されていたAWS re:Invent 2017。
reinvent.awsevents.com

基本クラスメソッドさんの記事を追っかけながら情報をキャッチアップしてました。毎度思いますが更新が早すぎです。
dev.classmethod.jp

今年もたくさん新サービスが発表されました。一覧は以下にまとまっています。
dev.classmethod.jp
dev.classmethod.jp

ここでは個人的に気になるサービスだけ抜き出してメモしておきます。

  • Amazon Aurora Multi-Master、Amazon Aurora Serverless、Amazon DynamoDB Global Table
    • DBの可用性向上系のサービス。気になりますね。
  • Amazon DynamoDB Backup and Restore
    • JenkinsとEMRで自前で実装していたところがサービス化されました。さっそく試してみたいですね。
  • Amazon S3 Select、Amazon Glacier Select
    • Athenaとの違いが気になるところ。Glacierは東京対応しているけど、S3は東京対応していないので注意。
  • AWS Systems Manager
    • EC2 Systems Managerの機能拡張ですかね。SSHを使用せず、インスタンスにリモートログインできる機能が気になるところ。踏み台がいらなくなる?
  • Amazon Time Sync Service
    • 地味に嬉しいマネージドなntpサービス。NAT不要でポートも閉じれるので嬉しいですね。USER DATAで設定すればいいのかな?
  • Amazon VPC Inter-Region VPC Peering
    • リージョンをまたいでVPC Peeringできるようになりました。
  • AWS WAF Managed Rules
    • AWS WAFはルールをメンテする敷居が高いと感じていたので、自動化はかなり嬉しいです。これもさっそく試してみたいと思います。
  • Amazon GuardDuty
    • これが今回一番気になっているセキュリティの分析サービス。SOCの代わりになれるかもしれないですね。東京リージョンもサポートされてるのでさっそく試してみたいと思います。
  • Alexa for Business
    • ビジネス向けにも出すんですね。会議室の予約とかめんどくさいし、音声できるようになると楽になるかもしれませんね。
  • AWS Cloud9
    • クラウドベースのIDE。Lambdaのコーディングとかテストが楽になる?これも試してみたいですね。
  • Amazon API Gateway VPC integration
    • バックエンドとしてVPC内のリソースにアクセスできるようになりました。これも嬉しいですね。

いろんなところでキャッチアップのイベントがあるので、いくつか参加する予定です。
来年はぜひ現地に行って参加してみたいですね。