2020-01-01から1年間の記事一覧
Serverless Framework を使い、AWS の Lambda(Go) で Lambdaレイヤーを活用する方法を調べてみました。
このシリーズの一旦の完結編です。 前回構築した ECS にデプロイする仕組みを構築します。 また、コンテナアプリから利用する DynamoDB と SQS も Terraform で構築します。 blog.linkode.co.jp blog.linkode.co.jp blog.linkode.co.jp
Serverless Framework を使い、AWS の API Gateway から Lambda 関数を非同期で呼び出す方法を調べてみました。
前回、前々回の続きで、Terraform で ECS 環境の構築を行います。 今回は、ECS の部分を構築します。 blog.linkode.co.jp blog.linkode.co.jp
前回の記事から、Terraform で ECS 環境の構築に取り組んでいました。 今回は、ドメインの設定とロードバランサの設定を行い、HTTPS で外部からのリクエストを受けられるようにします。 blog.linkode.co.jp
以前の記事で、Terraform の基本的な使い方を紹介しました。ここから何回かに分けて、ECS を使ってアプリを動かす環境を Terraform で構築する方法を紹介していきます。 blog.linkode.co.jp
Elasticsearchには、あらかじめ設定されたSynonym(シノニム/同義語/類義語)で検索を行える機能があります。 今回は、このSynonymの設定を自動的に生成した手順を紹介します。
はじめに AWS をはじめとした各種クラウドサービスのインフラを安全かつ効率的に管理するためのツールである Terraform を導入します。 実際に、いくつかの AWS のリソースを Terraform で作成してみます。 Terraform を導入するにあたって IaC (Infrastruct…
コンテナ開発において作成した Docker イメージを保管するコンテナレジストリとして、 AWS で提供されている Amazon ECR (Elastic Container Registry) を利用してみます。
前の記事で、サービスメッシュを実現する Istio をローカル環境で利用してみましたが、今回は Amazon EKS で利用してみます。 blog.linkode.co.jp
2020年7月21日に開催された「Developper Summit 2020(デブサミ2020夏)」に参加しました。 今回は、初のオンライン開催で開催されました。 関連資料等についてはこちらにまとめられておりますが、私が参加したセッションの内容のレポートを書いておこうと思…
ここまで、Kubernetes(K8s)クラスタのアプリケーションをデプロイする際には、アプリケーションの設定内容を記述したマニフェストファイルを作成し、 kubectl コマンドで適用していました。しかしながら、設定ファイルごとに kubectl コマンドを実行するた…
この記事は Elasticsearch で検索を行った際にバックエンドとして動作しているアナライザの仕組みとそのカスタマイズ方法についてまとめたものです。 確認している環境は Elasticsearch 7.6.2、Kibana 7.6.2 です。
この記事では、マイクロサービスやクラウドコンピューティング、DevOps の文脈で登場する サービスメッシュ について解説します。登場した背景や概念を見た後、サービスメッシュを実現するための OSS である Istio についても解説し、実際にサンプルアプリケ…
コンテナを用いたシステムのアーキテクチャパターンはいくつか提唱されています。今回はその中で、分散システムのデザインパターンであるサイドカーパターンを取り上げます。サイドカーパターンは、マイクロサービスの課題を解決するために生まれたサービス…
はじめに 本記事では、Kubernetes(K8s)においてポッド数の管理をするデプロイメントの具体的動作を確認していきます。 デプロイメントを利用した高可用性構成(HA 構成)を Amazon EKS 上で試行出来るようになることを目標とします。
はじめに Kubernetes(K8s) クラスタ上のアプリケーションのデータの保全性を確保するために利用するのが永続ボリューム(Persistent Volume = PV)です。 外部ストレージシステムと連携することで、データの損失、破損、想定外の変更などからデータ資産を…
この記事は Elasticsearch のベーシックライセンス(デフォルトの配布)で、Elastic Stack 6.8 および 7.1 から一部無料になったセキュリティ機能の設定を調査、実施した内容をまとめたものです。
はじめに 以前の記事で Amazon EKS で LoadBalancer に設定されたサービスを作成すると、Elastic Load Balancing (ELB) が自動的に生成され、EKS のサービスが外部に公開できることを試しましたが、EKS で利用できるロードバランサーについてもう少し深く調…
この記事は Elasticsearchで検索を行った際の結果のランク付けのもとになっている、スコアの計算がどのようにおこなわれているのかと、スコア計算のパラメータを調整する方法を調査してまとめたものです。
はじめに 以前の記事で AWS EKS (Elastic Kubernetes Service) ワーカーノードを EC2 上に作成しました。 EC2 のインスタンス上で実行されるワーカーノードを作成した場合、その EC2 インスタンスのリソースタイプをどうするか、スケールアウトをどうするか…
はじめに OSS活用による開発生産性向上とアプリケーションの安定動作の両立が求められる中、「アプリケーションのコンテナ化」は不可欠なものになりつつあります。しかしながら、コンテナ化されたアプリケーションを合理的に運用するには、種々の問題があり…
この記事は Elasticsearchを用いて、自然言語で天気予報の問い合わせができる質疑応答システム(Slackの Botアプリ)を作成する方法を調査してまとめたものです。
この記事は Elastic 社公式の Go で実装された Elasticsearch クライアント go-elasticsearch を使って AWS Lambda から Amazon Elasticsearch Service(Amazon ES)へアクセスする方法をまとめたものです。
AWS Lambda 関数から別の Lambda 関数を呼び出す処理を実装します。 事情があって、非同期で呼び出す方法を調べてみました。
CloudWatch Logs 収集対象のログ監視をしてアラームが上がってきた場合、SNS で通知することは可能ですが、エラーログの内容までは通知されません。そこで、SNS からの通知を基に、エラーログの内容を取得し、更に、その内容を Slack に投稿するようにしてみ…
AWS Lambda で動く Slack Bot を Go 言語で実装してみました。
概要 AWS が提供する認証・認可基盤である Amazon Cognito と各種ソーシャルアカウントの連携を試してみました。 今回は、 Google アカウント、LINE、Slack を試してみました。
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のプログラムがどうやって動いているのかを知りたい。 手始めに、javaのクラスファイルの中身がどうなっているか、特にプログラム中の各種名前(クラス/関数/フィールドなど)や固定値をどうやって格納しどうやってそれを参照しているかについて…