ENECHANGE Developer Blog

ENECHANGE開発者ブログ

Circle CI から buildkite に移行し、コスト抑制しつつテスト実行時間を短縮した話

ENECHANGE チーフエンジニアの cuzic こと、川西です。

運動不足の解消のために、朝に筋肉体操をやり始めました。 他の種目はそこまででもないのに、腕立て伏せだけ、異常にきつい。

自分に甘えない!最後までやりきる!という気持ちで日々続けています。

続きを読む

experimental な Docker 環境を利用するための手順

ENECHANGE チーフエンジニアの cuzic こと、川西です。

最近、誕生日を迎えました。 かなり今さらですが、バースデーケーキの砂糖・甘さがもたらす幸福感、至福感はすごいですね。 甘いものが好きな人が多い理由が分かったような気がしました。

別記事でまた執筆する予定の buildkite の導入を現在進めているのですが、それに先行して、experimental な機能を活用した上で Docker 環境を構築しなおしたので、その内容について、紹介します。

続きを読む

AWS Elastic Beanstalk にサブモジュール込みでデプロイする際は、CLI実行ユーザにサブモジュールにアクセスできる権限が必要になる

こんにちは。蜜蜂の館のリメイク度合いが楽しみなgamenechangeです。今回は、AWS Elastic Beanstalk(以下、EB)に対して、サブモジュールを使用しているプロジェクトを$ eb deployする際にハマってしまったことを書かせて頂きます。

以下の内容では、Railsアプリをデプロイすることを前提としています。

続きを読む

Elastic BeanstalkでELB作成を抑止する

Operations Tips vol6

こんにちは。移動に要していた時間を他のことに充てられて想像してた以上にリモートワークが充実(環境整備は必須)しているCTO室のkazです。

Elastic Beanstalkで管理しているプロダクトを任意のALBでパスルーティングする場合、コスト削減のためにELB作成を抑制することがあります。その時の設定のコツと注意点を書きたいと思います。

続きを読む

AWS Elastic Beanstalk で使用される Ruby のバージョンを指定する方法と、それぞれの方法の特徴について

こんにちは。毎日 島の整備に忙しい ENECHANGE の gamenechange と申します。今回は AWS Elastic Beanstalk(以下、EB)において、使用される Ruby のバージョンを指定する方法および各方法の特徴について書かせて頂きます。

Rails アプリをデプロイしている前提となります。

続きを読む

AWS Global AcceleratorでLoadbalancerのPublicIPを固定する

こんにちは。ここ最近のパニック相場の影響でガチホしてるポートフォリオが真っ赤になってるCTO室のkazです。

非機能要件概要

  • 外部システムとデータ連携している時、外部システム側がDNS名ではなく、IPを指定した接続のみという非機能要件もあったりします。PublicIPを持つEC2 Instanceでリバースプロキシを作成したり、Network Loadbalancerを使用すればIPを指定した接続という要件は満たせます。しかしながらSSLアクセラレーション機能がなかったり、バックエンドサーバのInboundを0.0.0.0/0にしておく必要があったり、EC2に依存する設定が複数あります。 また、Direct ConnectとVPC endpointを使用して外部システムと同じ閉域網で構築したりもします。 ただし、使用するコンポーネントも多く、外部システムとの作業調整やデータ提供の可用性を高めるためのコストが高くなりがちです。 また、Application LoadbalancerとClassic LoadbalancerにはPublicIPが2つ付きますが、このIPは動的でAWSの任意のタイミングやトラフィック需要によって変動します。そのため、IP変更されたことを検知するためにポーリングして変更を実施する仕組みが必要だったりします。

  • Global Acceleratorを使用すると、LoadBalancerのIPを実質的に固定することが可能になります。複雑になりがちな構成をシンプルにできます。

続きを読む