12/11 io
1. OSS活動
初めてのオープンソースソフトウェア活動に挑戦中。
以前は名前をリストに追加するだけの貢献だったが、今回はIssue立案 → PR作成 → Mergeの流れを体験中。
現在はPRを提出し、Merge待ちの段階。これが達成されれば、正式にOSS活動の第一歩を踏み出せる。
2. AWS関連
ELBのConnection Draining
ロードバランサー(LB)のヘルスチェック失敗後、インスタンスへの接続を自動で切断する機能。フェイルオーバー時にダウンタイムを抑える。Route 53のフェイルオーバー構成
アクティブ/パッシブ構成: メインのリソースがダウンした場合にバックアップリソースへルーティング。
アクティブ/アクティブ構成: 複数リソース間でトラフィックを分散し、問題があれば対象を外す。
EBSボリュームのDeleteOnTermination属性
通常は有効化され、インスタンス終了時にボリュームが削除される。無効化するとデータを保持できる。AWS AppSync
GraphQLを利用してAPIやデータベース操作を簡単に行えるサービス。Route 53によるIPフローティング
Elastic IPを次のインスタンスに付与することで、ダウンタイムを最小化。Auto Scalingのヘルスチェック
インスタンスの状態確認(実行中かどうか)。
ELBのヘルスチェック(HTTPリクエスト)の応答確認。
LambdaとRDSの効率的な接続
RDS Proxyを利用して、Lambdaのリクエストが増加してもRDSへの負荷を緩和する。
3. プログラミングとセキュリティ
Readable Code(読みやすいコード)
何を実現したいか言葉で整理。
重要な部分を見えるようにし、抽象化する。
テストは1行で記述可能にする(例: test(input, expectedOutput))。
UDF(User Defined Functions)によるMySQLの権限昇格
データベースの機能拡張としてカスタム機能を追加する仕組み。悪用例として、MySQLに/bin/bashを起動するUDFを追加し、rootのSUIDファイルを作成して権限昇格を試みる手法がある。ファイルパーミッションと/etc/shadow
/etc/shadow はユーザーのパスワードハッシュ情報を格納するファイル。ハッシュ値を生成し、書き込み可能であれば新しい値に置き換えが可能。プロセスとプログラムの違い
プログラム:静的なコードの集まり(例:本棚の本)。
プロセス:実行中のプログラム(例:本を読む行為)。
4. 政治
与党の仕組み
現在の与党は自民党(第一政党)と公明党(第二政党)。内閣は第一政党から選出。国会議員と秘書制度
議員の元には、政策秘書(専門知識を持つ補佐役)が追加され、法律作成を支援するため国から資金が支給される。「金帰火来」
金曜に地元選挙区へ帰り、火曜に東京に戻る国会議員のスケジュールを指す。