3 行でまとめると Traefik を使って Docker Compose だけで無停止デプロイを実現 docker-compose.yml に定義するだけ、他の設定ファイルは不要のお手軽さ コンテナは graceful shutdown するようにしておく docker-compose.yml ざっくり作り上げた docker-compose.yml がこちらです。 gist.github.com これだけで動きます。リクエストを投げながら nginx-blue, nginx-green のどちらか一方を落としてもエラーになることはありません。 nginx-blue を停止してもエラーなくレスポンスし続けている様子 Traefik とは Traefik はある種のリバースプロキシです。ただし、 HAProxy や nginx と違ってサービス検出機能が備わっているほか、環境変数やメタデー
ドメインを取得後にそれを使ったメールアドレスで送信できるようになったが、受信先でそのメールが迷惑フォルダへ分類されることがある。 会社では Google Domain でドメインを取得後、Google Workspace を利用してメールを送信できるようになった。DNS の管理は Cloud DNS を利用していて、その設定は Terraform を用いて管理している。 当初の設定はシンプルなものであった。 DNS ゾーンを設定 設定したゾーンに対して MX レコードを設定 resource "google_dns_managed_zone" "example_com_domain" { name = "example-com" dns_name = "example.com." } # https://support.google.com/a/answer/9222085 resourc
この記事は川見てる Advent Calendar 2021およびMoney Forward Engineering Advent Calendar 2021 17日の記事です。 はじめに マネーフォワードでことし10月から京都や鴨川🦆の良さを社内にひたすら宣伝しながらGoやYAMLなどを書いているwalkureです。 入社時の部署自己紹介で「趣味は鴨川🦆です」と言ったりSlackの分報へ鴨川🦆の写真をひたすら貼り続けていたところ、カモグルイ*1とか呼ばれるようになりました。 殆どの仲間は東京にいるので、あづまの地に鴨川🦆の良さを広めるべくこれからも尽力してまいります。 朝の鴨川🦆 最近は天気がいいので朝起きたら鴨川🦆まで行ってラジオ体操してから就業するというドカタ時代のような生活。 現在*2は週一回出社しましょうということになっていて、勤務地が三条大橋西詰にあるので出社したと
【令和2年10月24日更新: Windows 10 20H2のWSL2で確認済み】 Windows 10 64bitではWindows Subsystem for Linux (WSL)を用いて気軽にLinux環境で遊べるようになりました。しかし、そのままWSLのLinuxを起動した場合、Windowsの環境変数PATHを引き継いでしまいます。これにはWindows上のコマンドをそのまま実行できるという利点がありますが、WSLから見えているパスの違いによる起動失敗、予期せぬコマンドの実行、PATHにスペースが含まれていることによる不具合、などの弊害も少なからずあります。 この記事ではWindowsのPATHを引き継がないようにするための設定を記述します。なお、Windows 10のバージョンによって設定方法が異なります。特に明記しない限り、Microsoft Storeで入手できる「Ubu
You can examine and edit files on the root EBS volume on an EC2 instance even if you are in what you considered a disastrous situation like: You lost your ssh key or forgot your password You made a mistake editing the /etc/sudoers file and can no longer gain root access with sudo to fix it Your long running instance is hung for some reason, cannot be contacted, and fails to boot properly You need
Help! I can’t connect to my EC2 instance! Woah! My box just stopped talking to me! Hey! I can’t access the server! These and other variations on the connectivity theme are some of the most common problems raised on the Amazon EC2 forum. The EC2 community and Amazon employees do a valiant job helping users track down and solve these issues despite the facts that (1) there are hundreds of reasons wh
Probably. This website is hosted on a very cheap (£4 a month) VPS. This server has 1 CPU and 2GB of RAM. The slowest part of this website can theoretically handle 4.2 million requests a day. I got these results by benchmarking by websites. I will be benchmarking 2 websites that are hosted on this server. This very website and peepopoll.com Peepopoll.com is basically a single web page with some jav
Reflecting on my 20-year journey as a software developer, I realize some things I wish I had started doing sooner. These practices, habits, and mindsets would have accelerated my growth, expanded my knowledge, and enhanced my overall experience as a developer.
PHP 7.0のリリースから約5年が経過し、そろそろPHP 8.0のリリースも見えてきました。人によっては使い始めて5年目になるはずのPHP 7.xですが、いまだに新しい発見があったりして面白いですね。 本稿ではPHP 7.0から入った定数配列に関する性能改善について紹介します。 PHP 5時代は配列の組み立てコストが大きかった プログラミング上のテクニックとして、辞書データを連想配列としてプログラム中に記述し、これを必要に応じて使うというものがあります。たとえば次のコード例を見てみましょう。このような連想配列を持っておけば、プログラム中で国名コードをを扱う際に実在するかをチェックしたり、国名の日本語表記に変換したりといった処理ができるわけです。 <?php $country_name = [ 'jp' => '日本', 'us' => 'アメリカ合衆国', 'ru' => 'ロシア連邦'
A few years ago I sold all my stuff to explore the world, creating 12 startups in 12 months and building $1M+/y companies as an indie maker such as Nomad List and Remote OK. I'm also a big pusher of remote work and async and analyze the effects it has on society. Follow me on Twitter or see my list of posts. My first book MAKE is out now. Contact me Almost a year a go, I set a goal to launch 12 st
Speed Up Your Development Flow With These Dockerfile Best Practices The Dockerfile is the starting point for creating a Docker image. The file format provides a well-defined set of directives that allow you to copy files or folders, run commands, set environment variables, and do other tasks required to create a container image. It’s really important to craft your Dockerfile well to keep the resul
CloudWatch LogsメトリクスフィルターでWバイト文字(日本語)を指定することが可能です。ドキュメントの通りですが、アルファベット文字以外を利用する際は、二重引用符("")で囲む必要があります。 アルファベット文字およびアンダースコア以外の文字を含むメトリクスフィルターの語句は二重引用符 ("") で囲む必要があります。 フィルターとパターンの構文 本エントリでは、CloudWatch Alarm含むメトリクスフィルターの作成手順と、実際にWバイト文字をロギングしてアラーム通知(メール)を実施してみたいと思います。ここでは、CloudWatch LogsへのロギングにLambda Functionを利用します。 構成 Lambda Function CloudWatch LogsにロギングするためのLambda Functionを作成します。ここではランタイムにPython 3.
全国の nginx 職人のみなさま、こんにちは。野島(@nojima)です。 私の所属するYakumoプロジェクトでは、nginx を Go と Docker によってユニットテスト1しています。 手元で簡単に実行でき、ブランチへのpushのたびにCIでテストされるので、非常に便利です。 この記事では、このnginxのユニットテストについて紹介してみたいと思います。 背景 nginx は極めて柔軟なロードバランサであり、プロダクション環境ではその柔軟さを生かして多彩な役割を担っています。 我々の nginx は、ユーザーからのリクエストを AP サーバーに振り分け、アクセス制限を行い、リクエストをリダイレクトし、HTTPヘッダを付与したり削ったりしています。 しかし、nginx は便利な反面、その設定は極めて複雑になり、読解したり変更したりするのが難しくなっています。 そこで、nginx
はじめに 自宅のスマートホーム化において、当初はGoogle HomeをTTSで喋らせていたのですが、機械的でそっけなく、しばしば聞き取りづらい場面もあったので音声ファイルを再生させる方法を模索しました。その備忘録です。 ※事前に音声ファイルを準備する必要があるため、動的な内容を喋らせたい場合は参考になりません。 構築した環境 Raspberry Pi 3B+ Raspbian Stretch (kernel 4.14.98-v7+) Node-RED環境 nodered/node-red-docker:rpi (Node.js v8.1.3 + Node-RED 0.20.5) 音声ファイルの準備 声素材は「あみたろの声素材工房」から頂いています。 とても可愛い声ですし、組み合わせ音声も作れる程の種類が豊富です。 音声出力する際に逐一ネットワークから音声ファイルをダウンロードしたくないの
のっぴきならぬ事情でDockerコンテナ内からホストへlocalhost でアクセスする必要なときに役立ちそうなのでメモ。 Dockerコンテナ内からホストへアクセスするには こちらの記事が参考になりました。 --add-host オプションを利用すればなんとかなりそうです。 Dockerのコンテナの中からホストOS上のプロセスと通信する方法 - Qiita https://qiita.com/Iju/items/badde64d530e6bade382 localhost じゃなくて良いのなら host.docker.internal というDNS名が用意されているので、それを利用すればよさそうです。 ドキュメントによるとMac/Windowsで利用できそうです。 Networking features in Docker Desktop for Windows | Docker Doc
はじめに enshared というファイルアップローダーサービスを 2 月半ばに魂と生命を生贄にリリースしました。 note にもリリースまでの過程を軽く書いていますが、技術的なことはほぼ書いてないので、技術的なことを Qiita に書きます。 魂と生命を削ってファイル共有サービスをつくりました🎉🎉現在β版です。気分次第でファイルが飛びます。 色んな方からのご意見やご指摘の中で生まれたサービスになります。ぜひ使ってみてください。https://t.co/NbsaLJUUUM アップロードするとこんな感じになります。https://t.co/0iVJdj4Bpf — 🐱めもりー🐹 (@m3m0r7) February 18, 2020 ファイルアップローダーサービスとは? 某巨大掲示板全盛期によく使われていました。「どっとうpろだ」とか有名だと思います。 ファイルをアップロードし、誰
Learn how to scrape data from any subreddit on Reddit including comments, votes, submissions and save the data to Google SheetsReddit offers a fairly extensive API that any developer can use to easily pull data from subreddits. You can fetch posts, user comments, image thumbnails, votes and most other attributes that are attached to a post on Reddit. The only downside with the Reddit API is that i
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く