カテゴリー: 技術系memo

  • GASからMySQLへのアクセスにボトルネックがある

    GASからMySQL(Google Cloud SQL)へのアクセスにボトルネックがある。アクセス時に遅いので、調べてみると、GASが採用しているV8 Runtimeからの接続が遅いようだ。

    見つけたのは、以下の2つ。

    JDBC results.next iterator slower in V8
    https://issuetracker.google.com/issues/298658393

    Performance issues with JDBC
    https://issuetracker.google.com/issues/236832481

    多少待てるようなシステムであれば、いい。レスポンスが求められるのであれば、GAS自体のボトルネックもあり、DB接続のボトルネックもあり、別のものを考えたほうがいい。

  • TLS1.2で通信できるか確認するPowershell

    Chromeの開発者機能で確認したほうが確実ではあるのだけど、大量にホストがあると、大変なので、Powershellのスクリプトにしてみた。

    以下は、Powershellのスクリプト。

    # TLS 1.2のみを明示的に有効化
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    # 通信テスト先
    $url = "https://ホスト名"
    
    try {
        $response = Invoke-WebRequest -Uri $url -UseBasicParsing -ErrorAction Stop
        Write-Host "TLS 1.2 で $url に正常に接続できました。"
    } catch {
        Write-Host "TLS 1.2 で $url への接続に失敗しました。"
        Write-Host $_.Exception.Message
    }

    接続失敗すると、接続失敗したメッセージ、とともにエラーメッセージがでる。

    「[Net.SecurityProtocolType]::Tls12」の部分のTls12をTls11やTls13に変えることで、他のバージョンでのテストもできる。

  • 公式サンプルのソースコードであっても、信じてはいけないという話

    Microsoftの公式サンプルのソースコードであっても、信じてはいけないという話。サンプルコードを使うと、Windowsのメモリ不足を引き起こすかもしれないという。

    Windowsのメモリ不足、公式サンプルコードのコピーだけで発生する可能性 https://news.mynavi.jp/techplus/article/20250526-3333822/

    多くの場合、メモリ不足は無限にメモリを消費するプログラムのバグが原因で引き起こされる。今回の例もプログラムのバグを原因とするが、公式のサンプルコードをコピーしただけで発生するという。

    かなり無理に近いけれど、公式サンプルをコピペして使う場合でも、その設定内容や何を行っているのか、を理解した上(理解しょうとした上)で使わないといけないわけだ。昔は、そういうのを信じるな、と言われたものだが。公式のサンプルコードくらいは信用したかった。今後は、生成AIが生成したコードがそれにあたるのだろう。その場合は、別の複数のAIにチェックさせて、合議する感じだろうか。もしくは人でチェックか。どちらにしても、最終的には、採用した(そのコードを使った)人の責任なわけだ。

  • LLM系のクローラーのアクセスがふえている

    数か月分のアクセスログみていたところ、OpenAI(Chat GPT)やAnthropic(Claude)などのLLMを提供している企業のクローラーのアクセスが増えていた。突発的なアクセスの偏りがあるので、原因をみていたら、こいつらによるものだった。

    Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)

    Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

    Chat GPTもClaude(クロード)も、AIを使ったウェブ検索に力をいれている。データ収集のためにクローラーが活動しているみたいだ。GoogleやBingのクローラーは定期的にいるが、急にふえたということはないので、地の利があるのだろう。とはいえ、情報の探し方もかわりつつあるので、この先はどうなるのかはわからない。ググるよりも、LLMにチャットで聞くほうが増えつつあるので。

  • Veeam Backup & Replicationからライセンスを抜いてみる。

    Veeam Backup & Replicationからライセンスを抜くとCommunity Editionになる。

    Community Editionでも、その範囲内であればバックアップを動作させることが可能。

  • VMware ESXiの無料バージョンが復活しているようだ

    Broadcomに買収されてから無くなっていたVMwareのESXiの無料バージョンが復活したようだ。

    https://cloud.watch.impress.co.jp/docs/column/infostand/2008490.html

    https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/release-notes/esxi-update-and-patch-release-notes/vsphere-esxi-80u3e-release-notes.html

    VMware ESXi 8.0 Update 3eリリースノートを見てみると、無料ダウンロードできると書いてある。非本番環境での使用を目的とのこと。ちょっと試すためには使えるけれど、本番環境での長期利用はできないようだ。仮想マシンあたりのCPUも8までの制限があるようなので、実際の利用には厳しそうだ。

  • GitLab 17.7.2-ceからGitLab 17.10.3へのapt upgradeがエラーになった。

    ちょっと、GitLabのアップデートをサボっていたところ、GitLab 17.7.2-ceからGitLab 17.10.3へのapt upgradeがエラーになった。

    エラーの内容(↓)

    .../gitlab-ce_17.10.3-ce.0_amd64.deb を展開する準備をしています ...
    gitlab preinstall: It seems you are upgrading from 17.7 to 17.10.
    gitlab preinstall: It is required to upgrade to the latest 17.8.x version first before proceeding.
    gitlab preinstall: Please follow the upgrade documentation at https://docs.gitlab.com/ee/update/index.html#upgrade-paths
    dpkg: アーカイブ /var/cache/apt/archives/gitlab-ce_17.10.3-ce.0_amd64.deb の処理中にエラーが発生しました (--unpack):
     new gitlab-ce package pre-installation script subprocess returned error exit status 1
    処理中にエラーが発生しました:
     /var/cache/apt/archives/gitlab-ce_17.10.3-ce.0_amd64.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    GitLab 17.10.xへのアップデートするために、一度、GitLab 17.8.xに上げる必要があるとのこと。厳密なアップグレードのパスを調べるために、下記の公式サイトで、アップグレードパスをチェックした。

    https://gitlab-com.gitlab.io/support/toolbox/upgrade-path

    これによると、「GitLab 17.8.6」に一度上げる必要があるということで、apt upgradeでバージョン指定をして、実行。コマンドは下記。

    sudo apt upgrade gitlab-ce=17.8.6-ce.0

    GitLab 17.8.6へのアップデートが成功したのを確認して、もう一度、apt update、apt upgradeを行った。

    sudo apt update
    apt list --upgradable
    sudo apt upgrade

    正常終了したらGitlabをリスタートさせて終了。

    sudo gitlab-ctl restart
  • UNPKGで障害?

    bootstrap-tableをUNPKG経由で使っている。bootstrap-tableが機能しなくなり、画面表示されない障害になった。調べてみると、下記のURLで「Internal Server Error」になる。

    https://unpkg.com/bootstrap-table@1.18.3/dist/bootstrap-table.min.js

    そこまで急ぎの対応も必要ないので、待つことにしている。

    あと、調べてみると、2週間くらい前から、UNPKGで障害が起きている模様。

    https://github.com/unpkg/unpkg/issues/412

    昨日解消とあるが、、、また問題が発生したのだろう。

  • さくらインターネットのレンタルサーバで独自の404ページを指定する

    ウェブサイトの廃止に伴い、閉鎖のお知らせページを設定する。基本的に、エラーコード404のNot Foundばかりになるので、さくらのレンタルサーバで、404エラーページを独自に設定するようにしたメモ。

    さくらのレンタルサーバの管理画面では、404ページの設定はない。

    さくらのレンタルサーバでは、.htaccessを利用したウェブサーバの設定の上書きが可能。そのため、「.htaccess」を使って、404エラーのページを設定する。

    .htaccessの中身

    ErrorDocument 404 /404.html

    他に「.htaccess」で設定していることがなければ、この1行でよい。ファイルは作ってアップロードするか、管理画面のファイルマネージャーから作成して、書き込む。

    「404.html」は、設定したウェブサイトのフォルダのルートに置く。「/」でルートの階層を指定しているので。

  • Veeam Backup & Replicationのサーバをリプレイスする方法

    Veeam Backup & Replicationのサーバを、旧サーバから新サーバに移行するための公式ナレッジベースは下記。
    https://helpcenter.veeam.com/docs/backup/vsphere/vbr_config_migrate.html?ver=120
    https://www.veeam.com/kb1889

    Veeam Backup & Replication を別のバックアップ サーバーに移行する場合は、次の手順を実行する。

    1. 実行中のジョブを停止し、スケジュールされたジョブを無効にする。
    2. 変更または作成したレジストリ値を保存する。
    3. Veeam Backup & Replication の構成データベースをバックアップする。
    4. ターゲット マシンに Veeam Backup & Replication をインストールする。
    5. バックアップから構成データベースを復元する。
    6. 設定の確認を行う。
    7. テストする。

    移行前と移行後のVeeam Backup & Replicationのバージョンはそろえておく必要がある。移行前のVeeam Backup & Replicationのバージョンが古い場合は、移行前にアップグレードして、そのインストーラーを使って、新しいVeeam Backup & Replicationをインストールする。

    この方法だと、ライセンスファイルも動いてしまうため、1日で移行とテスト、切り替えを行う必要がある。