tanke25616429のアウトプット

IT技術の基本を勉強したことをアウトプットします。Linux、Kubernetes、クラウド中心です。百番煎じくらいだけど誰かの役に立てばそれはそれでうれしい。

2020-01-01から1年間の記事一覧

sar

sarとは sar(System Admin Reporter)とはLinux上でのリソース情報を取得するツール(コマンド)で、sysstatパッケージの一部に含まれている。CPU、メモリ、ディスク、ネットワークに関する情報が取得できる。取得対象は実行時のオプションを指定することで…

udev

udevとは udevとは、Linuxカーネル用のデバイス管理ツールのこと。 udev udevはデバイスファイルを動的に管理するための仕組みで、ハードウェアがシステムに接続された際に対応するデバイスファイルを作成する役割を持つ。udevdというデーモンプログラムとし…

ストレージ

ストレージとは データを蓄積する入れ物のこと。具体的には文脈に応じて取る意味が異なる。IT*1の文脈に限っても以下の使い方がある。 コンピュータ内の記憶装置(HDDやSDD等の補助記憶装置や、USBメモリ等の外部記憶装置) ストレージサーバのこと ITシステ…

記憶領域ごとのレイテンシの目安

背景 以前の記事(コンピュータにおける記憶領域 - Knのアウトプット)で、コンピュータでの各記憶領域の入出力の速さを比較した。実際のスケール感をイメージしておくためメモする。 レイテンシのスケール感比較 レイテンシの目安を示したサイトがあったの…

vmstat

はじめに Linuxの性能指標を確認するコマンドのうちvmstatについてまとめる。 vmstatとは 仮想メモリやCPU、ディスクI/Oの統計情報を表示するコマンド。システム*1全体に関する統計情報を表示するため、CPUごとやプロセスごとの情報を取得する場合は別のコマ…

Go の関数とメソッドの書き方の違い

関数とメソッド 関数もメソッドも、引数を与えるとそれに基づいた計算結果を返却する。プログラム内で何度も登場する処理を共通化して再利用可能なものにしている。ただし、メソッドはオブジェクト指向において使われる言葉である。オブジェクト指向は、関連…

TensorFlow

TensorFlowとは Googleが開発しオープンソースで公開している、機械学習に用いるためのソフトウェアライブラリ。 Big Queryとの連携 Big Queryとの連携も可能らしい。 BigQuery MLでTensorFlowのモデルを呼び出す - Qiita 参考にしたもの TensorFlow - Wikip…

スワップインとスワップアウト

# 動機 スワップインとスワップアウトがどちらがどちらか混乱するのでメモする。 スワップアウトとは 物理メモリが不足した場合に、メモリ上の利用されていないデータを外部ディスクに退避すること。スワップにアウトと覚える。 スワップインとは 外部ディス…

CPU使用率とは

CPU使用率とは 文脈に応じて2つの意味がある。 コンピュータで実行中のあるプログラムがCPUの処理時間を占有している割合。 全プログラムに関するその総和 後者の2. の意味において、使用率が0%なら何も実行されておらず、100%ならCPUが休みなくフル稼働して…

AWS上で利用できるRDB

Amazon RDS Amazonが提供するフルマネージドのRDBMS(Relational Data Base Management System)のサービス。 Amazon Auroraとは Amazonが提供するMySQL および PostgreSQL と互換性のあるクラウド向けのリレーショナルデータベース。Amazon RDSのデータベー…

Big Query

Big Queryとは Google が提供するペタバイト規模のデータ ウェアハウスとデータ解析ツール*1。Google Cloud Storage等からBig Queryにデータをインポートするだけで分析を始められることがメリット。利用者はSQLさえ使えればよい。 データウェアハウスとは …

マネージドサービスとフルマネージドサービスの違い

マネージドサービス 本来のサービスに付随する作業を、サービス事業者が請け負ってくれるサービス。 例) 本来のサービス:サーバホスティングサービス、付随する作業:サーバ設定、運用監視等 → 後者のサーバの利用に付随する作業をサービス利用者側で実施…

SQS

SQSとは Amazon Simple Queue Serviceの略。Amazonが提供するフルマネージドのメッセージキューイング機能をサービスとして提供している。 メッセージキューイングとは 異なるアプリケーションプログラム間で動作を連携させてデータを交換させる際の方式のひ…

コンテナ内でコマンド実行する方法

目的 コンテナ内でコマンド実行する方法について簡単に整理する。 背景 コンテナの使い方 コンテナは仮想マシンと異なり、汎用的なOSを提供するのではなく、特定の仕事(例えばWebサービスの提供)を実行する目的で存在する*1。1コンテナ1プロセスが基本であ…

KubernetesのServiceにおけるDNS動作の確認方法

背景・目的 Kubernetesではserviceリソースをpodやdeploymentから作成すると、そのKubernetesクラスタ内のコンテナから名前解決ができるようになる。名前解決ができることの確認方法を整理する。 準備:podとserviceの作成 まず、適当なpodを作成する。podの…

シンプルなpod / deploymentをコマンドラインで作る手順

目的 シンプルなpod / deploymentをコマンドラインで作る手順を整理する。複雑なことをしたいときは-o yamlオプションでYAMLファイルに書き出して編集し、kubectl create -f 作成したYAMLファイル名*1したほうがやりやすいことが多い。 バージョン Kubernete…

KubernetesにおけるデフォルトのDockerレジストリ

コンテナイメージの取得元 背景 Kubernetesをインストールした状態で、pod(や、deployment)を作成することができる。このときに、コンテナのイメージは手動であらかじめダウンロードしていない。Kubernetesのインストールパッケージの中に膨大なコンテナイ…

KubernetesのServiceで出てくる各種ポートの意味

本記事の目的 KubernetesでServiceを作成するとPort、TragetPort、NodePortといろいろなポートが出てくる。忘れがちなのでメモする。 [root@master01 ~]# kubectl describe svc nginx Name: nginx Namespace: default Labels: app=nginx Annotations: <none> Selec</none>…

電子証明書

電子証明書の必要性 (https://tanke25616429.hatenablog.com/entry/2020/07/24/221419)[電子署名の記事]では、公開鍵を用いて文書に付与された電子署名を検証し、本人性や改ざんがなされていないことを記した。 tanke25616429.hatenablog.com しかし、検証を…

電子署名

電子署名とは 電子署名*1とは電子化された文書に対して行われる電子的な署名のこと。電子署名が行われることで以下を保証する。 署名対象の文書に署名者が承認の意志を示すこと*2 署名対象の文書が改ざんされていないこと 電子的な文書の送信者、電子署名を…

SSL/TLS関連ファイルの意味

執筆の動機 SSL/TLS関連で様々なファイルがホスト上にあり、どれが何なのか混乱しがちなので整理する。個人的にはKuberntesを扱っていると /etc/kubernetes/pkiフォルダの配下にたくさんあるので、それを整理することを最終目的としている(Kuberntesにおけ…

SSL/TLS

TLSの機能 TLSは2者間(以降はクライアントーサーバ間の通信として記載する)で安全に通信できることが目的である。TLSの機能は大きく以下の2つがある。 なりすましの防止 通信の暗号化 それぞれの機能について詳しく記述する。 なりすましの防止 クライアン…

PKI

PKI PKI(Public Key Infrastructure)とは、公開鍵暗号と電子証明書*1(以下、証明書)を用いて安全に通信ができるようにする仕組みのこと。 安全に通信を行うためには、まず通信相手が本物であることの保証が必要である。PKIにおける証明書は、現実世界の…

kubernetesのmanifestにおけるYAMLの配列、ハッシュについて

動機 kubernetesのmanifestファイルを書こうと思って、kubectl explainコマンドで調べるが、配列、ハッシュ周りの記法があやふやで間違えることがよくあった。具体的には xxx: - yyy: YYY zzz: ZZZ と書くべきか xxx: - yyy: YYY - zzz: ZZZ と書くべきか xx…

ファイルとストレージのマッピング

この記事で整理したいこと 別の記事(ファイルシステム - Knのアウトプット)で ファイルシステムがないと、人間やアプリケーションはデータが実際に記録されているストレージ上の位置を指定してデータにアクセスしなくてはならない。ストレージ上の位置は意…

コンピュータにおける記憶領域

執筆の動機 コンピュータの勉強をしているとデータの置き場所である記憶領域について、「XXへの入出力はYYに比べ遅い」「XXはYYに比べ安価」といった文章が出てくる。初学者からすると、同じような話が複数出てくるので混同しやすい。しかもそれらはたいてい…

ファイルシステム

定義 ファイルとは 関連するデータを1つにまとめ、名前をつけて保存したもの。 記憶媒体にデータを保存、読み込み、移動、削除などする際に、ファイルを一つのまとまりとして取り扱う。OSの一部であるファイルシステムによって管理される。 ファイルシステム…

仮想化

仮想化とは コンピュータリソースを物理的な構成とは異なる構成に見せて動作させること。 平たく言うと、サーバー、OS、ネットワーク、メモリ等のコンピュータリソースに対して以下を行うこと。 1つのものを複数に見せる 複数のものを1つに見せる M個のもの…

コンピュータ技術学習のマップ

マインドマップ コンピュータ技術に関するマインドマップ マインドマップ(2020/6/2時点)

コンピュータでプログラムが動く仕組み

コンピュータでプログラムが動く仕組み(ざっくり理解) プログラムはメモリ上で命令の列として書かれている メモリ上にある命令をCPUが順番に読み出し、演算を行い結果をメモリに出力する 少し詳しい説明と補足 コンピュータの概要 コンピュータとは、与え…