zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

【メモ】Auth0のログをCloudwatchに飛ばすExtensionが利用できなくなったのでイベントブリッジ経由に変更した

【経緯】

Auth0のExtensionで「Logs to CloudWatch」を使っていたのだけど、新しいテナントで利用しようと思ったら検索結果に出てこない。
https://auth0.com/docs/troubleshoot/product-lifecycle/deprecations-and-migrations/migrate-from-log-extensions
によれば、

2022年11月2日に、次のAuth0ログ拡張機能は非推奨になります。
(略)
2022年5月4日以降、上記のリストから新しい拡張機能を作成することはできなくなります。
Auth0マーケットプレイスで利用可能なAmazonEventBridge統合をセットアップします。
イベントバスでイベントが利用可能になったら、それらのイベントをAWSCloudWatchにマッピングするルールを作成します。
(機械翻訳)

ってなってて、ログストリーム作ってAmazonEventBridge経由でCloudwatchに流すことになる模様。

【やってみた】

1)Amazon EventBridge Integration を Auth0 Marketplace で検索して追加します

[Marketplace]-[Amazon EventBridge]-[Add Integration]

[Monitoring]-[Streams]で追加されたAMazonEventBridgeを設定する

Create Event Stream
Name:てきとうな名前

AWS Account ID 
AWSアカウントIDいれる

AWS Region
Asia Pacific(Tokyo)

※このときError!Your current subscription plan does not support log streams
 とか出た場合はアカウントをフリープランから有償プランに切り替えてから。

2)パートナーイベントソース確認

AWSマネージドコンソールにて
[Amazon EventBridge]-[パートナーイベントソース]を確認
> aws.partner/auth0.com/(略)/auth0.logs
が表示されていることを確認

3)イベントバスとの関連付け

上記イベントソースを選択して[イベントバスと関連付ける]を選択
特に設定は変更せずそのまま[関連付ける]を押下

4)EventBridgeでルールを作成

[Amazon EventBridge]-[イベント]-[ルール]-[ルールを作成]

ステップ 1 ルールの詳細を定義

名前 auth0など適当に
説明 任意
イベントバス 先ほど関連付けたイベントバス(aws.partner/auth0.com/(略)/auth0.logs)を選択
ルールタイプ イベントパターンを持つルール(デフォルト)
で[次へ]

ステップ 2 イベントパターンを構築

イベントパターンで
イベントソース:EventBridge パートナー
パートナー:Auth0
イベントタイプ:すべてのイベント
を選択

ステップ 3 ターゲットを選択

ターゲットタイプ:AWSのサービス・CloudWatchロググループ
ロググループ:/aws/events/Auth0(あらかじめ作っておく)

で[ルールの作成]


確認

ログをはいてみる→どんどんたまっていく。OK

メモ:AWS CodeCommitのユーザー作成

【参考URL】
https://proglearn.com/2019/12/27/%E3%80%90aws%E3%80%91codecommit%E7%94%A8%E3%81%AEiam%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86/

IAM作ってポリシーでAWSCodeCommitFullAccess追加して
AWS CodeCommit の HTTPS Git 認証情報を付与すればよい模様

f:id:zuntan02:20220311142320p:plain
■料金について
最初の5人まで無料、6人目から$1/人月

https://aws.amazon.com/jp/codecommit/pricing/
曰く
> お客様のアカウントで、ある月のアクティブユーザー数が 6 人である場合、追加料金または超過料金がないとすると、1 USD が請求されます。

【備忘】シェルの変数に乗せたパスワードがエスケープされてた

AUTH_PASSWORD="hoge$fuga&hoge"

echo $AUTH_PASSWORD
hoge&hoge

【原因】
下記記事より

bashでは下記の文字が特殊な意味を持ちます。
; & ( ) | ^ < > ? * [ ] $ ` ' " \ ! { } 改行 タブ スペース
これらの特殊な意味を打ち消して普通の文字として扱うことをエスケープといいます。

\   直後の1文字をエスケープ
''  シングルクォーテーションで囲まれた文字列は普通の文字
""  ダブルクォーテーションで囲まれた文字列は $ ` \ 以外の文字はエスケープする
    ""内の\は、\の直後に $ ` \ がある場合のみエスケープする

【参考】
anmino.hatenadiary.org

スピーカーのエッジ修理した

【経緯】
スピーカーエッジの修理パーツというのを売っていたのでついカッとなって買ってしまった
https://amzn.to/3pGswt2

f:id:zuntan02:20220223202657j:plain
こんな感じのが届いた

【やったこと】
これを

f:id:zuntan02:20220223182254j:plain
エッジの腐ったスピーカー

こうして

f:id:zuntan02:20220223201808j:plain
ウレタンの腐ってるところを掃除する

こうじゃ

f:id:zuntan02:20220224105102j:plain
なんとなく直った気がする

CentOS6.5+php5.xでHTTP/2へのリクエストをする(cURLモジュールの更新)

■概要

タイトルの通り。
CentOS6.5で

curl --http2 -v https://http2bin.org/get

ができないためバージョンを上げたい。

curl -V
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

【問題】

  • nghttp2が有効になっていない
  • CentOS6のvaultリポジトリでもcurlの最新は7.19.7-54.el6_10。今回7.33以上が必須となる

上記のため、ソースコードよりコンパイルする
cURLの最新版はこの時点で7.81だったが、対象環境(CentOS6)ではコンパイルが通らなかったため、他環境で実績のあった7.58を利用した。

えっ……いろいろ言いたいことがあるのは理解しますがワークアラウンドとして。

■作業概要

# nghttp2インストール
yum install nghttp2 libnghttp2 libnghttp2-devel

# cURL7.58コンパイル
cd /usr/local/src/
wget --no-check-certificate https://curl.haxx.se/download/curl-7.58.0.tar.gz
tar xzvf curl-7.58.0.tar.gz
cd curl-7.58.0
./configure --prefix=/usr/local --with-ssl --enable-libcurl-option --with-nghttp2

# =====
#   curl version:     7.58.0
#   Host setup:       x86_64-pc-linux-gnu
#   Install prefix:   /usr/local
#   Compiler:         gcc
#   SSL support:      enabled (OpenSSL)
#   SSH support:      no      (--with-libssh2)
#   zlib support:     enabled
#   brotli support:   no      (--with-brotli)
#   GSS-API support:  no      (--with-gssapi)
#   TLS-SRP support:  no      (--enable-tls-srp)
#   resolver:         POSIX threaded
#   IPv6 support:     enabled
#   Unix sockets support: enabled
#   IDN support:      no      (--with-{libidn2,winidn})
#   Build libcurl:    Shared=yes, Static=yes
#   Built-in manual:  enabled
#   --libcurl option: enabled (--disable-libcurl-option)
#   Verbose errors:   enabled (--disable-verbose)
#   SSPI support:     no      (--enable-sspi)
#   ca cert bundle:   /etc/pki/tls/certs/ca-bundle.crt
#   ca cert path:     no
#   ca fallback:      no
#   LDAP support:     no      (--enable-ldap / --with-ldap-lib / --with-lber-lib)
#   LDAPS support:    no      (--enable-ldaps)
#   RTSP support:     enabled
#   RTMP support:     no      (--with-librtmp)
#   metalink support: no      (--with-libmetalink)
#   PSL support:      no      (libpsl not found)
#   HTTP2 support:    enabled (nghttp2)
#   Protocols:        DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP
# =====

make
make install

curl -V
# curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.0.1e zlib/1.2.3 nghttp2/1.6.0
# Release-Date: 2018-01-24
# Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
# Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz HTTP2 UnixSockets HTTPS-proxy

# 確認
curl --http2 -v https://http2bin.org/get

# phpのモジュール確認
php -i | grep cURL
# cURL support => enabled
# cURL Information => 7.19.7
# この時点では古いまま

# インストールされたusr/local/lib以下にldconfigでライブラリのパスを通す
echo '/usr/local/lib' > /etc/ld.so.conf.d/custom-libs.conf
ldconfig

# 確認
ldconfig -p | grep curl


# phpのモジュール再確認
php -i | grep cURL
# cURL support => enabled
# cURL Information => 7.58.0

OK

■備考

yumもvaultが使えなくなっていて困った。別途記載します
zuntan02.hateblo.jp

CentOS6.5でyumが使えない(202202現在)

■概要

CentOS6のyumリポジトリhttps://vault.centos.org/centos/に移動しているが、CentOS 6 の openssl は TLS v1.2 に対応していないので、URLが開けずエラー([Errno 14] problem making ssl connection)となる。このため、httpで接続できる国内のミラーサイトを指定する
参照:https://teratail.com/questions/538ut77715pp8j

■やったこと

/etc/yum.repos.d/以下のrepoファイルをhttpで配信しているミラーURLに書き換える

CentOS-Base.repo
各baseurlを書き換え

baseurl=http://ftp.riken.jp/Linux/centos-vault/6.5/os/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos-vault/6.5/updates/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos-vault/6.5/extras/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos-vault/6.5/centosplus/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos-vault/6.5/contrib/$basearch/

CentOS-SCLo-scl.repo
→無効化(enabled=0)

CentOS-SCLo-scl-rh.repo
→無効化(enabled=0)

epel.repo
httpsをhttpに書き換えて対応

sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

これでとれるはず

yum clean all
yum check-update

DELLのPCでWindows11にしたらLSASSがリソースを食いつぶしていたけどDELLのサポートサービスを削除したら解決した

【機種】

DELL Inspiron 5593

【現象】

Windows10→Windows11にアップグレードして後、OS起動直後は大丈夫なんだけど、5分もするとLocal Security Authority Process が上がってきてリソースを食いつぶしてしまう。
こうなるともうキー入力も受け付けなくなる。つらい。

【解決】

インストール済みのDellソフトウェアを「追加と削除」から全部消すと解決した。既に1年保証も過ぎていたので別に。。。

【参照URL】

https://www.windows11forums.com/threads/local-security-authority-process.160/#post-851
曰く(機械翻訳

Lsassが毎回おかしくなりそうになる前に、DellRemediationサービスが開始されたことに気づきました。すべてのDellブロートウェアをアンインストールすると、Lsassプロセスはすぐに通常の状態に戻りました。数時間経ちましたが、この問題は発生していません。


いずれDELL側で解決される問題かとは思いますが、ググり力が足りなくてなかなかこの解決にたどり着かなかったので、誰かの役に立てばと思いメモしておきます。