プログラマでありたい

おっさんになっても、プログラマでありつづけたい

Amazon Web Services パターン別構築・運用ガイドの改訂第2版が出ました

 2015年3月に出した「Amazon Web Services パターン別構築・運用ガイド」の改訂を行い第2版として新しい本になりました。

Amazon Web Services パターン別構築・運用ガイド 改訂第2版

Amazon Web Services パターン別構築・運用ガイド


 パターン別構築・運用ガイドはAWSの分厚い本という愛称のもと、なかなかの人気を誇ってきました。AWSの基本的なサービスであるEC2, S3, VPCを中心にアカウントの作り方から、SDK,CLIの使い方、EBSとスナップショット、AMIの作り方などを丁寧に説明しています。また、作るだけでなく、運用監視やセキュリティについても、それぞれ章を取って取り扱っています。内容的には、AWSの認定試験であるソリューションエンジニア・アソシエイトの内容をかなりカバーしているのではないでしょうか。
 なお、本書と今年1月に出したAmazon Web Services 業務システム設計・移行ガイドは、扱ってる技術的には似ています。一方で、この本はあくまで個々のエンジニアがどうAWSを使うかがテーマであり、業務システム本は組織を主題に書かれています。その為、章立て・取り扱いサービスは似ているものの、中身は随分と違うものになっています。是非、読み比べてみて下さい

改訂の箇所


 改訂版を出してということなので、改めて読み直しました。出版後、丸3年を迎えようとしていたのですが、EC2,S3,VPCなど基本的な機能を取り扱っている為に、そこまで大きな変更を必要としない内容でした。そこで細かいサービスのアップデートを反映すると共に、前回では機能が無くてサードパーティのツールを使っていた部分についての修正を加えました。例えば、下記のような例です。

継続的な脆弱性診断 ⇒ Amazon Inspector
定期的なジョブ実行 ⇒ CloudWatch Events + Lambda
サーバレスな2Tierアーキテクチャ ⇒ API Gateway + Lambda
WAF機能 ⇒ AWS WAF

 これらを見ていると、足りない機能を足していってAWSのみでサービスが完結できるようになってきているのが解るのでは無いでしょうか。あとは、アクセスキー周りの事故が多いので、プログラムに安全に埋め込む(埋め込まない)方法を指南しています。ここは是非読んで欲しいです。

電子書籍版で買われた方へ


 たぶん前作を電子書籍版で買われた方は、アップデートすることが出来ます。書籍を一意に示すISBNは違うものになっているので、別書籍扱いになるために単純アップデートはできません。ただサポート経由等でアップデートできると思うので、発売後にやり方確認してまた案内しようと思います。

感想


 前作は、5刷で電子書籍を合わせて1万部を大きく超える売れ行きでした。今作も3年間くらい売れ続けてくれればなぁと思います。そして、また3年後に、また機能の差分を振り返れればなぁと思います。

Amazon Web Services パターン別構築・運用ガイド 改訂第2版

Amazon Web Services パターン別構築・運用ガイド 改訂第2版

  • 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西秀和,佐藤瞬
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/03/23
  • メディア: 単行本
  • この商品を含むブログを見る

Amazon Web Services 業務システム設計・移行ガイドの増刷決定しました

2018年1月20日発売のAmazon Web Services 業務システム設計・移行ガイド ですが、発売3週間で増刷決定しました。ありがとうございます!!

本書のターゲット


 本書のターゲットは、企業内でAWSを構築・運用する立場の人、或いはその導入を支援するSIerで働く人を対象に書かれています。レベル的には、初心者ならびに初心者を脱して中級者を目指す人を想定しています。まぁ下のポップの金澤さんの意気込みどおりです。私は、とにかく楽したいしか頭にありません。

f:id:dkfj:20180129194052j:plain

売れ行きの推移


 ネット上でのレビューなどが、まだあまり出ていないので地味です。しかし、なかなか堅調な売れ行きで、Amazonでの売り行き推移も手堅いです。
f:id:dkfj:20180208072620p:plain

 書店巡りしていても、結構手に取ってパラパラめくってくれている人を目にするので、関心が多い分野なのかもしれません。手に取った人は、そのまま買ってくれても良くてですよ。

増刷にあたり


 今回の増刷にあたっては、大きな修正はしません。誤字脱字を修正するくらいです。後は巻末のプロフィールにそれぞれどこの執筆担当だったのかを書こうかなと考えています。Kindle版で購入している方は、最新化できるので是非してみてください。

感想


 著者にとって、増刷ほど嬉しい言葉はありません。何故なら、何もしなくても印税が入るからです。自分達が書いたものが、世の人に必要とされていたということの証左だからです。仕事しながら執筆するのは、なかなか大変なところもありますが、もう少し頑張ります。とりあえず今は、Amazon Web Services パターン別構築・運用ガイド 改訂第2版を書いています。

Amazon Web Services 業務システム設計・移行ガイド (Informatics&IDEA)

Amazon Web Services 業務システム設計・移行ガイド (Informatics&IDEA)

  • 作者: 佐々木拓郎,林晋一郎,瀬戸島敏宏,宮川亮,金澤圭
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/01/20
  • メディア: 単行本
  • この商品を含むブログを見る

iPad Pro + Smart Keyboard + Apple Pencilを 買いました

 執筆用のMacBook Air (Early 2014)のバッテリーがへたってきました。また、元々Retina対応ではないので、原稿の校正の時にPDFを見ようとしても拡大しないと見えないという問題がありました。年末くらいから悩んでいたのですが、iPad Pro(10.5インチ) + Smart Keyboard + Apple Pencilを買いました。

 

f:id:dkfj:20180129235149j:image

 

iPad Proを選んだ理由


 Macbookの買い替えでなく、iPad Proを選んだ理由はApple Pencilの存在です。プライベートの趣味である執筆活動の関係で、PDFになった原稿に赤入れする機会が多いです。現状、Macのプレビューの編集機能を使っているのですが、正直面倒くさいです。これ手書きでやりたいなぁということでiPad Proにしました。

 それ以上に、iPad Proでどこまでパソコンの代替になるか試してみたいという気持ちが強かったのも事実です。 

iPad Proにして良かった点

  Smart Keyboardの使い易さは、予想以上でした。過去、iPhone, iPad用のキーボードを3〜4個くらい買いましたが、まぁソフトウェアキーボードよりましかな程度でした。しかし、iPad Pro用のSmart Keyboardは、パソコンのキーボードとほぼ遜色がないレベルです。タブやコピー&ペーストをキーボード操作で実現できるのは、やっぱり楽です。※価格は、遜色がないレベルではなく、REALFORCE/Happy Hacking Keyboardレベルですが。。。

 Apple Pencilについても、手書き用途としては全く問題ないレベルです。私の汚い字を、ちゃんと再現してくれます。また、細かいタッチを微妙に補正する機能もあるようで、ハードとソフト面でいろいろ工夫しているのだなと垣間見れます。

 

f:id:dkfj:20180129233422p:image

 

 あとは、持ち運びやすさもいいですね。今回の選定基準の一つに、常にカバンに入れていても負荷が小さいというのもいれていました。今のところ、全く気にならないレベルです。

 

iPad Proで困っているところ


 逆にiPad Proで困っている点、つまりはMacbookより使い難い点をあげると沢山あります。入力一つにしても、悩むところは多いです。例えば、全角の空白をどう入れるかとか、行の先頭の英単語を勝手にに大文字にされるとか。それ以上に大きいのが、各アプリ側の対応。例えば、この記事は、はてなブログアプリで書いています。最低限の機能はあるものの、PC版の機能のフルセットではありません。結局、ブラウザの方を利用に切り替えたのですが、それでもスクロールにあわせた右の補助メニューの追付いのように、PCで出来ていることが実現できないことが多々あります。

 これは、Appleの問題というより各社の対応状況の問題です。利用者数から考えると、当面は解決の見込みはないでしょう。

 

これから試したいこと


 いろいろ不便なところがあるというのは、まぁ予想の範疇です。でも折角なので、iPad Proでしか出来ない使い方をいろいろ試してみようかなと思います。もともとMacbookも併用するというのは既定路線なので。Apple Pencilの活用以外としては、例えば音声入力ですかねぇ。

 

感想


 とりあえず半年後の自分への備忘録として書いてみました。1ヶ月、2ヶ月と使っていって、どう変わっていくか乞うご期待!!

一方で、下記については依然として自分の中でも消化できていません。

 

 

 

 

AWSにおけるネットワーク設計の真髄。Amazon Web Services 業務システム設計・移行ガイドにおけるネットワーク章

 早速Amazonで品切れになったAmazon Web Services 業務システム設計・移行ガイド です。個人的に最大の見どころは、4章のネットワーク接続の設計・構築・維持管理ではないかと思っています。

AWSにおけるネットワーク設計


 AWSにおけるネットワークサービスは、VPCを中心にDirect ConnectやRoute53、Internet GatewayやVPN Gateway,Nat Gatewayなど幾つものサービスがあります。ウィザードに沿って設定すると一通りの設定ができるものの、果たしてどのように設定するのがベストな設計なのか、ネットワーク設計の経験がないと難しいものがあります。また、AWSならではというハマりポイントもあるのも事実です。Amazon Web Services 業務システム設計・移行ガイド では、ネットワーク設計に必要な考え方をネットワーク面、AWSの機能面を含めて丁寧に説明しています。

4章のネットワーク接続の設計・構築・維持管理の執筆者


 というのも4章のネットワークに関する部分の執筆者は、NRIにおけるネットワークのスペシャリストである宮川亮さんの手によるものだからです。

パブリッククラウドのネットワーク基盤担当。2012年の東京リージョンへのAWS Direct Connect導入以来、多くのお客様への提案、構築、維持管理に従事。西日本でのリージョン開設やAWS Direct Connect Gatewayの開始によりニーズがさらに高まるのが楽しみ。好きなAWSサービスはもちろんAWS Direct ConnectとAmazon VPC。これからAWS PrivateLinkを好きになる予定。

 Amazonの著者ページにある略歴にあるとおり、2012年のNRIにおけるDirect Connectのサービスの提供以来、ずっとAWSのネットワークに関するサービスの中心にいました。数多くの企業にDirect Connectを提供し、或いはオンプレミスとAWSのネットワーク設計をし続けてきています。AWSのネットワーク設計をした数と規模では、間違いなく日本でも稀有の存在です。
 私も仕事の際には色々助けて貰ったことがあります。今回の執筆でも出来上がった原稿を見て、ネットワークの専門家はこんなことを考えながら設計するものなのだと、随分と勉強になりました。

ネットワーク設計ネタ


この章で取り扱ってるネットワーク設計のネタを幾つかピックアップします

・ダイレクトコネクトか、インターネットVPNか
・セキュリティグループとネットワークACLの使い分けのポイント
・ルーティング設計。BGPによる経路広報も添えて
・名前解決の問題
・インターネットへの出口をどうするか

この中でBGPの話などは、ネット上で情報が少ないので助かります。私もダイレクトコネクトについては、サービスとして提供されてるものを使う方なので、動的な経路設計などにいつも悩みます。その辺りの情報がひとまとめになっているのがありがたいです。

未来を占うコラム


 4章には、3つのコラムがあります。これが特に秀逸で、AWSのサービスに対する考察がなされています。

・「ダイレクトコネクトサービスはどれも同じ」ではない
・Direct Connect Gateway
・VPCエンドポイントの「ゲートウェイ」と「インターフェイス」

 ここは是非、本文読んでみてください。どのコラムも1ページ程度の分量なので、店頭での立ち読みでも直ぐに読めると思います。

まとめ


 身内で褒めるのも何ですが、AWS本でここまでネットワークについて書けている本は少ないと思います。最初の原稿見たときに、少し難しいすぎるかなと思ったものの、まとめて読んでみると全て必要な内容でした。ぜひ手にとって読んで頂きたいものです。

Amazon Web Services 業務システム設計・移行ガイド (Informatics&IDEA)

Amazon Web Services 業務システム設計・移行ガイド (Informatics&IDEA)

  • 作者: 佐々木拓郎,林晋一郎,瀬戸島敏宏,宮川亮,金澤圭
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/01/20
  • メディア: 単行本
  • この商品を含むブログを見る


See also:
Amazon Web Services 業務システム設計・移行ガイドの目次
「Amazon Web Services 業務システム設計・移行ガイド」という本を書きました

Amazon Web Services 業務システム設計・移行ガイドのKindle版でました!!

 本日発売開始のAmazon Web Services 業務システム設計・移行ガイドですが、同時にKindle版も出ました。

Amazon Web Services 業務システム設計・移行ガイド 一番大切な知識と技術が身につく

Amazon Web Services 業務システム設計・移行ガイド 一番大切な知識と技術が身につく

  • 作者: 佐々木拓郎,林晋一郎,瀬戸島敏宏,宮川亮,金澤圭
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/01/20
  • メディア: Kindle版
  • この商品を含むブログを見る

 残念ながら、全ページ画像の「固定レイアウト型」となっています。その為、ピンチイン・ピンチアウトなどの文字拡大や、ハイライトとかは付けられてません。著者としても何とかして欲しいところですが、技術書の市場規模を考えると余りコスト掛けられないという事情も解ります。版組の技術革新で何とかできないものですかね。

Amazon Web Services 業務システム設計・移行ガイドの電子立ち読み版


 税込みで3,456円とそれなりのお値段となっております。興味だけで買ってみるのはお財布に痛いと思います。今回は何故か、電子立ち読み版というのが出ています。最初の1章まるごと読めますので、内容が気になる方は是非読んでみてください。ただ1章については、サービス紹介など一般的な内容を載せざるをえなかったので、本書の特徴が出て来るのは2章以降です。何とか2章も載せてほしかったと思います。

r.binb.jp

Kindle版のメリット


 Kindle版は、かさばらないとか、持ち運びが便利などのメリットがあります。実はそれ以外にもあまり知られていないメリットがあります。本は改訂時に大幅に修正されます。また、増刷時にも細かい修正がされることが多いです。Kindle版であれば、一度購入すると無料で最新版を手に入れることができます。技術書の場合、これが嬉しいです。そんな訳で、私はもっぱら技術書もKindleで購入しています。もちろん紙の読みやすさは、まだまだ捨てがたいものあります。ぜひ、自分のスタイルにあったものをお選びください。


Amazon Web Services 業務システム設計・移行ガイド 一番大切な知識と技術が身につく

Amazon Web Services 業務システム設計・移行ガイド 一番大切な知識と技術が身につく

  • 作者: 佐々木拓郎,林晋一郎,瀬戸島敏宏,宮川亮,金澤圭
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/01/20
  • メディア: Kindle版
  • この商品を含むブログを見る

See also:
Amazon Web Services 業務システム設計・移行ガイドの目次
「Amazon Web Services 業務システム設計・移行ガイド」という本を書きました

複数のAWSアカウント管理を制するものが、AWSを制する

 いよいよ明日発売開始であるAmazon Web Services 業務システム設計・移行ガイドの一貫したテーマが、「企業内でどのようにAWSを使っていくのか」です。企業内でのユースケースを元に、ネットワーク/システム設計や運用管理、移行の話をしています。その中で1章を割いて説明しているのが、AWSアカウントをどのように管理するかです。

複数(マルチ)AWSアカウント管理の重要性


 AWSを利用する上で、AWSアカウントをどのように管理していくかは最重要事項です。AWSアカウント管理というと、一般的には、AWSリソースの認証認可であるIAMを使った運用方法について語られることが多いです。しかし、企業内で利用する際は、それだけでは不十分です。何故なら、企業内では1つのAWSアカウントではなく、複数のAWSアカウントを作成し運用することになるからです。いわゆるマルチアカウント運用です。
 企業内での運用がマルチAWSアカウントとなる理由は、主に管理上のメリットです。現状のIAMの機能では、サービス単位の管理が基本となります。リソース単位の権限管理も可能ですが、安全簡単に設定できるという構造にはなっていません。例えば、EC2のインスタンス管理について考えてみましょう。開発者と運用者というロールがあるとして、開発環境は開発者が管理し、本番環境は運用者が管理するとします。この場合、開発者は本番環境のインスタンスの操作はできないようにしないといけません。現状のIAMの機能では、これを実現するにはIAMの設定中に具体的なりソース名(インスタンスID)を列挙していくしかありません。また、インスタンスの一覧から権限がないものについて見えなくするというようなことも出来ません。
 現実的にはIAMのみでの運用は難しいので、本番環境用のAWSアカウントと開発環境用のAWSアカウントを分離することになります。これがマルチアカウント化の第一歩です。次に組織別のAWSアカウントです。一定以上の規模であれば、複数のサービス・プロジェクトを運用していることでしょう。また企業内の組織構造も、そのミッションに従って本部/部/室などの単位で別れていると思います。ここで、AWSのアカウントを組織横断で運用できるかという問題がでてきます。横串にAWSアカウントを管理するような組織があれば可能かもしれませんが、現実的には余り実現していません。
 結果的に、AWSアカウントは組織ごと環境ごと作成されることになります。つまり1つの企業内にAWSアカウントが10も20もあるというのが当たり前の状況なのです。これを何も考えずに放置していると、それぞれの組織毎に同じようなことに頭を悩ませ、試行錯誤することになります。それを回避するには、最初に下記のようなことを考える必要があります。

・AWSのアカウント管理方法
・AWSアカウントをどの単位で分割するべきか
・IAMの権限付与設計

 こんなようなことを考えていくのがアカウント管理設計ですね。

f:id:dkfj:20180119072331p:plain

AWSのアカウント管理方法 には、AWS Organizations


 現状のAWSの機能でいうとAWSのアカウント管理には、AWS Organizationsを使うことになります。これは名前の通り、組織内で利用するAWSアカウントを管理する為の機能が提供されています。AWS Organizationsを使うことにより、アカウントのグループ化であったり、アカウントで利用できる機能の制限することができます。また、このサービスについては従来の一括決済機能の発展的な部分があり、請求を一つにまとめるということができます。概念図としては、次のような形になっています。

f:id:dkfj:20180119072307p:plain

 このAWS Organizationsについて、どう使っていくのか明確な指針を出せている所は少ないと思います。例えば、サービスコントロールには、ブラックリスト方式とホワイトリスト方式の2種類があります。また、制限をかける範囲をrootからにするか、Organization Unit単位にするかなどの選択肢があります。この辺りについて、Amazon Web Services 業務システム設計・移行ガイドの3章で重点的に解説しています。

マルチアカウント化したものの


 一方でマルチアカウント化したら、それで全て解決かというとそうでは無いのですよね。例えば、ネットワーク接続をどうするかなどの問題があります。2017年末にDirect Connect Gatewayが出て、専用線を使った複数VPCの接続方法が柔軟にできるようになりました。ただし、現状では別アカウントのVPCを接続できません。或いは、AWS Systems Managerという機能がでてEC2やRDSをグルーピング化できるようになりました。これで権限管理も出来ないかなぁとか色々思うところもあります。
 組織が違えば運用形態も違うので、ただひとつの正解というのは無いと思います。その中で、比較的ベスト・プラクティスに近いのを集めて行ければなぁと思っています。ということで、Amazon Web Services 業務システム設計・移行ガイドは明日発売です!!

Amazon Web Services 業務システム設計・移行ガイド

Amazon Web Services 業務システム設計・移行ガイド

  • 作者: NRIネットコム株式会社:佐々木拓郎,林晋一郎,株式会社野村総合研究所:瀬戸島敏宏,宮川亮,金澤圭
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/01/20
  • メディア: 単行本
  • この商品を含むブログを見る

See also:
Amazon Web Services 業務システム設計・移行ガイドの目次
「Amazon Web Services 業務システム設計・移行ガイド」という本を書きました

JAWS-UG さいたま支部で、「サーバーレス化を支える認証認可の話」という話しをしてきました。

 1/13にJWAS-UGさいたま支部第9回で、「サーバーレス化を支える認証認可の話」という話しをしてきました。

サーバーレス化を支える認証認可の話


 API GatewayやCognitoを利用する際にAWSの機能でどんな認証方法があるのか、あるいはアクセス制限ができるのかという話しをまとめています。認可の話しは全くしていないので、ちょっとタイトルを盛りすぎたと反省しています。

speakerdeck.com

この話の背景


 最近、フィンテックだなんだでシステムをAPI経由で利用できるようにして、外部公開したいという話しが増えています。その際に聞かれることが多い事例を挙げています。個人的な印象だと、認証とアクセス制限をごっちゃにしている人が多いのですね。またアクセス制限についての相談も多いです。個人的にはアクセス制限は気休めの場合が多いので、そこから考えるのは悪手だと考えています。一方で、既存のシステムとのセキュリティポリシーとの兼ね合いで、対応せざるを得ないという事情も解ります。ということで、悩む前にこれ読んでもらって、調べる時間が短縮されればと思います。

認可の話


 資料書いているうちに、アクセス制限の方に頭がいって認可の話しを書くのを忘れていました。どこかのタイミングで追記しようと思います。簡潔にまとめると、IAMはユーザーとAWSリソースの認証認可のサービスなので、これを使ってアプリケーションの認証認可に使うのは向いていません。Cognitoのフェデレーション機能使ってトークンの運用を楽にして、アプリケーションの認可は自分で作り込むという形になります。このあたりの話しに需要があれば、ブログ等でまとめたうえで電子書籍化してみたいなと思っています。ベースは2年前くらいに考えていた、この記事になります。
AWSとシステムの認証認可を考える

まとめ


 久しぶりのJAWSUGの登壇でした。準備不足で痛い目にあいましたが、やっぱり楽しいですね。去年サボったので、今年は対外発表を頑張ろうと思っています。お気軽にお声がけください。
 あと最後に宣伝ですが、Amazon Web Services 業務システム設計・移行ガイドが今週発売です。こっちはAWSのアカウント管理とかネットワーク設計、データ移行とオンプレミスと正面から向き合った1冊です。ぜひぜひギャップを楽しんでください。

Amazon Web Services 業務システム設計・移行ガイド (Informatics&IDEA)

Amazon Web Services 業務システム設計・移行ガイド (Informatics&IDEA)

  • 作者: 佐々木拓郎,林晋一郎,瀬戸島敏宏,宮川亮,金澤圭
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/01/20
  • メディア: 単行本
  • この商品を含むブログを見る


See also:
Amazon Web Services 業務システム設計・移行ガイドの目次
「Amazon Web Services 業務システム設計・移行ガイド」という本を書きました