サービスメッシュと Istio の基本を理解する

この記事では、マイクロサービスやクラウドコンピューティング、DevOps の文脈で登場する サービスメッシュ について解説します。登場した背景や概念を見た後、サービスメッシュを実現するための OSS である Istio についても解説し、実際にサンプルアプリケ…

Kubernetes でサイドカーパターンを試す

コンテナを用いたシステムのアーキテクチャパターンはいくつか提唱されています。今回はその中で、分散システムのデザインパターンであるサイドカーパターンを取り上げます。サイドカーパターンは、マイクロサービスの課題を解決するために生まれたサービス…

Kubernetes のデプロイメントを利用した高可用性構成を試す

はじめに 本記事では、Kubernetes(K8s)においてポッド数の管理をするデプロイメントの具体的動作を確認していきます。 デプロイメントを利用した高可用性構成(HA 構成)を Amazon EKS 上で試行出来るようになることを目標とします。

EKS で永続ボリュームを利用する

はじめに Kubernetes(K8s) クラスタ上のアプリケーションのデータの保全性を確保するために利用するのが永続ボリューム(Persistent Volume = PV)です。 外部ストレージシステムと連携することで、データの損失、破損、想定外の変更などからデータ資産を…

Elasticsearch と Kibana のセキュリティを設定する

この記事は Elasticsearch のベーシックライセンス(デフォルトの配布)で、Elastic Stack 6.8 および 7.1 から一部無料になったセキュリティ機能の設定を調査、実施した内容をまとめたものです。

Amazon EKS のロードバランサーで ALB を使う

はじめに 以前の記事で Amazon EKS で LoadBalancer に設定されたサービスを作成すると、Elastic Load Balancing (ELB) が自動的に生成され、EKS のサービスが外部に公開できることを試しましたが、EKS で利用できるロードバランサーについてもう少し深く調…

Elasticsearchのスコア計算を紐解く

この記事は Elasticsearchで検索を行った際の結果のランク付けのもとになっている、スコアの計算がどのようにおこなわれているのかと、スコア計算のパラメータを調整する方法を調査してまとめたものです。

Amazon EKS on Amazon Fargate を試す

はじめに 以前の記事で AWS EKS (Elastic Kubernetes Service) ワーカーノードを EC2 上に作成しました。 EC2 のインスタンス上で実行されるワーカーノードを作成した場合、その EC2 インスタンスのリソースタイプをどうするか、スケールアウトをどうするか…

Amazon EKS を触りながら Kubernetes に入門する

はじめに OSS活用による開発生産性向上とアプリケーションの安定動作の両立が求められる中、「アプリケーションのコンテナ化」は不可欠なものになりつつあります。しかしながら、コンテナ化されたアプリケーションを合理的に運用するには、種々の問題があり…

Elasticsearch で天気予報の質疑応答システムを作ってみた

この記事は Elasticsearchを用いて、自然言語で天気予報の問い合わせができる質疑応答システム(Slackの Botアプリ)を作成する方法を調査してまとめたものです。

go-elasticsearch で Amazon Elasticsearch Service へアクセスする

この記事は Elastic 社公式の Go で実装された Elasticsearch クライアント go-elasticsearch を使って AWS Lambda から Amazon Elasticsearch Service(Amazon ES)へアクセスする方法をまとめたものです。

Lambda から別の Lambda 関数を非同期で呼び出す

AWS Lambda 関数から別の Lambda 関数を呼び出す処理を実装します。 事情があって、非同期で呼び出す方法を調べてみました。

AWS CloudWatch Logs で上がったアラームを検知して、Lambda 経由で Slack にエラーログを投稿する

CloudWatch Logs 収集対象のログ監視をしてアラームが上がってきた場合、SNS で通知することは可能ですが、エラーログの内容までは通知されません。そこで、SNS からの通知を基に、エラーログの内容を取得し、更に、その内容を Slack に投稿するようにしてみ…

Go + AWS Lambda で Slack Bot を作る

AWS Lambda で動く Slack Bot を Go 言語で実装してみました。

Amazon Cognito と 各種アカウントを連携させる

概要 AWS が提供する認証・認可基盤である Amazon Cognito と各種ソーシャルアカウントの連携を試してみました。 今回は、 Google アカウント、LINE、Slack を試してみました。

JavaScript: forループの中で配列にループ変数扱う関数(クロージャ)を埋め込みたい

forループの中で配列にループ変数扱う関数を埋め込みたいが… // sample1.js var funcs = []; for (var i = 0; i < 3; i++) { funcs[i] = function() { console.log("My value: " + i); }; } for (var j = 0; j < 3; j++) { funcs[j](); } 以下の通り出力する…

Javaのクラスファイルの中身を知る ConstantPoolテーブル

はじめに Javaのプログラムがどうやって動いているのかを知りたい。 手始めに、javaのクラスファイルの中身がどうなっているか、特にプログラム中の各種名前(クラス/関数/フィールドなど)や固定値をどうやって格納しどうやってそれを参照しているかについて…

JAWS-UG Osaka 「知ってると役立つ、AWSちょいテク祭り」に参加しました

2月6日(木)に開催された、「JAWS-UG Osaka 『知ってると役立つ、AWSちょいテク祭り』」に参加して来ました。弊社のエンジニアとしてLT枠で登壇しましたので、スライドを公開します。

GitLab CI/CD を試しに使ってみる

社内でのソースコード管理に利用している GitLab では、CI/CD を支援するための GitLab CI/CD というツールが利用可能です。DevOps を実践するための第一歩として、 GitLab CI/CD を使ってみました。

aws-serverless-express で API をサーバーレス化する

Node.js のフレームワークである Express の書き方で、デプロイすると AWS Lambda + API Gateway で動く aws-serverless-express を使ってみました。Express で作った既存の API を大幅に作り変えることなしにサーバーレス化することができます。

AWS Lambda + API Gateway を使って Quarkus + Scala で実装した Slack の Bot を作ってみた

本エントリは、AWS LambdaとServerless #2 Advent Calendar 2019 - Qiita の 6 日目です。 要約 AWS Lambda と API Gateway を使って、Slack の Bot を作ってみました。 Scala で書いたプログラムを GraalVM でネイティブ用のバイナリにして、高速起動を実現…

GitLab Pages で独自ドメインの静的 Web サイトを HTTPS で公開する

当社のホームページはもともと WordPress で作成されたものを利用していましたが、静的サイトとして提供しても十分な内容であるため、脱・WordPressしました。 その際、これまで VPS 上の Web コンテンツを公開する方法から、「GitLab Pages」を利用する方法…

ホームページの問合せフォームを Google フォームを利用して実装する

Linkode のホームページを脱・WordPress する際に、もともと WordPress のプラグインを利用していた「問い合わせフォーム」を独自実装する必要が出てきました。 独自実装するにあたっての条件として、 スパムメール対策として問合せ内容送信先のメールアドレ…