Deno を Solaris (OpenIndiana) で動かす

JavaScript/TypeScript ランタイムの Deno を OpenIndiana に移植しました。

GitLab で管理している AWS SAM プロジェクトの自動デプロイに AWS CodePipeline を使う

GitLab で自動デプロイを実施するには GitLab CI/CD が使えるのですが、今回は AWS CodePipeline (と CodeCommit、CodeBuild) を使って AWS SAM プロジェクトの自動デプロイを構成してみました。

slack-go で Sign in with Slack を試す

Go 言語のライブラリ slack-go を使って Sign in with Slack の動作を見てみました。

Docker Compose CLI を使って Keycloak を AWS ECS にデプロイする

Docker Compose CLI を使い、docker-compose.yml の設定から Keycloak を AWS ECS にデプロイします。

Keycloak を試してみる

オープンソースのアイデンティティ・アクセス管理ソフトウェアである Keycloak を試してみました。 Keycloak を OpenID Connect の Identity Provider としてセットアップし、クライアントと認可コードフローの動作を確認します。

AWS Lambda(Go) で Lambda レイヤーを活用する

Serverless Framework を使い、AWS の Lambda(Go) で Lambdaレイヤーを活用する方法を調べてみました。

Terraform で ECS 環境を構築する④ 〜DynamoDB, SQS, ECR, CodePipeline 編〜

このシリーズの一旦の完結編です。 前回構築した ECS にデプロイする仕組みを構築します。 また、コンテナアプリから利用する DynamoDB と SQS も Terraform で構築します。 blog.linkode.co.jp blog.linkode.co.jp blog.linkode.co.jp

API Gateway から Lambda 関数を非同期で呼び出す

Serverless Framework を使い、AWS の API Gateway から Lambda 関数を非同期で呼び出す方法を調べてみました。

Terraform で ECS 環境を構築する③ 〜ECS on Fargate 編〜

前回、前々回の続きで、Terraform で ECS 環境の構築を行います。 今回は、ECS の部分を構築します。 blog.linkode.co.jp blog.linkode.co.jp

Terraform で ECS 環境を構築する② 〜ドメイン設定・ALB編〜

前回の記事から、Terraform で ECS 環境の構築に取り組んでいました。 今回は、ドメインの設定とロードバランサの設定を行い、HTTPS で外部からのリクエストを受けられるようにします。 blog.linkode.co.jp

Terraform で ECS 環境を構築する① 〜ネットワーク編〜

以前の記事で、Terraform の基本的な使い方を紹介しました。ここから何回かに分けて、ECS を使ってアプリを動かす環境を Terraform で構築する方法を紹介していきます。 blog.linkode.co.jp

Word2VecでElasticsearchのSynonymを生成する

Elasticsearchには、あらかじめ設定されたSynonym(シノニム/同義語/類義語)で検索を行える機能があります。 今回は、このSynonymの設定を自動的に生成した手順を紹介します。

Terraform を使って IaC を始める

はじめに AWS をはじめとした各種クラウドサービスのインフラを安全かつ効率的に管理するためのツールである Terraform を導入します。 実際に、いくつかの AWS のリソースを Terraform で作成してみます。 Terraform を導入するにあたって IaC (Infrastruct…

Amazon ECR で Docker イメージを保管する

コンテナ開発において作成した Docker イメージを保管するコンテナレジストリとして、 AWS で提供されている Amazon ECR (Elastic Container Registry) を利用してみます。

Istio を Amazon EKS で利用する

前の記事で、サービスメッシュを実現する Istio をローカル環境で利用してみましたが、今回は Amazon EKS で利用してみます。 blog.linkode.co.jp

Developpers Summit 2020 Summer に参加してきました

2020年7月21日に開催された「Developper Summit 2020(デブサミ2020夏)」に参加しました。 今回は、初のオンライン開催で開催されました。 関連資料等についてはこちらにまとめられておりますが、私が参加したセッションの内容のレポートを書いておこうと思…

Helm を使って Kubernetes のアプリケーションをデプロイする

ここまで、Kubernetes(K8s)クラスタのアプリケーションをデプロイする際には、アプリケーションの設定内容を記述したマニフェストファイルを作成し、 kubectl コマンドで適用していました。しかしながら、設定ファイルごとに kubectl コマンドを実行するた…

Elasticsearch のアナライザをカスタマイズする

この記事は Elasticsearch で検索を行った際にバックエンドとして動作しているアナライザの仕組みとそのカスタマイズ方法についてまとめたものです。 確認している環境は Elasticsearch 7.6.2、Kibana 7.6.2 です。

サービスメッシュと 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 関数を呼び出す処理を実装します。 事情があって、非同期で呼び出す方法を調べてみました。