理系学生日記

おまえはいつまで学生気分なのか

チームのタスクを全部ソースリポジトリのissueとして記載するのは違うのではないか

先日チームのレトロスペクティブで、タスクがチケット管理できてないよねという話があがった。 チームで仕事をするときのタスク管理はだいたいGitLabやGitHub、Azure DevOpsで行おうとするのだけれど、うまくいかないことが結構多い。 なんでうまくいかない…

Azure Database for MySQLでスロークエリログをLog Analytics Workspaceに連携する

Azure Database for MySQLでも、スロークエリを検出できます。 今回はこのスロークエリログをLog Analytics Workspacesに送信してみます。 Azure Database for MySQLでのスロークエリ取得 動作確認 Terraform コード Azure Database for MySQLでのスロークエ…

Application Insightsをフロントエンドで使うときInstrumentation keyとどう向き合うか

AzureにはApplication InsightsというAPMがあります。 Application Insights は Azure Monitor の機能であり、開発者や DevOps プロフェッショナル向けの拡張可能なアプリケーション パフォーマンス管理 (APM) サービスです。 Application Insights とは何か…

ISUCON11予選で敗退してきました

一昨年同様、@kkasaiさん、@hondaYoshitakaさんとISUCON 11へ参加しました。 一昨年はインスタンスチェックに失敗し、まさかのスコア0でフィニッシュでした。 一方で、今年はきちんとインスタンチェックも無事パスし、最終的なスコアは12,000前後という結果…

TerraformによるAzure Database for MySQLのポイントインタイムリストア・Geoリストア検証

Azure Database for MySQLのリストア検証のお時間です。 Azure Database for MySQLのリストア前提 準備 PointInTimeRestore Geoリストア 注意点 Azure Database for MySQLのリストア前提 Azure Database for MySQLにおいては、データベースのバックアップは…

AWS SDK + LambdaでAWSの前日コストをSlackに通知する

AWSを使っていると、変な使い方をしてると予算をオーバーしてしまいます。 このため、日次でAWS Cost Explorerを確認しているのですが、これはこれで面倒です。 面倒な行為というのはだいたい能動的な確認が求められるのから面倒であるので、 AWS Lambdaから…

自分のグローバルIPアドレスを知る

Azure Database for MySQLに自分のグローバルIPアドレスから接続したいというとき、グローバルIPをCMANで確認をしていました。 さすがに面倒になって、何か良い方法がないかなと思ったら、グローバルIPアドレスを返却してくれる様々なサービスがあることを知…

azurerm_mysql_databaseのcharset、collation指定は効果があるのか

TerraformでAzure Database for MySQLを構築する場合、必ず利用するであろうリソースがazurerm_mysql_databaseです。 このリソースはcharset、 collationが必須パラメータです。 それぞれ文字セット、照合順序を意味しており、MySQLを利用する方は気にしたこ…

Azure PipelinesでPull RequestをトリガーにCIを走らせる (または、CIトリガーとPRトリガーでの重複実行を抑止する)

Pull Requestが作成されたらCIを実行したい。こういったユースケースはよくあります。 Azure Pipelinesでもこの実現はできるのですが、この実現にはかなり癖があります。 結論 PR Triggerの設定は、azure-pipelines.ymlではなく、Azure ReposのBuild validat…

Azureの複数Subscriptionを扱う場合は頻繁にaz logoutすべき

あれ、これ本当なのか、という挙動になったのが複数Subscriptionを扱う場合。 例えば私のアカウント状況が以下のようになっているとします。 $ az account list | jq '.[] | { "env": .name, "mail": .user.name }' { "env": "Staging", "mail": "kiririmode…