『クラウド破産を回避するAWS実践ガイド』を試し読みできるようにしました #技術書典

技術書典 応援祭で頒布している『クラウド破産を回避するAWS実践ガイド』ですが、多くの方に手にとっていただいています。 本当にありがとうございます。

techbookfest.org

またクラメソさんに書評記事を書いていただける幸運にも恵まれ、Twitterでの反応も良好です。

dev.classmethod.jp

ただ技術書典と違って立ち読みできなくてツライという声も聞こえるので、遅まきながら試し読みできるようにしました。 ちょっと中身を確認しないとなんとも…という人はぜひ試し読みしていただけると嬉しいです。

試し読みコーナー

御託はいいから読ませろーというせっかちな方は↓をどうぞ。 本書は6部構成なので、各部から1〜2章ほど面白そうなトコロをピックアップしました。

続きを読む

『クラウド破産を回避するAWS実践ガイド』 を技術書典8で頒布します #技術書典

クラウド破産を回避するAWS実践ガイド』という本を、技術書典8「2日目の3/1」に頒布します。 AWSではアカウントを作成すると、あらゆることができるようになります。 しかし、いきなりクラウドの世界に放り出され、たいしたガイドはありません。 そこで本書ではAWSアカウント作成後に、すべての人が実践すべきプラクティスを体系的に解説し、ハンズオン形式で学びます。

techbookfest.org

概要

クラウド破産」はAWSなどのクラウドサービス利用者が、意図せず高額請求されることを指す俗語です。 AWSから数十万〜数百万円の請求がきた、みたいな記事を見かけたことがある人も多いでしょう。 この手の記事は、我々AWS利用者を震え上がらせるには十分です。

そこで本書ではAWS初級者・中級者向けに、クラウド破産を回避する方法を学びます。 ルートユーザーのパスワード管理からはじまり、CloudTrail・Config・GuardDuty・Access Analyzer・Security Hubなどの主要なセキュリティサービスを解説します。 実運用で使えるように、メールやSlackによるアラート通知の仕組みも構築します。 またgit-secretsやAWS Vaultを導入し、クラウド破産の原因になりやすいアクセスキーを保護します。 最後にAWSの学び方を学び、継続的に知識をアップデートする方法を紹介します。

対象読者

クラウド破産を回避するAWS実践ガイド』は、次のような人にとって特に有益です。

本書は理論より実践を重視しており、さまざまなAWSのサービスをハンズオン形式で学べます。 すべて詳細な手順が記載されているので、本を読みながら手を動かすともっとも学習効果が高いでしょう。

この本で学べること

いまのところ本書は6部構成で32章あります。

第I部「基礎知識」

クラウド破産とAWSに関する基礎知識を学びます。 第I部は本書を読み通すために必要な前提知識を整理します。

第II部「AWSアカウントの保護」

パスワードマネージャーによるパスワード管理やMFAの導入といった基本からスタートします。 続いてIAMや請求管理、AWS Budgetsについて解説します。 この第II部はすべてのAWS利用者が実践すべきプラクティスが登場します。

第III部「ガードレールの構築」

CloudTrail・Config・GuardDuty・Access Analyzer・Security Hubを導入し、問題の予防と速やかな検知を実現します。 見逃されやすいS3ログバケットの設計や、AWS Artifactによる準拠法の変更もあわせて解説します。 第III部ではゲートキーパーからガードレールへシフトするための主要技術が登場します。

第IV部「アラートの通知」

第III部で紹介したセキュリティサービスを導入するだけでは不十分です。 タイムリーに問題を把握するにはアラート通知が必要不可欠です。 そこでSNSを中核に、メールやSlackによるアラート通知の仕組みを実装します。 第IV部ではCloudTrail Insightsやベータ版のChatbotなどの変わり種も登場します。

第V部「セキュアなローカル環境」

クラウド破産でもっとも被害が大きくなるのは、認証情報が漏えいしたときです。 自分でGitHubのパブリックリポジトリに、アクセスキーをコミットしてしまう事故はあとを絶ちません。 そこで第V部では最初にgit-secretsを導入し、この事故を防止します。 次にAWS Vaultによりアクセスキーを暗号化するとともに、AWSマネジメントコンソールへのサインインをアクセスキーで行える環境を構築します。

第VI部「学び方を学ぶ」

AWSは人気も知名度も高く、Web上にもたくさんの情報があふれています。 しかし情報量の多さは、初学者を惑わせます。 そこで第VI部では書籍やWebサイトのオススメを紹介します。 あわせてベストプラクティスを提示し、学習効率を最大化します。

目次

第I部「基礎知識」
1章 クラウド破産
    1.1 クラウド破産の事例
    1.2 クラウド破産の原因
        1.2.1 認証情報の奪取
        1.2.2 異常な兆候の見逃し
        1.2.3 利用者のノウハウ不足
    1.3 クラウド破産の回避戦略
        1.3.1 アカウントの保護
        1.3.2 リスク検知
        1.3.3 正しい知識の習得
2章 AWS
    2.1 責任共有モデル
    2.2 課金モデル
        2.2.1 料金体系
        2.2.2 無料利用枠
    2.3 高額請求の免責をあてにしない

第II部「AWSアカウントの保護」
3章 AWSアカウント保護戦略
    3.1 AWSアカウント保護のポイント
    3.2 ルートユーザーの保護
    3.3 IAMの利用
    3.4 適切な請求管理
    3.5 正確な登録情報の維持
4章 ルートユーザーのパスワード管理
    4.1 パスワード
        4.1.1 パスワードのベストプラクティス
        4.1.2 パスワードマネージャー
        4.1.3 パスワードの自動生成
    4.2 パスワードマネージャーによるパスワード管理
        4.2.1 ルートユーザーによるサインイン
        4.2.2 ルートユーザーのパスワード変更
5章 ルートユーザーのMFAによる保護
    5.1 MFA
        5.1.1 認証要素
        5.1.2 AWSにおけるMFA
    5.2 仮想MFAデバイス
        5.2.1 仮想MFAアプリケーションの導入
        5.2.2 仮想MFAアプリケーションのデータバックアップ
    5.3 ルートユーザーのMFA設定
    5.4 MFAの設定確認
6章 IAMによるアクセス管理
    6.1 IAMとは
        6.1.1 IAMユーザー
        6.1.2 IAMグループ
        6.1.3 IAMポリシー
    6.2 IAMユーザーの作成
    6.3 IAMユーザーのMFAによる保護
    6.4 IAMユーザーによるサインイン
7章 パスワードポリシーの厳格化
    7.1 パスワードポリシーとは
    7.2 パスワードポリシーの設定
        7.2.1 パスワードの長さ
        7.2.2 パスワードの文字種
        7.2.3 パスワード変更許可
        7.2.4 パスワードの再利用禁止
        7.2.5 パスワードの失効無効化
    7.3 セキュリティステータスの確認
    7.4 Trusted Advisorの確認
8章 請求管理の最適化
    8.1 請求管理のポイント
    8.2 IAMユーザーへの請求情報のアクセス許可
    8.3 通貨設定
    8.4 請求情報のメール通知
    8.5 コストエクスプローラー
        8.5.1 コストエクスプローラーの有効化
        8.5.2 コストエクスプローラーの使い方
9章 AWS Budgetsによるコスト管理
    9.1 AWS Budgetsとは
    9.2 AWS Budgetsの設定
    9.3 予算の確認とアラートメール
10章 登録情報の最新化
    10.1 登録情報の用途
    10.2 連絡先情報の最新化
    10.3 代替の連絡先の最新化
    10.4 マーケティングメールの無効化

第III部「ガードレールの構築」
11章 ガードレール構築戦略
    11.1 AWSにおけるガードレール
    11.2 トレーサビリティの向上
    11.3 問題の兆候の発見
    11.4 情報の集約と業界標準への準拠
    11.5 契約と準拠法の理解
12章 CloudTrailによる証跡管理
    12.1 CloudTrailとは
    12.2 CloudTrailの設定
    12.3 CloudWatch Logs連携
        12.3.1 CloudTrailからCloudWatch Logsへの配信
        12.3.2 CloudWatch Logsの保持期間を変更
    12.4 証跡ログの確認
    12.5 CloudTrailの活用方法
13章 AWS Configによる構成管理
    13.1 AWS Configとは
    13.2 AWS Configの設定
    13.3 リソース変更履歴の確認
14章 S3による安全なログ管理
    14.1 S3とは
    14.2 ログバケット設計
    14.3 ブロックパブリックアクセス
    14.4 バージョニング
    14.5 デフォルト暗号化
    14.6 ライフサイクルルール
15章 GuardDutyによる脅威検知
    15.1 GuardDutyとは
    15.2 GuardDutyの設定
    15.3 異常検知の確認と結果サンプルの生成
16章 IAM Access Analyzerによる公開リソースの検出
    16.1 IAM Access Analyzerとは
    16.2 IAM Access Analyzerの設定
    16.3 公開リソースの確認
17章 Security Hubによる集約
    17.1 Security Hubとは
    17.2 Security Hubの設定
    17.3 集約された情報の確認
    17.4 コンプライアンス標準の確認
18章 AWS Artifactによる準拠法の変更
    18.1 AWS Artifactとは
    18.2 AWS Artifactによる契約変更

第IV部「アラートの通知」
19章 アラート通知戦略
    19.1 アラートで大切なたったひとつのこと
    19.2 アラートの実装順序
    19.3 ルートユーザーの操作
    19.4 CIS AWS Foundations Benchmarkの違反
    19.5 集約したセキュリティイベント
    19.6 通常時とは異なるアクティビティ
    19.7 オオカミ少年には要注意
20章 SNSによるメール通知
    20.1 SNSとは
    20.2 SNSトピックの作成
    20.3 サブスクリプションの作成
    20.4 サブスクリプションメールの確認
21章 ルートユーザーのアラート通知
    21.1 アラート通知の設計
    21.2 CloudWatch Logsメトリクスフィルター
    21.3 CloudWatchアラーム
    21.4 アラートメールの確認
22章 CloudFormationによるアラートの一括作成
    22.1 CloudFormationとは
    22.2 CloudFormationで作成するアラート
    22.3 CloudFormationの設定
    22.4 作成されたアラートの確認
    22.5 CloudFormationテンプレートに含まれないアラート
23章 ChatbotによるSecurity Hubのアラート通知
    23.1 Chatbotとは
    23.2 Chatbotによる通知設計
    23.3 Chatbot用のSNSトピック作成
    23.4 Security HubとCloudWatch Eventsとの連携
    23.5 Chatbotの設定
    23.6 セキュリティイベントの通知
24章 CloudTrail Insightsのアラート通知
    24.1 CloudTrail Insightsとは
    24.2 CloudTrail Insightsの通知設計
    24.3 CloudWatch Eventsとの連携
    24.4 異常なアクティビティの通知
    24.5 CloudTrail Insightsのテストは難しい
    24.6 GuardDutyとの違い

第V部「セキュアなローカル環境」
25章 AWS CLIによるオペレーション
    25.1 AWS CLIとは
    25.2 アクセスキー
        25.2.1 アクセスキーとは
        25.2.2 アクセスキーの払い出し
    25.3 AWS CLIのセットアップ
        25.3.1 AWS CLIのインストール
        25.3.2 AWS CLIの設定
        25.3.3 AWS CLIの設定ファイル
        25.3.4 AWS CLIのプロファイル
26章 git-secretsによる秘匿情報のコミット抑制
    26.1 git-secretsとは
    26.2 git-secretsのインストール
    26.3 既存リポジトリの設定
    26.4 git-secretsの使い方
    26.5 履歴のスキャン
27章 AWS Vaultによるアクセスキーの安全な管理
    27.1 AWS Vaultとは
    27.2 AWS Vaultのインストール
    27.3 AWS Vaultの設定
    27.4 AWS Vaultの使い方
        27.4.1 aws-vault exec
        27.4.2 aws-vault list
        27.4.3 aws-vault remove
        27.4.4 aws-vault login
        27.4.5 aws-vault rotate
        27.4.6 aws-vault --help-long
    27.5 Keychainのパスワード確認頻度の低減
        27.5.1 Keychain locked
        27.5.2 Application access to a specific keychain
28章 パスワードレスサインイン環境の構築
    28.1 パスワードレスサインイン環境の設計
    28.2 IAMロール
        28.2.1 IAMロールの作成
        28.2.2 AssumeRole
        28.2.3 プロファイルの設定
        28.2.4 サインインの確認
    28.3 IAMユーザーの権限最小化
        28.3.1 PasswordLessAccessポリシーの作成
        28.3.2 PasswordLessグループの作成
        28.3.3 IAMユーザーのグループ設定変更
        28.3.4 パスワードの無効化
        28.3.5 アクセスキーのローテーション

第VI部「学び方を学ぶ」
29章 書籍から学ぶ
    29.1 初学者向け書籍
        29.1.1 Amazon Web Services 基礎からのネットワーク&サーバー構築
        29.1.2 Amazon Web Services パターン別構築・運用ガイド
    29.2 中級者向け書籍
        29.2.1 AWS IAMのマニアックな話
        29.2.2 実践Terraform
        29.2.3 Amazon Web Services 業務システム設計・移行ガイド
    29.3 汎用的な知識を学べる書籍
        29.3.1 絵で見てわかるITインフラの仕組み
        29.3.2 入門 監視
        29.3.3 クラウドネイティブアーキテクチャ
30章 Webから学ぶ
    30.1 公式ガイド
    30.2 公式FAQ
    30.3 APIリファレンス
    30.4 公式ブログ
    30.5 クラスメソッド社ブログ「Developers.IO」
31章 ベストプラクティスを学ぶ
    31.1 AWS Well-Architected Framework
        31.1.1 クラウド設計原則
        31.1.2 5つの柱
    31.2 IAMベストプラクティス
        31.2.1 実施済みの項目
        31.2.2 一般的なセキュリティ項目
        31.2.3 AWS固有のセキュリティ項目
32章 AWSサポートを上手に活用する
    32.1 サポートプラン
    32.2 技術的な質問の心得
    32.3 AWSアカウントの侵害が疑われる場合
付録 巨人の肩の上に乗る

書いてる人

アプリケーションアーキテクチャ設計とドメイン駆動設計が得意なSREです。 著書は3冊あり、累計で3,500部以上の頒布実績があります。(購入してくださった方、ありがとうございます!

本のクオリティの参考に、昔書いたQiitaの記事のリンクも貼っておきます。 最低でもこれ以上のクオリティにはなるので、参考にしていただければ幸いです。

頒布情報

クラウド破産を回避するAWS実践ガイド』は、3/1に「Day2き20」にて頒布します。

f:id:tmknom:20200202223408j:plain

また技術書典8は2/29と3/1の2日間開催です。

  • 日程
    • 1日目 2020/02/29 (土) 11:00〜17:00
    • 2日目 2020/03/01 (日) 11:00〜17:00
  • 場所
  • 料金
    • 一般入場は11:00~13:00の間、有料です(詳細は後日発表とのこと)
    • それ以降は無料で入場できます

techbookfest.org

おわりに

頒布部数の参考にしたいので、買いに行こうかなって思った人はぜひチェックリストに追加していただけると嬉しいです。 それでは、当日お会いできることを楽しみにしています!

techbookfest.org

技術同人誌の執筆がはじめてな人向けオススメ情報源 #技術書典 #技書博

技術書典8のサークル募集がまもなく締め切られますが、みなさま申し込まれたでしょうか。

技術書典のような技術同人誌のイベントでは、当日に向けた準備がたくさんあります。 初参加だとなにをやったらいいか分からないですよね。 そんなわけで、世の中にある書籍やブログの記事を勝手にピックアップして紹介します。

全体像の把握

なんといっても最初は全体像からつかみにいくと効率が良いです。 最初に読むとよいのが、技術同人誌のノウハウを網羅した「技術同人誌を書こう! アウトプットのススメ」です。

ざっくり言えば、次のような事柄が網羅されています。

  • 執筆方法
  • 表紙の作り方
  • PDF作成の注意点
  • 印刷所で考慮すべきこと
  • 設営とマストアイテム
  • 開催中のあれこれ

多くの人は本の執筆自体がはじめてだと思いますが、実は執筆以外にもやることがたくさんあります。 どんなことをやらないといけないか知っておくと、安心して準備ができます。

また参加者の体験記も役立ちます。

note.com

jumpei-ikegami.hatenablog.com

執筆ツール

執筆を支援してくれるツールはいろいろありますが、オススメはRe:VIEWです。 PDFだけでなくEPUBも生成でき、紙の本と電子書籍を両方作れます。 Re:VIEW特有の記法を少し覚える必要がありますが、Markdownが扱える人ならすぐに習得できます。 参考図書としては「技術書をかこう! ~はじめてのRe:VIEW~」がオススメです。

techbooster.booth.pm

またRe:VIEWでは有志により、技術同人誌に特化したテンプレートがいくつか公開されています。 印刷時のトラップを回避するための設定が最初から仕込まれており、執筆に集中できるので非常にオススメです。

github.com

kauplan.org

推敲

推敲については山ほど書籍が出版されていますが、技術書典参加者で評価が高いのは数学文章作法 推敲編です。 推敲を扱っているだけあって、大変読みやすいのでオススメです。

また手前味噌ではありますが、拙著「読みやすい技術書を書く技術」では、CircleCIによる校正環境の構築方法を解説しています。 一度環境構築すると、よくある問題が発生しなくなって、ニンゲンが実施する推敲作業が楽になります。 導入タイミングが早ければ早いほど効果が高いので、ぜひチャレンジしてみてください。

kosmos.booth.pm

紹介記事も書いているので、ぜひご覧ください。

nekopunch.hatenablog.com

表紙

本の表紙については、「誰かに依頼するか」「自分で作るか」で大きく分岐します。 デザイナーさんやイラストレーターさんが関わってくれるとやはり表紙のクオリティは上がります。 カッコいい表紙にしたい人は、当落通知が発表されたあと、依頼に向けてすぐに動き出すべきです。

一方、筆者のようなボッチ勢は自分で作ることになります。 イラレもフォトショも使えないなら、プレゼンテーションツールで作りましょう。 macOSならKeynoteで作れます。 ちなみに筆者も過去二回、Keynoteで切り抜けました。 自作勢は下記のQiitaの記事が参考になります。

qiita.com

なお表紙でオライリーなどのオマージュにしようと考えている人は、下記も読みましょう。

speakerdeck.com

印刷所

技術書典や技書博のようなイベントでは、バックアップ印刷所というところがあります。 たとえば技術書典では、次の2つの印刷所がバックアップ印刷所に指定されています。

www.nikko-pc.com

www.shippo.co.jp

印刷所の利用がはじめての場合は、絶対にバックアップ印刷所を使うべきです。 当日机の下まで運んでもらえるうえ、サポートも手厚いです。

なおWebからも入稿できますが、はじめての場合はお店まで出向いて直接入稿するのがオススメです。 入稿はだいたいトラブルが発生します。 そんなときに対面でサポートしてもらえると安心感が違います。

blog.vtryo.me

ダウンロードカード

Re:VIEWで原稿を書いている場合、EPUBタブレットに最適化されたPDFも作成できます。 そこでぜひ紙の本だけでなく、電子書籍も用意しましょう。

技術同人誌の場合は、BOOTHというサービスにパスワード付きzipをアップロードして、 パスワードを記載したダウンロードカードを頒布する人が多いです。 趣味で同人誌を書く人にとっては手軽な手段といえます。

denno-sekai.com

マストアイテム

イベント当日は本以外にも、色々と必要になります。 値札やブックカバーなどの細かいアイテムの多くはダイソーで入手できます。

note.com

また当日は机の上にテーブルクロスなどを敷くのが一般的ですが、なんと同人誌即売会に特化したモノが売られています。

anonuno.shop-pro.jp

ポケットが付いていて非常に便利なので、ぜひ購入を検討しましょう。 ちなみにイベント直前だと買えない場合があるので、欲しい人は早めにゲットすることをオススメします。

設営

イベント当日は短時間で設営を行わなければいけません。 そのため、はじめての場合はリハーサルをしておきましょう。 設営を具体的にどうやるかは、下記が参考になります。

a093.jp

またTwitterで「設営完了 #技術書典」などと画像検索すると、いろいろな人の設営風景が見れるので参考にしましょう。

イベント当日

イベント当日に気をつけるべきことは「技術書典売り子マニュアル」にまとまっています。 隣のブースにはみ出している人がいたらはみ出ないよう誘導するなど、参加者みんなが気持ちよく過ごすためのポイントが書かれており、初参加の人は必見です。

またイベント当日の売り子は、必ず誰かにお願いしましょう。 ワンオペはトイレに行けない、ご飯も食べれない、休憩もできないみたいなキツい状態になります。

どうしたらいいかわかりません!

先人たちのおかげで多くの情報が入手可能ですが、それでも途方に暮れることがあるでしょう。 そんなときはTwitterで助けを求めましょう。 特に技術書典は参加者が多く初参加者に親切なので、助けてもらえる可能性が高いです。 ツイートするときは「#技術書典」というハッシュタグをつけると、発見される可能性が上がります。

また技術書典の場合、イベント主催者自らが勉強会や執筆会を開いています。 こういう場所に顔を出して、疑問をぶつけてみても良いでしょう。

techbookfest.connpass.com

おわりに

技術同人誌についてはたくさんの人が知見を公開しているので、積極的に活用しましょう。 また、この書籍・記事もいいぞ!というものがあればぜひ情報提供いただければ幸いです。

Terraform meetup tokyo#2 参加レポート兼感想のようなもの #terraformjp

だいぶ遅くなりましたが10/2に行われたTerraform meetup tokyo#2に参加してきたので、その参加レポートです。

terraform-jp.connpass.com

当日はTwitterが不調で、実況がままならない時間帯もありましたが面白かったです。当日の様子がトゥギャられてるので、こちらもどうぞ。

togetter.com

続きを読む

出ない神本より出るクソ本 〜『読みやすい技術書を書く技術』の第1章と頒布情報〜 #技術書典

読みやすい技術書を書く技術』は、読みやすい文章を書くための「校正環境」を構築する本です。この本では、CircleCIを使って継続的に文章を校正する仕組みを整えます。技術書のような長い文章を書く人には、特に有益です。技術書典7で頒布予定なので、ぜひチェックいただければ幸いです。

techbookfest.org

CIで校正チェックすることに興味はあるけど、そこまで手が回らないんだよな〜と思っている人いませんか。この本はあなたのために書きました。この本を読めば誰でも、CircleCIで最高の校正環境が構築できます。

この本を読むことで学べること

読みやすい技術書を書く技術』では、次のようなことを習得できます。

特に技術書典で本を出すような人には、役立つ技術ばかりです。すべて動作するサンプルコードがつくため、写経するだけでもすぐに役立ちます。 さて本記事では、「読みやすい技術書を書く技術」の第1章をまるまる公開します。第1章はツールの話ではなく考え方を説明しています。それではどうぞ!

続きを読む

『実践Terraform』刊行のお知らせと技術書典7での頒布について #技術書典 #Terraform

実践Terraform』を、9/20より発売開始します!Amazonなどから購入可能で、本日より予約できます。紙で買う場合は2,400円(税別)、電子書籍だと2,200円(税別) です。本の正式タイトルは『実践Terraform AWSにおけるシステム設計とベストプラクティス』で、インプレスR&Dさんより刊行します。

また、9/22の技術書典7でも頒布します。イベントに参加しないと買えないですが、ココで買うのが一番オトクになります。

実践Terraformとは

『実践Terraform』は、Terraform初級者から中級者向けの解説書です。 技術書典6とBOOTHで累計1,600部以上を販売した「Pragmatic Terraform on AWS」という同人誌をベースに、100ページ近く加筆して商業誌化しました。

nekopunch.hatenablog.com

続きを読む

「Pragmatic Terraform on AWS」あらため『実践Terraform』を商業出版します #技術書典 #Terraform

概要

実践Terraform』は、Terraform初級者から中級者向けの解説書です。 技術書典6とBOOTHで累計1,500部以上を販売した「Pragmatic Terraform on AWS」という同人誌をベースにしています。

もともと140ページの同人誌でしたが、商業誌化にあたり100ページ近く追記しています。 特に後半は大半が書き下ろしで、「中長期の運用」や「変更しやすいシステムにするための設計」に関する知見をたくさん詰め込みました。

続きを読む