たろログ2

実験的運用により、記事品質が乱高下することがあります。予めご了承ください。

2022-08-05 火災保険の見直し

みんなの部屋保険 G3|SBI日本少額短期保険 株式会社 ~ 賃貸住宅・マンション向け住宅総合保険なら安心・快適のNSSIへ というものから、新型火災共済|大阪府民共済 に乗り換えた。

2年間で 2万円のものが、 2年で 3000円になった。

「みんなの部屋保険 G3」は不動産屋に指定されて加入したもので、見直すとこんなにも変わるのかと驚いた。

もちろん保証内容は同等でなく、家財保険や損害賠償保険の保障額が大阪府民共済の方は低くなっている。また、保証の対象とするシチューエーションも限定的となる。

ただ、正直家財保険は不要であると感じた。

借り主損害賠償保険だけ契約しておきたく、あらゆる保険を確認したわけではないが、大阪府民共済が非常に安価だったため、これにした。

損害賠償保険の額は 500万円である。 1000万円のプランもあったが、お金にそこまで困っているわけでもないし、万が一の時は懐から支払う覚悟でいる。ここは安心よりも支出を減らすことを優先し、リスクをとった。

生活スタイルが変われば見直す必要も生じるかもしれないが、今のところはこれでよかろうと思う。

2022-07-29 Windows と Ubuntu で US配列を使用する際の、英語と日本語の切り替え方法

発生した問題

日本語キーボードで「日本語/英語(直接入力)」を切り替える場合は「半角/全角」を押せば良い。

US 配列になると「半角/全角」キーは使えなくなるので、「Alt+`」を利用する。

しかし、Ubuntu (厳密に言えばその IME である Mozc) のデフォルト設定では「Alt+`」を押しても「日本語/英語(直接入力)」は切り替わらない。

自宅では Ubuntu, 会社では Windows を利用している。

利用する機器によって押すキーを使い分けるというのは混乱を招くため、これをどのように統一するかを考えた

解決方法その1

「space+Shift」を利用して切り替える。

この方法だと、 Windows の場合も、Ubuntu の場合も IME が切り替わる形で「日本語/英語(直接入力)」を切り替えることができる。

特にキーバインドを変更することなく利用できるため、非常に使いやすい方法である。長らくこの方法でキーボード入力を行ってきた。

ただし問題が一点ある。

Windows 端末で IME を切り替えていると、たびたび日本語 IME の入力が「英語(直接入力)」になってしまい、そのたびに「Alt+`」を設定を修正する必要がある。

この問題があったため、このたび次の方法に切り替えた。

解決方法その2

どちらも「Alt+`」で切り替えるようにする。

Windows については特に設定の必要はなく、そのまま利用できる。IME 切り替えは発生しないため前述したような不具合もなく、日本語と英語(直接入力) 間の切り替えもスムーズである。

Ubuntu 側は設定変更が必要となる。

「Keyboard Shortcuts」 の「Switch to next input source」の項目について、「Alt+`」を設定する。

IME 単位で切り替わるが、 UbuntuIME 切り替えは高速なのであまり気にならない。

拡張パッケージのインストールなどなく OS 標準の設定項目を変更するだけで設定できるので、シンプルで気に入っている。

Ref

2022-07-28 RHEL6 の awk は gawk

前書き

man awk と実行すると gawk というコマンドのマニュアルが出てきて驚いたが、 RHEL6 の awkgawk というコマンドのエイリアスとなっていた。

コマンド出力

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.10 (Santiago)
# which awk
/bin/awk
# file /bin/awk
/bin/awk: symbolic link to `gawk'
# file /bin/gawk
/bin/gawk: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
# ls -l /bin/awk
lrwxrwxrwx. 1 root root 4 Jul 14  2015 /bin/awk -> gawk
# which gawk
/bin/gawk
# file /bin/gawk
/bin/gawk: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
# ls -l /bin/gawk
-rwxr-xr-x. 1 root root 375360 Jul  4  2012 /bin/gawk

2022-07-27 Google Cloud Skills Boost 実施

今日の実施内容

Logging, Monitoring and Observability in Google Cloud | Google Cloud Skills Boost for Partners のコースを引き続き実施している。

  • Module 3: Alerting Policies
  • Module 4: Monitoring Critical Systems

なお、ドキュメントを読むのに疲れたので、 以前 Cloud Developer の試験勉強を行ったときにそうしたように、 Lab と Quiz だけを実施することにした。

Compute Logging and Monitoring | Google Cloud Skills Boost for Partners まで実施

Lab

Alerting in Google Cloud | Google Cloud Skills Boost for Partners

APP Engine の latency について SLO のようなものを設定し、それを超えるとアラートが発生、設定に従ってアラートメールが送信されることを確認した。

Service Monitoring | Google Cloud Skills Boost for Partners

SLI の設定を行い、SLI やエラーバジェットの状態に応じたアラーティングの設定を行い、しきい値を超えるとアラートが発報されることを確認した。

Monitoring and Dashboarding Multiple Projects from a Single Workspace | Google Cloud Skills Boost for Partners

また、複数プロジェクトの VMインスタンスのメトリクス情報を、別の監視用プロジェクトから一覧できることを確認した。

Compute Logging and Monitoring | Google Cloud Skills Boost for Partners

Nginx のインスタンスを作成して、 Logging でログを確認した。

Monitering でメトリクスを確認した。後にエージェントをインストールして、より多くのメトリクスを表示できるようになることを確認したりした。

余談

ずっと Google Certified Professional Cloud Security Engineer を見据えて学習を進めていたが、ここにきて Google Certified Professional Cloud Network Engineer に目標を変更することにした。

Cloud Security Engineer の前提として Cloud Network Engineer の知識が必要となるため Cloud Network Engineer の試験範囲を勉強しているが、未だに Cloud Network Engineer の試験範囲を学習しており、終わりが見えない。

Cloud Security Engineer を目指すとそれだけで半期が終わってしまいそうなので、とりあえず今期は Cloud Network Engineer を目指すことにする。

すでに受験の予約は行った。 8月上旬に受験予定。落ちる可能性はかなり高いため、一回目の受験で不合格だった場合は 8月末に再受験する。

9月になって Google Cloud 試験に構っている暇はないため、2回目の受験において同様に不合格となった場合は今期の目標を諦める。 9月以降は、データベーススペシャリストの勉強に注力する。

2022-07-26 Google Cloud Skills Boost の実施

Security Engineer 認定狙いから Network Engineer 認定狙いへ変更

今期の業務目標を「Google Certified Professional Cloud Security Engineer の取得」から「Google Certified Professional Cloud Network Engineer の取得」に変更することにした。

まだ上長には話していない。近々報告する。

Cloud Security Engineer の前提知識として Cloud Network Engineer の知識が必要であり、一か月ほど学習を進めてきたが、未だに Cloud Network Engineer の学習内容の域を出ることができていない。

今期は「データベーススペシャリストの取得」も行わねばならず、こちらにあまり時間をかけすぎるわけにもいかない。そのため、狙う資格を切り替えることにした。

来来週、 8/7 にでもまず第一回目の受験を行う。万全の態勢での受験ではないので、半ば博打である。

合格したらそれでよし。不合格の場合は、 8月の末に再受験を行う。

9月からはデータベーススペシャリスト試験に掛かりきりになる予定で、 Google Cloud の試験に構っている暇はないと思われるので、 8月末二回目の受験に落ちた場合は諦める。

今日実施したこと

Cloud Network Engineer を狙うことにしたため、以下コースを順に実施していくことにした。

Professional Cloud Network Engineer | Google Cloud Skills Boost for Partners

本日は、以下を実施した。

Logging, Monitoring and Observability in Google Cloud | Google Cloud Skills Boost for Partners

  • Module 1: Introduction to Google Cloud Monitoring
  • Module 2: Avoiding Customer Pain

Monitoring Dashboard

Google Cloud で可視化を行うことのできるサービスは様々ある。

このサービスでは、VM インスタンスのリソース使用率などをグラフ表示することができる。

また、 Condition に応じたアラートを定義し、通知を受け取ることができる

Uptime checks test

複数リージョンから HTTP, HTTPS, TCP などによる任意の Uptime Check が行える。

Network Inteligence Center

ネットワーク図のようなものが描画され、 GCP に構築したネットワークの可視化 (Visualization) が行える。

Connectivity Test

インスタンスと疎通ができなくなった際など、ネットワークの疎通に問題が発生した際に様々な観点から疎通確認ができる。

通常こういう場合は様々なところに PING を送信して問題を切り分けるが、これを簡単に行えるようにしたのが Connectivity Test である。

アタッチした External の IPアドレスと疎通はとれるのか、 VPC のエンドポイントと疎通はとれるのかなどなどの疎通確認を行うことができる。

Performance Dashboard

ネットワークの遅延やパケットロスの情報について確認ができる。

アプリケーションの速度低下などがこれに起因する場合、一目でわかる。

Firewall Insight

firewall の設定を可視化できる。

また、その設定が適切かを検証 (Insight) したり、過剰な許可設定を入れている場合は提案を行ったりしてくれる。

VPC Flow Log

  • VPC を通過するパケットについて、ロギングを行うことができる。
  • サブネット単位で有効化する。
  • ロギング処理による速度低下などは発生しない。
  • src_ip, src_port, dest_ip, dest_port, protocol の 5種のフィールドを持つエントリとして、パケットの情報がロギングされる。

Packet Mirroring

Cloud NAT Logging

  • NAT を利用したネットワークを作成したイベント
  • ポートが足りなくなってパケットがドロップされたイベント

この機能を有効化すると、上記のふたつのイベントについてロギングを行う。

ログは Cloud Logging に保存される。 Cloud Logging でもログは閲覧できるが、 BigQuery にエクスポートすることが推奨される。

また、図やグラフを作成したい場合は BigQuery では足りないため、 BigQuery と Data Studio を連携させ、 Data Studio で図やグラフを生成して閲覧することが推奨される。

Monitoring

Google Cloud における監視を担当するサービス。

リソース状況をエージェント (Collector) で取得し、 Dashboard や Alert, Metric Explorer で処理する。

Logging

ログに関する全てに加え、ログに関するアラーティングを担当するプロセス。

Error Reporting

Web アプリケーションで 403, 500 などのステータスコードが返された際など、アプリがクラッシュしたイベントについて報告するサービス。

クラッシュの回数を報告したり、分析したり、集計したりするために用意されている。

Service Monitoring

SLO の監視に特化した監視サービス。

App Engine などを利用するにおいて、リクエストの遅延やエラー発生率など、よく計測される SLI (Service Level Indicators) を収集し、また SLO や Error Bucket を定義してアラーティングも行える。

Debugger

本番アプリケーションにおいてデバッグ処理を動かし、変数のスナップショットを取得したりデバッグ用の出力を吐かせたりできる。

一度、 Cloud Developer 取得の勉強をしていた際に Lab で実際に利用した記憶。

便利な機能だが、悲しいことに廃止予定らしい。

Trace

リクエストにかかった時間の観点から、Tracing を行う。

リクエストにかかった時間のうち、アプリケーションのどの処理にどれくらいの時間がかかっていたのかを Trace する。

Profiler

リクエストが消費したリソースの観点から、 Profiling を行う。

アプリケーションの各処理について、それぞれの処理がどの程度のリソース (CPU 時間、メモリなど) を消費したかを Profiling する。

2022-07-25 Google Cloud Skills Boost 実施

前書き

引き続き Course Resources | Google Cloud Skills Boost for Partners の PDF ファイルを読み進めた。

「Module 2: Networking Pricing and Billing」、「Module 3: Network Design and Deployment」の二つを完了。

かなりネットワークには詳しくなったと思う。本来の目的は「Cloud Security Engineer」だったと思うのだが、前提としてネットワークの学習が勧められているのでこんなことになっている。

Cloud Security Engineer を受験してしまうのもありなんじゃないかと少し考えていたりする。

トラフィック量に対する課金

GCE を例に、基本的な考え方を学んだ。

まず、 Ingressトラフィックは無料。 Egress に課金される。

また、内部IPアドレス同士で行われる同一ゾーン内での通信にも課金されない。

Egress のトラフィックについても、Youtube など Google への通信へは課金されない。

同一リージョン内における、 Google Cloud の別サービス (App Engine など) へのリクエストは課金されない。

同一ゾーン内での通信であっても、外部IPアドレスを利用して行う通信については課金される。

また異なるゾーン間の通信、異なるリージョン間の通信は課金される。当然だが、前者が後者よりも高くなることはないと考えられる (同額になることはありうるだろう)。

Static Address に対する課金

使っていない Static Address に対する課金は最も大きくなる。

GCE インスタンスの他、 CLB に用いられる forwarding rules にも Static Address を割り当てることができる。

Premier Tier と Regional Tier の違い

Premier Tier

  • Global で機能するネットワークであり、 CDN 機能が有効になる
  • Global SLA がある (Global SLA というのが何なのかはわからなかった)

Regional Tier

  • Regional に機能するネットワークである
  • Global SLA がない

VM の設置に関する推奨デザイン

ここから、ネットワーク周りに関するデザインについての説明となった。

まずは、 VM の設置は Availality Zone をまたぐように行おうねという話がされた。

Availavility を重視する場合は、同じサブネット内かつ異なるゾーンに VM インスタンスをデプロイし、耐障害性を高める。

サブネットについて同じものとするのは、 firewall ルールなどの付随する要素を一括管理できるためである。

なお、更なる耐障害性を求めるのであれば、リージョンを分けることになる。この場合、サブネットワークは別となる。

このような構成とする場合は、 LB でリージョン間のルーティングを行うのが楽ちんであるため推奨される。

Shared VPC を用いたネットワークのデザイン例

Shared VPC のホストネットワークをトラフィックのエンドポイントとする。

セキュリティアプライアンスをデプロイした GCE インスタンスを経由させ、子のプロジェクトの VPC にルーティングし、コンテンツを提供する。

これにより、セキュリティスキャンや WAF の機能をホストプロジェクトで提供し、またネットワークやプロジェクトについても分割することができる。

Cloud NAT

外部IPアドレスを割り当てることなく、 GCE のインスタンスがインターネットに接続できるようになる。

なお、適用されるのはアウトバウンド方向のみであるため、外部から GCE のインスタンスに接続することはできない。それを行うためには外部IPアドレスを割り当てる必要がある。

Private Google Access

外部IPアドレスの割り当てなしに、 GCE のインスタンスGoogle API の Public IP アドレスと通信できるようになる。

Teraform

かなりページを割いて、 Teraform について解説が行われていた。

Monitoring

ダッシュボードで CPU の使用状況やトラフィックの状況を可視化することができる。

2022-07-22 英語の母音記号「æ」

図書館で「ITエンジニアのゼロから始める英語勉強法」という書籍を借りてきて読んだ。

その中で、「まず英語の音素」の発音から始めようということが書いてあった。

英語の曲を口ずさんだりするのは得意なので自覚はなかったが、改めて確認すると自分の認識、および発音はいわゆる「カタカナ英語」だった。

「cat」の発音は「キャット」と認識していた。実際は「kǽt」だ。

「æ」の音を認識しておらず、「あ」と認識していた。

前述した書籍によると、とりあえず音素の音を聞いて、自分で真似て発音してみて、実際に自分が発音した音を録音して聞いてみるのが効果的らしい。

書籍内では 英語発音UDA式30音でマスターする英会話 という教材がおすすめされていたが、これは図書館で探すことにした。

休日図書館に行くまでに少しまだ時間があるので、その間に無料で利用できる教材を探した。

[日本語にない6つの英語の母音!《サマー先生の英語発音講座#31》 - YouTube]

この動画が目的に合致しており、また、 Sound Cloud でも音源が公開されていたため、まずはこの音源から始めて見ることにした。

æ - 1 in アメリカ英語の母音 2

繰り返すうちに、自分なりの「æ」の音の出し方のコツのようなものが身についてきた。ちょっと舌を根本から前に出す感じで、少しえづくような気持ちで、「え」の口で「えあ」と発音する。

「えあ」の音は混ぜるように発音しているが、これは文章で説明することは難しい。 CD 音源の音を真似た音に近い。

とりあえず音源を聴いてあまり違和感のないレベルにはなったが、まだ次の「あ」系の音である「ʌ」の音との聞き分けはできない。

いやはや、引き続き。