サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
labs.gree.jp
こんにちわ。せじまです。 相変わらずPHPよくわかんないんですが、今日もPHPの話をします。あと、goの話もちょっとだけします。書いてるうちに少し長文になってしまいましたが、内容としてはゆるふわと言えるんじゃないでしょうか。 でははじめます。 はじめに MySQL 8.2.0 の release notes で The --character-set-client-handshake server option, originally intended for use with upgrades from very old versions of MySQL, is now deprecated, and a warning is issued whenever it is used. You should expect this option to be removed in a fut
インフラのいわなちゃんさん(@xcir)です。 先の記事ではTerraformでAkamaiを運用するということを書きました。 記事中でテストについて触れましたが、ふと考えたらCDNに対してテストを行う事例をあまり聞いたことないなと思いテストツールを公開します。 CDNのテストどうやっていますか? CDNで複雑な処理を行うようになりテストがより重要なのは疑いもないのですが、あまりCDNに対してテストをということを聞きません。 新規に作成する場合であればCNAME切り替え前にhostsを書き換えてブラウザで確認したり、CLIで行う場合でもcurlで--resolveオプションで200なことを確認するだけというサイトも多そうです。 もちろん、PlaywrightなどでサイトのE2Eテストの一環で行っていたり、PytestやRSpecで行っているサイトもあると思いますが、今回はvarnishte
お久しぶりです、インフラのいわなちゃんさん(@xcir)です。 弊社は複数のCDNを利用していますが、Akamaiを主に利用しており多数の配信設定(プロパティ)を運用しています。 これまでは新規プロパティはAkamai Control Center(ACC/旧LUNA)で作成していましたが、 今回多数のプロパティを作る必要があり既存も含めてTerraformで運用を行えるようにしたので共有します。 既存プロパティをterrafromでapplyするまで まずは運用は考えずに既存のプロパティのexport/編集/terraform apply/Activateという一連の動作を試してみましょう。 akamai/shellを実行する Akamaiを外部ツールから叩く際にはAPIクレデンシャルが必要なのでこちらを参考に発行して~/.edgercに配置してください。 次にAkamaiの操作環境をど
こんにちわ。せじまです。 先日、プライベートで新しいPCを買ったので試しにVisual Studio 2022(version 17.7.2)でMySQL8.0.34をデバッグビルドしようと思ったら、sql_main がC2678でビルドできなくなってました(2023-08-29時点)。 Hyper-V上でen_USなWindows11開発環境を立ち上げて試してもC2678が発生したので、日本語版のWindowsに限った問題でもなさそうな気がします。 https://developercommunity.visualstudio.com/ を見ると、コンパイラ周りで "Fixed - Pending Release" な件がいくつか見受けられたので、しばらく様子見しようかなと思っています。 MySQL8.1.0や8.0.34をデバッグビルドする話を書こうかと思っていたのですが、今回は別の話
こんにちわ。せじまです。PHPには疎いんですが、今回は珍しくPHPの話をします。 はじめに 2023-07-18 に MySQL 8.1.0 がリリースされました。いくつか気になる変更が入っているのですが、今回は The mysql_native_password authentication plugin now is deprecated and subject to removal in a future version of MySQL. CREATE USER, ALTER USER, and SET PASSWORD operations now insert a deprecation warning into the server error log if an account attempts to authenticate using mysql_native_pass
インフラのいわほり(egmc)です。 eBPFを利用したプロダクトとしてはCiliumなどがcloud nativeな文脈として盛り上がっていますが、一方でBCC Toolsやbpftaceは、システム内部のかゆいところに手が届くソリューションとして身近な課題解決にカジュアルに役立つツールとして提供されています。 これらのツールは実際に便利ではあるものの現実世界での事例をそれほど見かけないというのもあり、「こんな感じで役に立った」という事例をカジュアルに紹介していくのもコミュニティにとって有用ではないか、ということで今回はOSのバージョンアップに関連して発生した問題の調査にbpftraceが役立ったというお話をご紹介したいと思います。 環境 Ubuntu 20.04.6 LTS bpftrace v0.9.4 発生した事象 GREEのクラウド環境で利用しているシステムのアラートの配送を行う
こんにちは、開発企画の佐島です。 10月25日、グリーグループの様々な技術チャレンジを紹介する GREE Tech Conference 2022 がハイブリッドで開催されました。 当日は雨こそ降らなかったものの今年一番の冷え込みで、本当に人が来てくれるんだろうかと心配で仕方ありませんでしたが、結果的には多くの方にご来場いただき、また、多くの方にご視聴いただくことができました。 例によってセッション内容については動画とスライドが全て公式サイトにアーカイブされていますので、本記事ではハイブリッド開催をやってみて実際のところどうだったのか、振り返ってみようと思います。 物理開催決断にいたるまで そもそも GREE Tech Conference は物理開催を前提としていましたが初年度の2020からいきなりコロナ禍となり過去2回はいずれもオンライン開催でした。 昨年の打ち上げの席で、次こそは物理
みなさまこんにちは、グリー株式会社でCTOをやっておりますふじもと (@masaki_fujimoto) と申します。 今回は1週間後に控えたGREE Tech Conference 2022の宣伝も兼ねて、1年ぶりくらいにソフトウェアについてつらつらと書いてみます。というか、なにはなくとも10/25 (tue)、来週開催のGREE Tech Conference 2022にぜひぜひご参加ください。ひさびさにオフラインでも開催しますので! あとついでに、1年くらい前からデジタル庁というところのCTOも兼ねさせていただいてまして、なんかやっぱりあれこれ質問いただくことも多いので、そのあたりどうよ、みたいなところもついでに少しだけ触れてみたいと思います (なんかGREE Engineers' Blog、というところで書くにはちょっとコンテキスト違うかなとも思うのであくまでおまけ、ってことで..
こんにちは、メディア事業でエンジニアをしている木村洋太です。 昨年のGREE Tech Conferenceでは「LIMIA」のフレームワーク移行プロジェクトにおけるコードの自動修正について話させていただきましたが、今回は同時に行ったインフラ移行について紹介いたします。 EC2からFargateへの移行例は多く存在しているとは思いますが、今回の移行では安全な移行のために、shadow-proxy環境での移行前のテストやEC2とFargateの同時稼働によるカナリアリリースなどさまざまな工夫を行いました。これらの中で得られた知見や失敗をまとめられたらと思っています。 インフラ移行の概要 フレームワーク移行プロジェクト フレームワーク移行プロジェクトでは、グリーが運営するメディアの一つである「LIMIA」のフレームワークをFuelPHPからLaravelへ移行することを目的としていました。 移
こんにちは、インフラの小林です。 GCP環境の監視基盤が一段落し実績も積めてきたので、アーキテクチャについて簡単に紹介します。この記事ではメトリックに焦点を当てています。Prometheusを用いたGCP監視基盤を検討している方や、Managed Prometheusを検討している方の参考になれば幸いです。 アーキテクチャ 比較のためにAWS EKS環境と合わせて紹介します。 AWS (EKS) AWS EKS環境では、監視用EC2インスタンスがあり、k8s Cluster内にはExporterのみが存在します。 k8s Cluster外部からkubernetes_sd_configを用いたService Discoveryを行い、メトリックを回収します。AWS環境はプロダクトによってVM, コンテナの利用がまちまちなため、両ケースに対応できるよう監視インスタンスはコンテナではなくVMとし
こんにちわ。せじまです。今回は地味で泥臭い話をします。ただ、割と平易な内容かと思いますので、初学者の方にもオススメです。 はじめに ゲームでは、受取期限のついたログインボーナス的なものがよくあります。ユーザが期限までに受け取らないと、ユーザからそのデータは不可視になりますが、必ずしも、不可視になった瞬間にデータベースから直ちに削除される、というわけでもありません。バッチジョブか何かで、ガベージコレクションのように削除するケースが多いのではないでしょうか。 また、論理削除という概念もあります。論理削除についてはいろいろ意見や考え方があるかと思いますので、ここでそれについては論じませんが、「削除フラグが立ってユーザから不可視になった後、三ヶ月以上経過したデータを削除したい」みたいなことは、ゲームに限らず、しばしばあるんじゃないかなと思います。 こういった、ユーザから不可視になってしばらく経過し
みなさまこんにちは、グリー株式会社でCTOをしておりますふじもとです。最近は諸般の事情でWebUSBとWebNFCを観察しています、iOS SafariでWebNFCサポートしてくれないかな...。 そして今回は来たる2021/11/11に開催予定のGREE Tech Conference 2021の宣伝にやってまいりました。という!ことで! GREE Tech Conference 2021 は 2021/11/11 開催です、ご登録はこちらから! みなさまのご参加をお待ちしております。なおぼくは最初の基調講演で20分ほど (当然グリー株式会社の) お話をさせていただきます。 以上でだいたいこのエントリでお伝えしたいことはお伝えできましたので、以下は蛇足となりますが、グリー株式会社でCTOになって以来初めて社外での仕事をすることにしたので、少しだけそのあたりについて書かせていただこうと思
インフラの駒崎です。 Google Kubernetes Engine (GKE) の 1.20+ で有効な kubelet graceful node shutdown と、それを活用した preemptible VM の利用について書かせていただきます。 GCP の Preemptible VM とは Preemptible VM は、いくつかの制限があるかわりに通常のインスタンスよりも安く利用できるインスタンスです。制限はいくつかありますが、最も留意すべきは 「いつでも停止される可能性があり、最長でも起動から 24 時間で停止される」点でしょうか。 ※ Preemptible VM の新バージョンとして Spot VM もアナウンスされました (2021/10/13 現在 preview) 。 Graceful node shutdown GKE 1.20 以降のバージョンでは ku
インフラのいわほり(@egmc)です。 久々のエントリとなりますが、今回はインフラのMonitoring Unitとして長期的に取り組んでいた監視システムのリプレースについてのお話になります。 背景含めて長いエントリとなりますが、監視システムの長期的な運用の考え方、リプレースにあたって考慮した点などなにがしか参考になる点があれば幸いです。 何を移行したか? グリーのインフラ環境では冒頭で述べたMonitoring Unitというインフラ横断で監視システムを提供するチームが商用環境向けの共通システムの提供/運用を行っています。 監視システムにおけるリソースモニタリングシステムの構成として、オンプレ環境ではGanglia、AWS環境ではPrometheus/Grafanaスタックを採用、運用してきました。 規模感としてはざっくりと監視対象ノードがオンプレサーバが約1500台、AWS側は台数変動
こんにちは、いわなちゃんさん(@xcir)です。 Webサイトには様々なリソースが存在し、それらをS3やGCSなどのオブジェクトストレージに格納することはよくあります。 しかし、多くのサイトではオブジェクトストレージを直接使うことはあまりなく(そもそもお勧めできませんが)通常はCDNを被せて利用します。 オブジェクトストレージを提供するプラットフォームはCDNも提供しています。 例えばAWSであればCloudFrontがありますしGCPであればCloudCDNがあり、それらを組み合わせで使う場合も多いでしょう。 ところが機能、コストなど様々な理由でAkamaiやFastlyなどの外部CDNを使うことがあります。 オブジェクトストレージなので単純にファイル置き場として考えればそこまで気にするポイントはないのかもしれません。 ところが、GCSについては組み込みキャッシュ(Built-in ca
どうも、インフラの後藤です。夏休みの自由研究として、HTTP/3について遊んでみたのでよろしくおねがいします。 はじめに HTTP/3はRFC目前となっており、すでに多くのブラウザがサポートし、ミドルウェアも実装が進められています。また、GCPではCloud CDN やHTTPS Load Balancingですでに利用することが出来ます。 HTTP/3は、トランスポートプロトコルにUDPで動作するQUICを利用しています。このQUICは様々な効率化の仕組みが盛り込まれていて、結果としてHTTPプロトコルの高速化が実現されています。 一方で、少ない環境ではあるものの、QUICが利用できないネットワークがあることも知られています。実際に使用する場合に問題になることはなく、多くの場合はHTTP/2にフォールバックされアクセスが行われます。ですが、国内での実情は調査の余地があると思われます。 今
こんにちわ。せじまです。 2021-07-09、日本MySQLユーザ会会(MyNA会) 2021年07月 -下位レイヤ勉強会- でお話させていただくことになりました。勉強会等でお話させていただくのはずいぶん久しぶりで、オンラインイベントでは初となります。 資料を読み返してると「興味のある方は、予め、関心のある補足資料等にざっと目を通しておいていただいた方が、よりわかりやすくなるかも」と感じたので、イベント開催一週間前ですが、事前に資料を公開させていただくことにしました。
HOMEInfoデータセンター単位の大規模障害に見舞われたとき、 mysqld で error log を見る前に確認していることなど こんにちわ。せじまです。今回は、実際役に立つケースは限られていますが、備忘録として書いておきます。 はじめに 私は(たしか)2003年くらいから、しごとでMySQL使っていたので、もうかれこれ18年くらいは使ってるんですが、それだけ長いこと使っていると、大規模な障害というものにも何度か出くわしたりしました。 ざっくりとした規模感で言いますと、データセンターでラック一本まるごと異常が発生するケースとか、ラック一本にとどまらず、データセンター内のサーバの何割かが異常に見舞われる、といった規模で発生した障害です。物理的な故障で障害が発生したこともあれば、ネットワーク機器の不具合により、ラック一本まるごと切り離す必要性が発生したこともありました。 ラック丸ごと一本
ごあいさつ (読まなくてもいい前置き-1) みなさまこんにちは、グリー株式会社でCTOをやっているふじもとです。実はそのかたわら日本CTO協会、略してCTOAというところの理事をやらせていただいているのですが、勢いで「CTOでAdvent Calendarやろうぜー」と言い出してしまい、まぁ言ったからには1日くらい書くかー、後半にしておけば (おそらくそれまでに何日か書き忘れがあるだろうから) まぁ最悪書けなくても平気だろうと本気思っていたんですがなんと今日にいたるまで毎日継続しております、みなさんすごいー、すごすぎるー。 ということでこれは、CTOA Advent Calendar 2020 20日目のエントリです。僕のはともかく、他のみなさまの素敵なエントリが並んでいますので、ぜひぜひご覧ください。 大事にしていること? (読まなくてもいい前置き-2) CTOとして何をすべきか、問題に
とても久しぶりのエントリになります、グリー株式会社でCTOをやっておりますふじもとです。Pixel Budsを買ったはいいものの、イヤフォンの位置なおすたびにジェスチャ認識されて通知読み上げられることに悩んでいます。たぶん耳にちゃんとフィットしてないのが原因です。 気がつけば、今年でCTOというタイトルでお仕事をしてはや15年が経ち16年目に突入しておりまして、よい機会なので今どんなことを思うか、何が変わったか、などなど勢いで書いてみようと思った次第です...というそれっぽい理由はほんの少しで、ほんとのところそんな立派な理由でもなく、来たる 2020/09/18 (fri) に GREE Tech Conference 2020 (online) が開催されるので、その宣伝をしたいなーと思ったのです。ということで...! GREE Tech Conference 2020 2020/09/
HOMEInfo遅ればせながら、Folding@home のタンパク質構造解析プロジェクトに参加させていただくことにしました。 こんにちわ。せじまです。 今日はMySQLの話ではありません。 はじめに こちらのスライドなどでも触れておりますが、弊社では、一部のサービスでオンプレミス環境の物理サーバを使っています。それらは仮想化せずに、消費電力効率などを改善することで、コストの最適化を図っています。 具体的に言うと ピーク時の最大負荷を想定してベンチマークを実行し、そのときの消費電力を測定する。 ラック内にあるすべてのサーバに最大の負荷がかかった状態でも、何台かは修理交換やOSのアップデート作業などが実施可能になるよう、突入電流を想定して電源のマージンを確保する。 といった観点で、ラックごとの構成を設計しています。消費電力の試算をし、弊社のワークロードや(わたしが考える)InnoDBに最適な
*1 デフォルトでは Pod に割り当て可能なセカンダリ IP アドレスを ENI 1個分(その ENI に割り当てできる最大数)確保する設定ですが、実際には DaemonSet などがありすぐに ENI 1個分の空きという条件は満たさなくなるので、ワーカーノード起動時に ENI 2個分(「そのインスタンスタイプが ENI ごとに割り当てできる IP アドレス数」の2倍)が確保されるということになります。ドキュメントとしては次のリンクをご参照ください。 参考: https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/cni-env-vars.html 参考: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/cni-proposal.md 例えば、ピーク時に c5.4x
こんにちは、はじめまして。グリーグループのグリーライフスタイル株式会社で美容メディアARINEのサーバーサイド開発を行っているエンジニアの清野です。 2019年11月3日に開催されたVimConf2019に参加してまいりました。本記事はその参加レポートです。 VimConfについて VimConfとはテキストエディタVimに関する国際カンファレンスで、2013年に第1回が開催され、今回で第7回目の開催となります。私は今回始めて参加しました。 当日の様子や実況ツイートなどは #vimconfでご覧いただけます。 今回のVimConfには、グリーもシルバースポンサーとして参加しており、ノベルティの中に本エンジニアブログの広告が入っておりました。 キーノート、セッションについて 今年のテーマは「How to be more productive with Vim?」、Vimを使いより生産性を高め
こんにちわ。せじまです。今回も replication の話をします。 はじめに 第二回です。 今回の主なお題は、 THD::decide_logging_format() という関数になります。 THD::decide_logging_format() の仕様がわかると、binlog_format が原因で replication 止まる理由が、(そこそこ)わかるようになるでしょう。 また、Row-Based Replication に移行したとき、 THD::decide_logging_format() 以外で replication が停止してしまうケースなどについても、軽くメモ程度に書いておきます。 THD::decide_logging_format() について (MySQL Internals は微妙に内容が古かったりするんですが)、参考までに、まずは 19.4.1 Det
こんにちわ。せじまです。珍しく replication の話をします。しかも、複数回に渡って続きます。連載です。 はじめに 先日、 こちらのスライドで 「詳しくは後日、ソースコード交えつつ別のかたちでご紹介したいと思います。」と言っていた件です。 Row-Based Replication の話をします。 昨年の8月頃、「そろそろ、SBRからRBRに移行して良い時期かなぁ、しないと将来めんどくさいかなぁ」「でも、 SET GLOBAL で binlog_format 変更できないと、手間かかってしょうがないなぁ」「じゃソースコード読むかぁ」ということで、MySQL の Replication はそんなに得意分野でもないので、他の仕事の合間にちょくちょく調べて、社内文書にまとめてました。 公開しても良いのでは、と思った内容なので、一部修正しつつ、お届けします。 はじめに断っておきますと、この
HOMEInfoMySQL 8.0 におけるJSON型のpartial update、およびそれに対するInnoDBの最適化について こんにちわ。せじまです。 InnoDB に関する話をします。今回は大半が MySQL Server Blog や WorkLog のまとめ記事ですので、ゆるふわと言っていいでしょう。 JSON型の partial update に対する最適化というと、 binlog や replication にも関連するのですが、それについては今回は触れません。 はじめに 今回の内容は、MySQL Server Blog を熟読されている方であれば、すでにご存知のことが多いでしょう。ただ、「結局のところ、JSON型の partial update は、 InnoDB Adaptive Flushing においても有効なのか?」というところが疑問に残った方もいらっしゃるかも
HOMEInfoMachine check handler や Generic Hardware Error Source 、あるいはさいきんのLinuxのメモリ監視機能について
はじめに インフラエンジニアのほりぐちです。我々の部には様々な案件が持ち込まれますが、今回は https://reality-festival.wrightflyer.net/3/ にて行われる 建築王 で利用するマインクラフトのサーバ(以下マイクラサーバ)を運用するというものでした。採用までの経緯などは省略しますが、当エントリではこれをクローズするまでの話になります。 結論から出すと出来上がったマニフェストはこちらです。 専用サーバとは 誰かひとりがホスト(サーバ)になり、他のプレイヤー(クライアント)がサーバのアドレスを打ち込んでそこへ参加するスタイルは古くからあり、マイクラもこれに該当します。また、ホストプレイヤーとして参加せずに無人のゲームをサーバ専用モードで起動して開放しておくことを専用サーバ ( Dedicated Server ) などと呼んでおり、このスタイルも古くからあり
皆さん初めまして、セキュリティ部の池添です。 仕事何やってるの?と聞かれるとつい面倒くさくなり、なんかセキュリティ色々と答えてしまうようなポジションやってます。 本記事では、Amazon EKS(以下EKS)の監査ログ周りがちょっとイケてないなーと思い、色々調べた結果を共有させて頂こうと思います。 はじめに 何がイケていないと思ったのかと言いますと、EKSのドキュメントを参考に設定を行うと、IAM Role利用時においてはEKSコントロールプレーンの監査ログのユーザ識別性が弱すぎる、と。 どういうことかと言いますと、弊社のAWSアカウントはIdP連携によるSSO化がされており、ログインをするとIdPから渡された情報を元にIAM Roleへのマッピングが行われます。ログイン後はAssumeRoleされた状態になるため、IAM RoleとEKSコントロールプレーン間でロールマッピングを行い利用
次のページ
このページを最初にブックマークしてみませんか?
『GREE Engineer's Blog coming soon...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く