「Kubernetes on AWS~アプリケーションエンジニア 本番環境へ備える」がk8s初心者に親切すぎる良書だった

そろそろk8sと真剣に向き合わないとまずいなと思うITエンジニアの方は私も含めてたくさんいらっしゃるのではと思います。

そこで手に取ったのが「Kubernetes on AWS~アプリケーションエンジニア 本番環境へ備える」です。

Kubernetes on AWS ~アプリケーションエンジニア 本番環境へ備える

Kubernetes on AWS ~アプリケーションエンジニア 本番環境へ備える

本書を想定読者そのものの自分が読んでみて(手を動かす部分は全て動かしてみて)、かなりの良書でしたので紹介します。

本書の想定読者

・DevOpsを実践するためのインフラ知識習得の一環として、コンテナベースの開発プロセスKubernetesの基本的な使い方を理解したいアプリケーションエンジニアの方
・普段はEC2を中心としたサービスを使っており、コンテナやKubernetesなどに触る機会がないが、近い将来避けて通れない技術のため、しっかり体系だって知識習得したいと考えているAWSエンジニアの方
AWSサービスの概要等に興味のある方

私の場合、2つ目にほぼそのまま合致しますね。

本書の構成・良かった点

本書の構成を大きくまとめると下記のような感じです。

自分としてはこの流れがかなり取り組みやすかったです。

とにかくチュートリアルの部分は親切丁寧で、著者の方が恐らく持っているであろう「脱落者を生まないように本書だけで説明を全て完結させる」という意図を強く感じました。

良かった点はたくさんあるのですが、初心者的に良かった点を挙げてみます。

  • 内容がAWS利用に特化している。それに伴って環境構築がCloudFormationで簡単にできる。ただし環境の解説も後半でしっかりされている。
  • AWSに慣れていればとにかくさっくりすすめられる。ただしAWSを使ったことがない人でもアカウントの作成から書かれているので丁寧に読めば難なく追いつける。
  • サンプルアプリケーションが実際の運用を踏まえたモダンな構成になっていてAWSの「型」を学べる。実務では型を基に理解を深めていくことができそう。

とにかく親切すぎるくらいに親切で、想定読者の期待にしっかり応える内容になっているように思いました。

Kubernetes on AWS ~アプリケーションエンジニア 本番環境へ備える

Kubernetes on AWS ~アプリケーションエンジニア 本番環境へ備える

参考

下記の写真くらいの厚さがある上、いわゆる「写経」的な作業が必要ですので、書見台があった方が良いでしょう。

f:id:finekut:20200602133312j:plain

写真に写っているのは下記の書見台です。

折りたたんで1cmくらいの厚さで保管できるので一台あると便利です。

ちなみに本書購入のきっかけになったのはこちらの書評です。

AnsibleでのCentOS 8の初期設定

finekut.hatenablog.com

こちらで書いたGCP(GCE)のCentOS 8を検証用途で使い始める際に実施している初期設定内容をAnsible化してみました。

個人的な検証用途なので、SELinux・firewalldは一旦止めてしまっています。

事前準備

サーバのローカルからAnsibleを実行するには事前に下記が必要です。

dnf install epel-release
dnf install ansible

ディレクトリ・ファイル構造

必要最低限のファイルのみで構成しています。

centos8-init/
├── hosts
├── roles
│   └── system
│       └── tasks
│           └── main.yml
└── site.yml

詳細

hosts
[centos8-server]
localhost ansible_connection=local
site.yaml
- hosts: centos8-server
  roles:
    - system
main.yml
# パッケージアップデート
- name: dnf upgrade
  yum: name=* state=latest

# パッケージインストール
- name: dnf install
  yum:
    name: "{{packages}}"
  vars:
    packages:
      - langpacks-ja
      - vim

# ロケール事前確認
- name: check locale
  shell: localectl status
  register: check_localectl_result
  check_mode: no
  changed_when: false

# ロケール設定
- name: set locale
  shell: localectl set-locale LANG=ja_JP.utf8
  when: "'LANG=ja_JP.utf8' not in check_localectl_result.stdout"

# タイムゾーン設定
- name: set timezone to Asia/Tokyo
  timezone:
    name: Asia/Tokyo

# SELinux無効化
- name: disable SELinux
  selinux: state=disabled

# firewalld無効化
- name: disable firewalld
  systemd:
    name: firewalld
    state: stopped
    enabled: false

補足

  • ansible-playbook -i hosts site.yml -Dで実行します。
  • 実行後にrebootが必要です。
  • dnfを実行するにはshell等でコマンドをそのまま書く必要があるようなので、dnfではなくyumを実行するようにしています。

qiita.com

参考

Ansible実践ガイド 第3版 (impress top gear)

Ansible実践ガイド 第3版 (impress top gear)

外部IPなしのGCEにMacのターミナルからSSH接続する

GCEの外部IPって有料化されてたんですね。請求書を見ていて気づきました。

f:id:finekut:20200414130009p:plain

300円ちょっとなので有料で使っても良いのですが、外部IPなしのGCEのインスタンスMacのターミナルから直接接続できるようなので試してみました。

外部IPなしのGCEインスタンスの作成

インスタンス作成画面のネットワーキングの項目から外部IP「なし」が選択できます。

以下、Macのターミナルでの操作です。

google-cloud-sdkインストール

$ brew cask install google-cloud-sdk

認証

VALUEにはGCPのプロジェクトIDを入れます。プロジェクトIDはコンソールから確認できます。

$ gcloud auth login
$ gcloud config set project VALUE

接続

ここまできたらgcloud compute ssh instance-1で接続できるのですが、そのまま実行すると新しいsshの公開鍵・秘密鍵の作成まで実行することになってしまいます。

自分で生成した鍵を使いたい場合、--ssh-key-fileというオプションを利用します。

$ ssh-keygen -t rsa
$ gcloud compute ssh instance-1 --ssh-key-file ~/.ssh/keyfilename

注意点

外部IPがないので一時的に外部IPをつけるなりNATを使うなりしないとインターネットへのアウトバウンドの通信もできないので注意が必要です。

ただ、一時的に外部IPをつけるだけなら起動したままコンソール操作で簡単にできます。

参考

qiita.com www.rhoboro.com qiita.com

お金を貯めたい新入社員が知っておいた方が良いこと

春ですねー。新卒の新入社員の入社時期ですねー。

新入社員の皆さん、お金貯めたいですよね?

会社員になると若い皆さんの給料を狙って様々な方が近寄ってきます。そんな誘惑をかわしてお金を貯めるために知っておいた方が良いことをお伝えします

固定費は年会費無料のクレジットカードで支払うこと

光熱費、通信費等の固定費は全てクレジットカードで支払いましょう。固定費の支払いであればクレジットカードを持つことによる浪費増にはなりません。クレジットカードのお勧めはポイントの貯まりやすさと使いやすさのバランスで楽天カードです。ちなみにリボ払いだけは絶対に使ってはいけません。

www.rakuten-card.co.jp

通信費を見直すこと

携帯電話の契約は大手キャリアから格安SIMに移行しましょう。家族割等を気にしていて移行できていなかった人にとっても絶好のタイミングです。今のタイミングで決心すれば数年間に渡って数万円は得します。

この機会に浅い付き合いの人との関係を整理すれば、心も軽くなって一石二鳥です。

勧誘を受けた証券会社の商品は購入しないこと

証券会社の関係者が勧めてくる商品は例外なく手数料が高い商品です。もし投資を始めたいと考えているなら、ネット証券の手数料の安い商品を選ぶべきです。

勧誘を受けた保険には加入しないこと

こちらも保険会社の関係者が勧めてくる商品は保険会社の儲かる、保険会社にとって「おいしい」商品です。高い保険がすぐに必要になることはありません。加入するのであれば掛け捨ての少額の保険で十分な場合がほとんどです。まずは公的保険について知ることも重要です。

その基礎知識の学びのすすめ

その他の基礎知識を学ぶには下記のハンドブックがおすすめです。要点を絞ってよくまとまっています。

www.jafp.or.jp

もっと細かい話を勉強したいという人はこちらの記事が指針としておすすめです。

www.yutorism.jp

こぼれ話

「社会人」という言葉が嫌いなので、いわゆる新社会人のことを新卒の新入社員と表現しました。もちろん会社員にならない選択肢があるということも認識していますが、「社会人」という言葉は大抵会社員に対して理不尽な要求をする場合に使われる単語のような気がします。

AWS 認定ソリューションアーキテクト – アソシエイト受験レポート

はじめに

2月の末にAWS 認定ソリューションアーキテクト – アソシエイトを受験し、合格しました。

リンク先にもある通りこちらの試験は3/23に改訂が予定されていますので、今回の記事はこれから受験する予定の方への参考ではなく、自分が再認定を目指す際の学習量のメモの位置付けで書いています。

試験結果

820点取得しての合格でした。

100〜1000点の間の点数が出るようで、720点が合格ラインです。

AWSに関する経歴

業務でのAWS使用歴は2年弱ほどです。

ここ1年強はWeb関連のELB-EC2のオーソドックスな構成、CloudFront-API Gateway-Lambda/S3のサーバレスな構成等、いくつかのAWSのシステムを作ってきました。


学習内容

受験に備えたインプットは下記書籍のみを使用しました。今まであまり詳しく把握していなかった分野の章はきちんと読み込み、知っている分野の章は流し読み、巻末の模擬試験問題は2回取り組みました。トータルの学習時間は10時間くらいかと思います。

こちらの書籍を選んだ理由はKindle Unlimitedで読めたからです。頻繁に下記のようなキャンペーンもやっているので、タイミングを図れば199円や299円で読めます。キャンペーンを利用すれば、この本だけでなく他の本も色々Kindleで読めるのでおすすめです。

touchlab.jp

他の書籍も立ち読み程度に見ましたが、いずれも業務経験なしで一冊で受かるかと言うと難しいように思います。

受験しての所感

上であげた書籍の模擬試験問題よりはるかに細かい知識が問われます。最初の1、2問を見て相当焦りました。ただ、解いていくうちに確実にわかる問題が出てきたので徐々に冷静さを取り戻せました。

60%くらいの問題は正答の自信あり、20%はおそらく正答、残りの20%は自信なしくらいの感触でしたので、おおよそ感触通りのスコアになったと言えます。

Web関連の業務経験がなかったら間違いなく受からなかったです。逆に言えば日常的に様々な構成のWeb関連のシステムに触れている人であれば無勉強でも何とかなるレベルだとは思います。

業務経験がない人は公式のドキュメントなりを読み込み、オーソドックスな構成のベストプラクティスな設計や要件に対して選択肢になり得る複数のサービスの特徴を押さえていないと厳しそうです。

そこまでたくさんの受験準備をしたわけではないので、普段の業務でベースになる知識を身に付けられていることをある程度確認できたのが一番の収穫でした。

こぼれ話

三井住友カードで20%還元のキャンペーンをやっているので、資格試験の受験前にカードを作るのもおすすめです。今申し込むと年会費が永年無料のようです。

www.smbc-card.com

いまいまのほぼほぼ普通の日本語

先日会社で面識のない同僚から声をかけられまして、その際の一言がこちら。

「いまいまこの席って空いていますか?」

うちの会社はフリーアドレスなので面識のない人から自分の隣の空き状況を聞かれることがあるのですが、「いまいま」って?

まーなんとなくニュアンスはわかるんですが、なぜか「いまいま」って言葉が頭の中でしばらくぐるぐる回っていました。

今の会社にいると「アズイズ」って言葉も良く聞くんですが、入社するまで一度も聞いたことがなかったので未だに耳にすると「何言ってんだこいつ」って一瞬思考が止まります。

自分の会社の中でしか通じない言葉を多用するのは恥ずかしくないですか?自戒を込めて書き残しておきます。

追記

もしかして「ほぼほぼ」って使うのはIT業界の人だけですかね。

qiita.com

GCPのCentOS 8初期設定メモ

GCP(GCE)でCentOS 8を使用する場合の初期設定内容のメモ。

検証用サーバを用意するのにCentOS 8を初めて触ったら初期設定で少し戸惑ったので。

dnf upgrade
dnf install bind-utils
dnf install langpacks-ja

getenforce
vim /etc/selinux/config
reboot

localectl status
localectl list-locales | grep -i jp
localectl set-locale LANG=ja_JP.utf8

systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld

timedatectl
timedatectl set-timezone Asia/Tokyo
chronyc sources

参考

gris-et-blanc.net qiita.com

投資初心者がインデックス投資を始める時に役立った記事と投資の結論

随時更新と言っていた記事を一度も更新せず、2019年は終わりを迎えました。

心機一転、2020年に始めたつみたてNISAに関して書きます。

つみたてNISAってなんぞやという人のことは置いておいて、つみたてNISAを始めるまでの4ヶ月くらいに間に得た情報のうち、本当に役立ったものだけ紹介します。

この記事を書いているのは誰?

2019年9月くらいまでは投資に興味がなかった普通の収入の人。裕福でもなく、貧乏でもないです。

結論

先に自分が得た情報からたどり着いた結論を書きます。

投資を趣味として勉強していく覚悟のない自分は、つみたてNISAで時価総額加重平均を採用したインデックスファンドを少なくとも10年は買い続ける、今後5年間の間に資産価値が50%まで下落することは織り込んでおく、です。

以下、結論に至った情報源

以下の情報源を自分なりに要約して上記の結論に至りました。

以下で紹介する情報をいくら読み込んでもほぼ同じ結論になると思います。もちろん投資は自己責任。本当に以下の記事が信頼できるかは自分で判断してください。


anond.hatelabo.jp

増田の記事。より正確に言えば「正社員になって7万円貯金するぞ」という主旨の記事についた7万円の使い道を紹介するトラックバック

要は楽天証券のつみたてNISA口座を作ってインデックスファンドを買え、残りは金利0.1%の楽天銀行で貯金しろ、という記事です。

初めてこれを読んだ時には何を言っているのかほとんど理解できませんでした。ただとんでもない数のブックマークが集まっていてブコメの議論も読むと何だか投資ってすごく多くの人が意見できるくらいに身近なものなんだなと感じました。

この記事を初めて読んだのは投資を考え始めるはるか前の時期なのですが、次に紹介する山崎元さんの本を見てしまうと、エッセンスはほぼ同じということが理解できます。

このトラックバックを見ただけで投資を始めた人がいたとしたら、その人自体は短絡的すぎるなあとは思いますが、その人も結論に書いた買い方を始めたことなります。

でもその人は評価額が落ちた時に持ち続けられない一定金額で10年は買い続けられないんじゃないかなあとも思います。


投資に関する本としては大ベストラーとも言える領域の本。Kindle Unlimitedで読み放題対象に入っていたので何となく手に取りました。

なんだか上の増田の記事が頭の片隅にあって、気になったのかも。いわゆる「老後2000万円問題」が話題になっていた頃に手に取った気がします。

住宅購入や保険の話、銀行や証券会社のセールスの話もあり、読み物として面白いし、読みやすいです。

投資に関する項で紹介されているのがいわゆるインデックスファンドのNISA。

プロが運用するアクティブファンドの平均がインデックスファンドに勝ったことはほとんどない。
プロが役に立っていないことになるから、運用している会社にとってみたら不都合な話でしょう。しかもインデックスファンドのほうが、手数料が安いから、ますます意味がない。

山崎元さんと言えばインデックスファンドへの投資ですよね(多分)。

とにかく手数料が安いものを選べというのも投資の世界ではよく言われる話のようですが、この本で初めてその重要性も認識しました。


anond.hatelabo.jp

この段階で最初の増田の記事を読み返していて気づいたさらなるトラックバックです。 前の記事で触れられていない資産に関しても触れられていて単純に読み物として面白いです。

「おへんじ」の項目を見るとたいていの人が思い浮かびそうな疑問に対して回答が書かれていて、多くの人の助けになります。


ここまで読んできて何だかこういう話をどこかで読んだことがあると思ったら勝間和代さんの本でした。

2007年の本ですが、たぶん2008年くらいに一度読んだんですよね。当時は何となく流して読んでそれで終わってしまいました。

勝間さんはREITなんかも勧めていますし、この本が書かれた当時はNISAもなかったですが、基本的にこれまでの記事と同じ方針での投資を勧めています。

興味深いのがこの本に対してのとある書評。

note.com

この本に書かれている投資方針を愚直に貫いた場合のシミュレーション結果が書かれています。書評でも言われていますが、「信じるものは救われる」状態。

ここで学ぶべきはインデックス投資の正しさではなく、リーマンショック級の「事故」が起きた場合、資産価値が半分近くまで落ちることがあり得るということ。

どういった出来事が起きた時にどういった値動きをしたかを知らないと、今後同じような出来事が起きた時に精神的に耐えられないし、一番損な売り方をしてしまいそうです。もしかしたら初心者に一番欠けている視点かも。

結論で書いた50%という数字はリーマンショックよりもさらに悲観的な出来事が起きたとしても動揺しないための設定です。


hayatoito.github.io

いよいよ最後です。ここまで出口戦略やいわゆるアセットアロケーションの話があまり出てこなかったですが、ここで出てきます。

趣味の領域を超えてもはや科学に入っていますが、言っていることはシンプルです。

全米か全世界の実績ある株式のインデックスファンドを買っておきなさい、出口戦略やアセットアロケーションは全資産におけるリスク資産の割合で単純に考えなさい、という話です。

99点が取れれば確かに御の字ですよね。出口戦略やアセットアロケーションに関してもやもやしていたのですが、この記事を読んで自分なりのリスク資産の割合に結論が出せたので、投資を始めることにしました。

最後に

投資を始めるなら最低限紹介した記事に関して自分の考えと合っているかどうかくらいは判断できるくらいまで勉強した方が良いですよ。積立で投資をしていると良い時も悪い時もあるはずなので、人に言われたままに投資をしてるといちいち迷って精神をすり減らすことになります。

特に自分が投資した銘柄が、どういった出来事が起きた時にどういった値動きをするかは簡単にでも知っておかないとなかなか継続は辛いんじゃないかなと思います。

それでは良い投資生活をお送りください。

Macでzshを快適に使うためにしたこと(随時更新予定)

タイトルは大げさですが、要はMacの環境構築のメモです。zshに直接関係ない内容も含みます。

zshに興味が湧いてきたので、買ったばかりのMacを片手に書き始めました。

Homebrewのインストール

brew.sh

きちんと公式のインストールコマンドを確認してから実行します。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ログインシェルの変更

Macではデフォルトでzshが使えるので、ログインシェルをzshに変更します。

$ chsh -s /bin/zsh

Preztoのインストール

色々カスタマイズしていきたいのですが、まずはテーマ変更のためにPreztoを使用します。

github.com

README.mdに沿ってgit clone。

git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

続けてこちらも実行。

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

下記のコマンドを使用してお気に入りテーマを探します。

prompt -l # テーマ一覧の表示
prompt -p # テーマのプレビュー

お気に入りのテーマが見つかったら.zpreztorcに下記のような内容を追記します。 今回はsteeefというテーマを使用する例です。

zstyle ':prezto:module:prompt' theme 'steeef'

シェルを再起動するとテーマが反映されます。

今後の予定

  • Preztoの標準ではないテーマの使用
  • iTerm2のインストールと設定

qiita.com

GoPro Hero7を持って京都に行ってきた

YouTuberの方がこぞってレビュー動画を上げているGoPro Hero7ですが、カメラにほとんど興味のなかった私もHyperSmooth(要は強力な手ぶれ補正機能)に惹かれて買ってしまいました。

サンプルの動画はそこら中に上がっているので、静止画でも載せてみます。

そうです、静止画なのでHyperSmoothは全く関係ないです。私と同じど素人の方々に届けってな感じです。 

 

f:id:finekut:20181210210744j:plain

f:id:finekut:20181210210834j:plain

f:id:finekut:20181210210949j:plain

f:id:finekut:20181210211026j:plain

何だか空が広く撮れますよ(しょうもない感想)。

f:id:finekut:20181210211101j:plain

京都に一人で観光旅行に行くとご飯に困るんですよね。

追記:お好み焼きはiPhoneでの撮影でした。

GoPro HERO7 ブラック CHDHX-701-FW

GoPro HERO7 ブラック CHDHX-701-FW