タグ

jinjin252525のブックマーク (3,847)

  • Yahoo!ニュースで発生していたSEOの問題と対策 〜 ソフト404を放置するとどうなるのか

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!ニュースでエンジニアを担当している角沖です。 記事では今年2022年にYahoo!ニュースにて観測されたSEOに関する問題とその対応方法について紹介します。ある時期にソフト404が大量発生しており、その対策を行いました。 SEOとは SEO(Search Engine Optimization)は日語で「検索エンジン最適化」と呼ばれます。詳しい内容については記事では触れませんが、検索エンジンは「そのウェブサイトがユーザーに質の高いコンテンツを提供しているか」を判断軸に検索結果の掲載順位を決めています。具体的には、検索エンジンのクローラーが各サイトにアクセスしページ情報を取得、その内容を分析しインデック

    Yahoo!ニュースで発生していたSEOの問題と対策 〜 ソフト404を放置するとどうなるのか
  • AWS RDS/AuroraのDDL運用を最適化する | 外道父の匠

    AWS re:Invent 2022 にて RDS の Blue/Green が発表されたことを受けて、この辺の具体的な運用をどのように改善できるのか考えていきます。 たいした内容ではないですが、丁寧に最適化して慣れれば、それなりに強い効果を発揮できそうな感じはあります。 ALTER TABLE の辛み まず復習からですが、RDS に Blue/Green が実装されるほど辛い運用はなんだったかというと、重い ALTER TABLE にあります。 ALTER には色々あるのでアレですが大雑把に言うと、容量や行数が大きいテーブルに対して実行すると、数時間単位~の処理時間がかかることが多く、しかもパッと見で進捗を把握できないという問題を抱えていました。それに対して色んな対策を取っていたと思います。例えば…… Handler_write SHOW GLOBAL STATUS LIKE ‘Hand

    AWS RDS/AuroraのDDL運用を最適化する | 外道父の匠
  • テーブルやデータベースのデータサイズの表示方法 - AnalyticDB - Alibaba Cloud ドキュメントセンター

    たとえば、テーブルスキーマは <schemaname> 、 テーブル名は <tablename> とします。 次のコマンドを実行し、 テーブルインデックスとデータを含む テーブルの合計サイズ (単位: MB) を照会します。 select pg_size_pretty(pg_total_relation_size('<schemaname>.<tablename>')); 次のコマンドを実行し、インデックスを含まないテーブルのデータサイズ (単位: MB) を照会します。 select pg_size_pretty(pg_relation_size('<schemaname>.<tablename>')); 次のコマンドを実行し、テーブルインデックスとデータを含むパーティションテーブルにある全パーティションの合計サイズ (単位: MB) を照会します。 select schemaname,

  • これからはじめる 実践SRE / SLO の監視をやってみよう

    SRE がアツいですね。 昨年は以前に増して SRE 関連のイベントも増え、SRE 人材への注目も更に高まっていると感じた 1 年でした。私も Google Cloud の Customer Engineer として、お客様へ SRE のお話をする機会が増えてきています。 ご存知の通り、SRE は Google から生まれた運用プラクティス、またはそのロール自体を指す言葉です。 詳細は無料で読むことができる書籍を御覧ください。 “Site Reliability Engineering” 及び “The Site Reliability Workbook” (右上の右2つ)は HTML 形式 なので、Google Chrome で右クリックして 翻訳を選択するという簡単な手順で日語でも読むことができます。(書籍がよい方は日語版も購入できます。) 今回のテーマは SLO (Service

    これからはじめる 実践SRE / SLO の監視をやってみよう
  • SlackとGitHubを連携してissueコメントやプルリク通知をチャンネルに流す方法(2020年版) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    SlackとGitHubを連携してissueコメントやプルリク通知をチャンネルに流す方法(2020年版) - Qiita
  • AIOps研究録―SREのためのシステム障害の自動原因診断

    5/14 12:30 - 13:15 How We Foster "Reliability" in DiversitySRE において「信頼性」は最も重要な指標とされています。しかし、一言で「信頼性」といっても、会社の戦略やサービス、文化によって、計測方法や目指す値、その達成方法にいたる全てが同じになることはないでしょう。さらに、一度定義した信頼性が適切であり続けることはなく、会社や組織のフェーズによって、その時々で柔軟に変化していく必要がありそうです。 このように、サービスを取り巻く環境の変化に応じて適切な信頼性を定義し、またその信頼性を「育てて」いく方法として、サービスや組織の戦略と SRE チーム の方向性を揃えたり、SRE チームの垣根を超えて組織全体に SRE の文化を根付かせるための取り組みなどを紹介しながら、多様性とともに SRE がどのように歩んでいくかについてお話します。

  • ALBは3つのAZを指定するのがベストプラクティス?

    先日発生したAWSの大規模障害に関して、2つのAZを使う構成だと片方で障害が発生したときそのAZを切り離して1つのAZで運用できないので、切り離せるように3つのAZで運用すべきという話(ITMedia News, orangeitems’s diary)がありますが、これは理想的ではないと思います。 RedisやMongoDBなどのpersistenceのクラスタで3つの独立したゾーンに各ノードを配置する設計は定番で、それは障害でネットワークが分離した場合にsplit-brain問題を防ぐために原理的にそうせざるを得ないわけですが、今回の障害はそれとは関係ありません。 ALBが2つ以上のAZの使用を前提としており、1つのAZのみの設定ができないのは、AWSが提唱するベストプラクティスを強いることを目的とした(言わば「おせっかい」な)仕様のためです。ロードバランサの原理として2つ以上の独立し

    ALBは3つのAZを指定するのがベストプラクティス?
  • DockerでnginxのstreamプロキシのDNS解決設定

    nginxのupstreamのDNSによる名前解決は起動時のみでキャッシュされる。 そのためDNSを利用したフェールオーバーや負荷分散に課題があります。 ※商用版ではupstreamの機能で解決可能です。 nginxのstreamの設定 次のような設定で対処した。 確認用に接続先はwww.yahoo.co.jpで実施している。 stream { resolver 127.0.0.11 valid=1s; error_log /log/nginx/stream.log info; map "" $backend_server { default www.yahoo.co.jp:80; } server { listen 0.0.0.0:8888; proxy_pass $backend_server; } } [info] 9#9: *14 proxy 172.18.0.22:45222 c

    DockerでnginxのstreamプロキシのDNS解決設定
  • 【nginx】ホスト名指定でのリバプロはresolverをセットで - ポンコツ.log

    nginxのリバースプロキシ設定で、転送先をIPではなくホスト名で指定していると、ある日突然エラーが発生する現象に遭遇しました。 ググると複数の記事が見つかったので、よくある現象?のようです。 リバースプロキシ設定 元々は↓のように設定していました。 proxy_passのところで、リクエストの転送先をホスト名で指定しています。 location ~ ^/hoge { proxy_pass https://example.com; } この状態だとnginx起動時に転送先のIPがキャッシュされ、以降はキャッシュしたIPへ転送するようになるようです。 IPが変わってもキャッシュしているIPへ転送し続けるので、AWSのELBを使っていたりすると、IPが変わった際にエラーが起きてしまうことも。 それを回避するため、proxy_passと併せてresolverを設定しておきます。 resolver

    【nginx】ホスト名指定でのリバプロはresolverをセットで - ポンコツ.log
  • NginxのリバースプロキシでのDNS名前解決における落とし穴 - kkty’s blog

    問題 Nginxのリバースプロキシでは、プロキシ先として(IPアドレスの他に)ホスト名を指定することができます。 その際、設定ファイルのlocationコンテキストは以下のようになると思います。 location /hoge/ { proxy_pass http://example.com/; } しかし、これには大きな落とし穴があります。DNSの名前解決がnginxの起動時にしか行われず、TTLは無視され、初回起動時に解決されたIPアドレスがずっと使われてしまうのです。 もちろん、ホスト名に対応するIPアドレスに変更があったときにエラーになってしまいます。 自分の場合では、プロキシ先としてAWSのELBのホスト名を指定しており、(ELBのアドレスは固定ではないので)この問題が原因で502エラーを吐き出してしまっていました。 解決策? nginxにはresolverというディレクティブがあ

    NginxのリバースプロキシでのDNS名前解決における落とし穴 - kkty’s blog
  • nginxのupstreamコンテキストで有償のresolveオプションを使わずに動的にDNS解決する - Qiita

    TL;DR nginxからリバプロ先のバックエンドがELBの場合は、IPアドレスがキャッシュされないようにDNS名を動的に解決しないといけない。 serverコンテキストならset変数使うハックで回避可能だけど、この技はupstreamコンテキストで使えない。 nginxのupstreamコンテキストでresolveオプション使おうと思ったら有償版の商用機能だった罠。 upstreamコンテキストで必要な負荷分散しつつ、Unixドメインソケットを1段挟んで、serverコンテキストでset変数するハックと組み合わせると動的にDNS解決できた。 経緯 nginxをリバースプロキシとして使っていて、バックエンドにELBみたいな構成の場合、DNS名を起動時に名前解決してIPアドレスをキャッシュしてしまうので、IPアドレスが変わると繋がらなくなるというのはよくあるハマりポイントみたいです。 で、調

    nginxのupstreamコンテキストで有償のresolveオプションを使わずに動的にDNS解決する - Qiita
  • ALBを3AZにしてもあの障害は乗り切れないんじゃない?

    昔起きたALBの障害 東京リージョン (AP-NORTHEAST-1) で発生した Amazon EC2 と Amazon EBS の事象概要 以前、このような障害が発生しました。 今回のイベントは、東京リージョンの1つのアベイラビリティゾーン(AZ)の一部に影響を与えました。 AZの一部に障害が発生し、 予期せぬ影響(例えば、 Application Load Balancer を AWS Web Application Firewall やスティッキーセッションと組み合わせてご利用しているお客様の一部で、想定されるより高い割合でリクエストが Internal Server Error を返す)があったことを AWS では確認しております。 ALBに障害が発生した事例が多くあったようです。 もしも僕たちのALBが、3AZだったら そんなこんなで 3AZ だったら大丈夫だったんじゃね?とい

    ALBを3AZにしてもあの障害は乗り切れないんじゃない?
  • 信頼性の柱

  • Infrastructure as Codeによるインフラ運用:AWSアカウント分離とリソースのコード化 | Recruit Tech Blog

    はじめに このエントリは全9回を予定する18卒新人ブログリレーの第6回です。 はじめまして。今年の4月にリクルートテクノロジーズに新卒入社した小松凌也です。 約3ヶ月に渡る新人研修を終え、7月にサービスオペレーションエンジニアリング部プロジェクト基盤グループに配属されました。現在はインフラエンジニアとして、新規プロダクトの基盤構築や既存プロダクトのインフラ運用フロー改善などに取り組んでいます。 今回この記事で紹介するのは、Amazon Web Services (AWS) 上に構築済みの既存サービスの開発環境を別のAWSアカウントに分離し、Terraformというツールを用いてソースコードでインフラの構成を管理できるようにした事例です。 事例の紹介に加えて、Terraformを使用する上での実践的なテクニックについても随所で解説します。 前提 アカウント分離とTerraform化の背景 こ

    Infrastructure as Codeによるインフラ運用:AWSアカウント分離とリソースのコード化 | Recruit Tech Blog
  • マネコン起動もできるAWSのスイッチロール用CLIツール「AWSume」の紹介 | DevelopersIO

    プロファイル指定したマネジメントコンソールの起動までできる、コマンドラインツールです。全AWSユーザーが求めていたのはこれなんじゃないでしょうか。どすこい。 「スイッチロールからの作業、AWSのベストプラクティスだけれどツールの設定がめんどくさいよね」 ハマコー、最近会社のパソコンをIntel MacからM1 Macに切替たことがきっかけで、いろんなツールを再度セットアップしてました。 普段AWS触っている身としてはスイッチロールして作業する環境も必須なので、改めて最新ツールを物色していたところ、弊社技術番長の岩田御大に教えてもらったAWSumeというツールが圧倒的に便利だったので、前のめりに紹介します。 標準公式のconfigとcredentialファイルのみで動作し、別途設定ファイルは不要 コマンドラインから、プロファイル名の自動補完に対応 指定したプロファイルから、マネジメントコンソ

    マネコン起動もできるAWSのスイッチロール用CLIツール「AWSume」の紹介 | DevelopersIO
  • AWS KMS SSMでセキュアに環境変数を扱う on Terraform|ハマー

    初めに記事は自分が業務で経験した内容を忘れない為に備忘録的に記載しています。色々アドバイスをいただけるとありがたいです。 アジェンダ ・SSMとは ・KMSとは ・terraformでの記述方法 ・ECS タスク定義に変数として埋め込むSSMとはインスタンス管理を行う機能群であり、多様な機能があります。セッションマネージャ等々...ほんとに他種多様な機能があります。 ここでssm parameter storeに焦点を合わせて説明します。 parameter store AWS Systems Manager パラメータストア (パラメータストア) は、設定データ管理と機密管理のための安全な階層型ストレージを提供します。パスワード、データベース文字列、Amazon Machine Image (AMI) ID、ライセンスコードなどのデータをパラメータ値として保存することができます。par

    AWS KMS SSMでセキュアに環境変数を扱う on Terraform|ハマー
  • AWSで使うパスワードなどの機密情報を暗号化してGit管理する

    AWSで使うパスワードなどの機密情報を暗号化してGit管理する はじめに AWSでパスワードやクレデンシャル情報などの機密情報の管理はどうしていますか? AWS Systems Managerパラメータストアに値を登録し、EC2などから参照していることが多いかと思います。 今回はTerraformを使い、パラメータストアに機密情報を安全に保存する方法をご紹介します。 パラメータストアに登録 Terraformでは以下のコードでパラメータストアに登録することができます。 今回の場合は、 password という文字列が機密情報とします。 resource "aws_ssm_parameter" "parameter" { name = "secret-value" value = "password" type = "SecureString" } 機密情報を登録するため type は Se

    AWSで使うパスワードなどの機密情報を暗号化してGit管理する
  • AWSにおけるALB&NLBのBlue/Greenデプロイメント設計 - How elegant the tech world is...!

    はじめに どうも、iselegant です。 前回、執筆した商業誌についてブログで紹介させていただいたところ、大変多くの反響がありました。 コメントをくれた方、書籍に関心を持っていただいた方、当にありがとうございます🙇 AWSコンテナ設計・構築[格]入門 | 株式会社野村総合研究所, 新井雅也, 馬勝淳史, NRIネットコム株式会社, 佐々木拓郎 | | 通販 | Amazon 日から少しの間、分量調整と締め切りの都合上、商業誌では執筆しきれなかった AWS 設計に関するサイドトピックについて、ブログ上でご紹介したいと思います。 今日はALB (Application Load Balancer) と NLB (Network Load Balancer) の Blue/Green デプロイメントに関する設計がテーマです。 AWS で Web アプリケーションの可用性とパフォ

    AWSにおけるALB&NLBのBlue/Greenデプロイメント設計 - How elegant the tech world is...!
  • Terraformの種類と機能差を解説!価格もわかるよ!

    みなさま、こんにちわ。HashiCorp 奥です。7時にPublishするはずが19時と間違えておりました。最初から謝罪でスタートすることになってしまいました。ごめんなさいm(_ _)m ※Disclaimer: エントリは完全にプライベートな活動のため、個人の所感を交えたカジュアルなブログになっています。ご了承いください。内容は正確ですw (2022年2月9日追記:エントリは2020年12月11日当時の情報を元にしているため、古い内容も含まれます。特に有償版の詳細についてご興味ある方はsales_japan@hashicorp.comまでお問い合わせください) 大好きだったGCPチームを去り、HashiCorp Japanで日の立ち上げを始めてから、早2年。今年もいろんなことがありました。お陰様でHashiCorpは順調に成長しており、コロナ禍の3月にシリーズEで$175M(189

    Terraformの種類と機能差を解説!価格もわかるよ!
  • GitHub Actions / GitHub CLI を使った PR レビューをサポートする取り組み - Uzabase for Engineers

    NewsPicks でサーバーサイドエンジニアを務めている池川です。 サービス運営をされている会社さんであれば、どの会社さんでも何らかの障害を起こし、その対策のための MTG を実施されていると思います。 が、サービスを長く運営していると、過去に発生してしまった事故と似た事故を発生させてしまうということが往々にしてあります。 NewsPicks でも、そのような事故が発生し、どうしたものかということが MTG での話題にのぼりました。 そこで、 NewsPicks ではそのような事故を風化させないための取り組みとして、事故が発生しそうな PR に対して、 GitHub Actions を用いて注意をうながすメンションを投げるワークフローを設定しました。 簡単な取り組みとなっているので、ご参考になれば幸いです。 背景 使用したツール 処理フロー GitHub Actions での実装 実際の

    GitHub Actions / GitHub CLI を使った PR レビューをサポートする取り組み - Uzabase for Engineers
    jinjin252525
    jinjin252525 2022/10/24
    github