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

だいぶ遅くなりましたが10/2に行われたTerraform meetup tokyo#2に参加してきたので、その参加レポートです。 terraform-jp.connpass.com 当日はTwitterが不調で、実況がままならない時間帯もありましたが面白かったです。当日の様子がトゥギャられてるので…

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

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

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

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

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

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

「Pragmatic Terraform on AWS」のTwitterでの評判まとめ

「Pragmatic Terraform on AWS」のTwitter上の評判をまとめてみました。

『読みやすい技術書を書く技術』という本を技術書典7で頒布します #技術書典

『読みやすい技術書を書く技術』とは 『読みやすい技術書を書く技術』では、「書く」というプロセスにソフトウェア開発の考え方を導入します。 この本では読みやすい文章を執筆するための「環境構築技法」にフォーカスし、継続的に文章を校正する仕組みを整…

『Pragmatic Terraform on AWS』のPR戦略とその実践

4/14に行われた技術書典6向けに『Pragmatic Terraform on AWS』という本を書きました。本記事では執筆自体ではなく、いかにして皆さんに届けるかについて、筆者なりに考えたことをシェアします。 kosmos.booth.pm

細かすぎて伝わらない『Pragmatic Terraform on AWS』を読みやすくする技術 #技術書典

今更ですが技術書典6、おつかれさまでした。ありがたいことに『Pragmatic Terraform on AWS』も物理本200部が完売しました。また、BOOTHでは10日ほどで、電子版を370名以上の方にご購入いただきました。本当にありがとうございます。 kosmos.booth.pm 本記事…

地味にややこしい「Terraform 0.12 Beta 2」の導入手順を解説してみる

事実上の次期メジャーバージョンである「Terraform 0.12」のBeta 2の公開がアナウンスされました。 Announcing Terraform 0.12 Beta 2 本記事では、いち早くTerraform 0.12を体験するための手順を公開します。

『Pragmatic Terraform on AWS』のハマりどころと回避方法 #技術書典

技術書典6で頒布した『Pragmatic Terraform on AWS』ですが、ハマりどころがあるので、理由と回避方法を説明します。 kosmos.booth.pm 5/20追記 2019年5月現在の最新版であるTerraform 0.12.0-rc1以降では不要な手順になります。なにも考えずに terraform in…

技術書典6で頒布される注目のクラウド・インフラ系書籍まとめ #技術書典

技術書典6が近づいて来ましたが、みなさんサークルチェックはお済みでしょうか。公式サイトで探すのは結構大変なので、クラウド・インフラ系の書籍をまとめておきました。 なお、自分でも『Pragmatic Terraform on AWS』という本を頒布するので、Terraformに…

『Pragmatic Terraform on AWS』の無料サンプルの公開と頒布価格のお知らせ #技術書典

技術書典6で頒布予定の『Pragmatic Terraform on AWS』の目次について、以前「HCL2対応『Pragmatic Terraform on AWS』の目次完全版と推しポイント」という記事で告知しましたが、無料サンプルを公開したのでお知らせです。あわせて価格や頒布形式などもお知…

HCL2対応『Pragmatic Terraform on AWS』の目次完全版と推しポイント #技術書典

以前「技術書典6で『Pragmatic Terraform on AWS』という本を出します」という記事を公開しましたが、目次が確定し、本文の執筆もほぼ完了したので、改めて目次の完全版と推しポイントを紹介します。 nekopunch.hatenablog.com

技術書典6で『Pragmatic Terraform on AWS』という本を出します #技術書典

タイトルどおり、TerraformとAWSについて書いた本を出す予定です。いま絶賛執筆中で、ちょこちょこ変わるかもしれませんが、だいたい構成が固まってきたので目次案を公開しておきます。

コマンドラインから雑に、指定したIPアドレスの国情報を取得する

運用しているサーバにDoS攻撃っぽいリクエストが飛んでくることがまれによくある。 同じIPアドレスから多数のリクエストが飛んでくる場合、どこの国のお客さんか把握したいのが人情だ。特に国内向けのサービスを運営してるのに、国外からのトラフィックが大…

「markdownlint」を使ってメンテナブルなMarkdownを目指してみる

markdownlintとは markdownlintは、Markdownファイル用のLinterだ。そして、markdownlint-cliは、markdownlintをCLIで使うためのラッパーである。 たとえば、README.md という下記のMarkdownファイルがあるとしよう。 プログラミング、完全に理解した。 これ…

よく使う「AWS Organizations」のAWS CLIチートシート

アカウント確認 最初にマスターアカウントかどうか確認する。本記事では 999999999999 をマスターアカウントとする。 $ aws sts get-caller-identity { "Account": "999999999999", "UserId": "AIDAIBIY7OM4E3EXAMPLE", "Arn": "arn:aws:iam::999999999999:u…

Docker HubとGitHubを自動連携させる「Automated Build」が楽チンすぎる件

Automated Buildとは Docker Hubの「Automated Build」は、GitHubでの変更を検知して、Dockerイメージのビルドを自動的に行う機能である。 Docker Hubへイメージをpushするのに、ローカル環境やCI環境でいちいちdocker build・docker pushするというルーチン…

コマンドラインから雑に、自分のグローバルIPアドレスを取得する

開発しているときに、自分のマシンのグローバルIPアドレスを知りたくなるときがまれによくある。そんなときは↓を叩く。 curl -s ifconfig.io ifconfig.io は自分のIPアドレスを返してくれるだけのシンプルなWebサービスで、フツーにブラウザからも見れる。 …

「hadolint」にシバかれながら美しいDockerfileを書き上げる

hadolintとは hadolintはDockerfile用のLintツールだ。 たとえば、下記のようなDockerfileを作って、チェックしてみる。 FROM alpine RUN cd /tmp && echo 'hello' すると、次のような警告をしてくれるようになる。 /dev/stdin:1 DL3006 Always tag the vers…

「ECS Fargate」をAWSマネジメントコンソールで構築すると何が起きるか

ECS Fargate Dockerコンテナを管理してくれる君。Fargate起動タイプを選択すると、クラスタのEC2の管理が不要になる。ひゃっほーい。詳細は、公式ドキュメントを参照する。 AWSマネジメントコンソールによる構築 とりあえず、動かしてみるぐらいだったら、ポ…

「ShellCheck」を使って、メンテナンス性の高いシェルスクリプトを実装する

ShellCheckとは ShellCheckは、シェルスクリプトの静的解析ツールで、マズい書き方をしてると怒ってくれるLinterだ。 たとえば、example.sh という下記のシェルスクリプトがあるとしよう。 echo $0 これをShellCheckでチェックすると、こんな警告を出してく…

「cli-highlight」で無味乾燥なターミナル表示をカラフルに

cli-highlightとは cli-highlightはターミナルでもエディタのように、シンタックスハイライトをしてくれるツールだ。 無味乾燥なターミナルがとっても見やすくなる。 Before なんの面白みもない表示。 After とってもカラフルで見やすい!

GitHubのWikiをマークダウン形式で取得する

背景 ときどき、GitHubのリポジトリで、ツールの使い方などがバージョン管理されたファイルではなく、Wikiに書かれていることがある。 ブラウザから参照することも可能だが、このWikiで書かれたテキストをマークダウンで取得したくなるときがまれによくある…

雑にシェルスクリプトのみを一覧取得するコマンド

CLI

ファイル名に拡張子 .sh が付いていれば見つけるのは簡単だが、拡張子なしのファイルも見つけたかったので、試行錯誤をメモ。 最初に結論 $ grep '^#!' -rn . | grep ':1:#!' | cut -d: -f1 | grep -v .git 試行錯誤 shebangで検索 $ grep '^#!' -rl . 行頭…

「VPC Flow Logs」をAWSマネジメントコンソールで設定する

VPC Flow Logs 概要 VPC Flow LogsはVPC内のIPトラフィックをキャプチャして、CloudWatch Logsに保存してくれる機能である。VPC Flow Logsでは、下記の単位でキャプチャすることが可能である。 VPC サブネット ネットワークインターフェイス 本記事では、サ…

ECS初回構築時に自動作成されるIAMロール「AWSServiceRoleForECS」とTerraformでの予期せぬ挙動

AWSServiceRoleForECSとは ECSを作成すると、勝手に作られるIAMロール。Terraformでaws_ecs_clusterリソースを作ったときにも自動作成される。Service-Linked Rolesというヤツの一種らしい。 公式ドキュメントから、AWSServiceRoleForECSについての説明を引…

「ECR」をAWSマネジメントコンソールから作成する

ECR ECR(Elastic Container Registry)とは、AWSのDockerレジストリサービスである。Dockerイメージをプライベートに管理し、IAMによるアクセス制御も可能である。 詳細は公式ドキュメントを参照すること。 ECRでは、Dockerイメージごとに、リポジトリを作…

「NATゲートウェイ」をAWSマネジメントコンソールから構築すると何が起きるか

NATゲートウェイ 概要 NAT Gateway は AWS のフルマネージド NAT(ネットワークアドレス変換)サービスである。自前でNATインスタンスをオモリする必要がないのがウリ。控えめに言えば、最高である。詳細は、公式ドキュメントを参照する。 構築手順 おおまか…

SlackのGitHub連携の手順

通知したいチャンネルで、Slackのスラッシュコマンドを叩いて、通知設定を行う。 Sign in Sign in しておかないと、GitHubと連携できない。最初、コレに気づかずハマった。 /github signin すると、こんなボタンが出てくるのでクリック。 で、接続が完了した…