1
/
5

ランディングページを変更しました

(文中内の横文字や略称の説明はページの最後にある用語集セクションをご覧ください)

製品ページが落ちる...

当社は自社開発ソフト「LiteraApp」(リテラアップ)というWindows用ソフトウェアを販売しています。自社製品なので当然自社で製品紹介ページも管理しているのですが、AWSのEC2インスタンスの最小スペックサーバで運用していたせいか、結構頻繁に落ちる、、そんなにアクセス数あるわけでもないはずなのに、、、ということでランディングページ用のサーバを1台増やして冗長化しました。

新着情報CMSが....

冗長化して数日後、社内から
「管理画面にログインできないんですが、、、、」
というクレームがSlackに投下されました。

聡明なわたくしはすぐにピンときましたね。
(あ、これ冗長化のせいだ)と。

てか、サーバ内に新着情報データベースあったんかーい、という社内コミュニケーションのミス。

もともと冗長化した時に、ロードバランサーに紐づけたターゲットグループの設定の中の、スティッキーセッションをONにしてしなかったのも原因でしたけどね。


スティッキーセッションとは上図の例でいうと、赤、紫、青の線で表す通り「同じ人なら同じサーバに接続を割り振る」というものなんですが、これを設定しないと、ログインしたサーバとは別のサーバにLPが接続を割り振ってしまい、うまくページを表示できない、という不具合が発生します。

まさかランディングページのサーバ内にデータベースがあると露ほども思ってないわたくしは、この設定を有効化していなかったんですね~。というわけで早速設定をONにし、これでもう大丈夫だろう(でも片方で入力した新着情報はもうひとつのサーバに反映されないけど)と思い 深い睡眠についた。

ランディングページの精霊からクレーム...

その翌日、たまたまLPページを修正する必要があった社内別担当から耳打ちが...

ランディングページの精霊「これCI/CDで自動的にLPページ更新されるようになってますけど、もう片方のページに反映するにはどうすりゃええですかね?....」

わたし「CI/CDのパイプライン増やすか、更新されたタイミングでSCPのスクリプトを動かして同期されるとかしないとあかんすね」

ああああああああああめんどくさー!(心の声)

心機一転

どうせLPページなんて毎日更新するものでもないし、動的ページでもないし、それなら最近勉強したAmplify化してしまおう!!!!と思い立ち、LPページをまるごとコピーして画像などのパスを変更し、CodeCommit+AmplifyへのCI/CDを構築。最近ってこの設定するのに秒で やれるんすなぁ....と思いつつEC2を冗長化したその週のうちに、LPページのAmplify化を行い、サブドメインで公開後、冗長化したサーバを停止しました。サヨナラLPのSUBページ。短い間でしたがお世話になりました。

サーバレス環境一歩目

LPページをAmplify化することにより、EC2のサーバを管理する手間と、サーバ費用を削減することができ、何かトラブルがあったときは、全部AWSさんのせいにできるようになりました。
今はまだNEWS用のCMSのために旧LPのサーバ残しているので、これもDynamoDB化して更にサーバ費用の削減とサーバレスの知見を増やしていきたい所存です。

その辺の作業は任せろ!という意気込みのある方!ぜひご応募お待ちしております。


Web Engineer
裁量をもって働きたい!自由な発想で世の中に便利なものを届けるエンジニア募集
私たち株式会社リベンリは、湘南を拠点に活動するソフトウェア開発会社です。 主に自社開発の「Litera App(リテラアップ)」と、システムの受託開発事業を展開しています。 ■Litera App■ 「Litera App」は、ユーザーのPC操作に合わせて、より効率的な操作方法や覚えるべき機能を、自動で教えてくれるWindowsソフトです。 いつも通り作業するだけで、必要な操作方法だけをその場でアドバイスしてくれるので、効率よくスキルを習得できます。業務傾向のレポートを活用すれば、さらなる業務効率化と経費削減を見込めます。 ■受託開発■ 不動産、金融、製造、サービス業など、様々な業界のクライアントから依頼を受けて開発をしています。 これまでの経験を生かして、企画立案からお手伝いするケースもあります。 ユーザー目線に立って、どのようなUI/UXを構築するか、クライアントやサービスの利用ユーザーの意見を汲み取り、構築していきます。開発段階におけるメンバーからの意見も大切にしています。 ▍今後の展望 日本の生産性を高めるために「Litera App」の開発を進めるとともに、より良いシステムを世の中に構築する受託開発の両軸で拡大を図っていきます。 「Litera App」は、既に大手企業での導入が進んでおり、今後も新機能の開発を進めていく予定です。 また、受託開発においては、開発メンバーが様々なシステムに触れて成長することで、 自社のノウハウを高め、新しいサービスに、どんどんチャレンジしていける開発会社になることを目標にしています。 ■人の生活を便利にするものをつくり続ける■ Litera Appや受託開発事業で、その業界特有の課題やユーザーのニーズを知ることが出来ます。 そこに、リベンリが大切にする、「自由な発想とアクション」を掛け合わせて、 世の中の生活をより便利にするものをつくっていきたいと考えています。
株式会社リベンリ


ここからは用語集

AWS ・・・ Amazon Web Services
EC2 ・・・Elastic Compute Cloud
インスタンス・・・サーバだと思ってくれれば
ランディングページ/LP・・・検索した人がたどり着くページ
冗長化・・・同じ内容のサーバを複数台設置し、どれかが停止しても変わらずサービス提供できるさま
ロードバランサー/LB・・・負荷を分散する装置
ターゲットグループ・・・ロードバランサーが接続を割り振るサーバが予め設定されたグループ的なもの
スティッキーセッション・・・ねばっこい接続
CMS・・・コンテンツ管理システムの略
DynamoDB・・・フルマネージド、サーバーレスの key-value NoSQL データベース(わかりづらry)
CI/CD・・・コンティニュアスインテグレーション/コンティニュアスデリバリーor デベロップメント
SCP・・・sshを利用してリモートマシン間でファイルコピーするコマンド(sshはここでは記載しない)
Amplify・・・AWS Amplify を使用すると、開発からデプロイまで、機能が豊富なフルスタックのウェブアプリケーションとモバイルアプリケーションの構築がこれまでになく簡単になります。

株式会社リベンリ's job postings
4 Likes
4 Likes

Weekly ranking

Show other rankings
Like Makoto Sakurai's Story
Let Makoto Sakurai's company know you're interested in their content