最近の記事

【GCP】Terraformでロードバランサーたててwebサーバーと疎通するログをBigQueryに連携する

Terraformでロードバランサーに必要なリソースterraformでロードバランサーを実装する場合は疎結合の複数リソースを組み合わせることで実現します。 * google_compute_health_check : ヘルスチェック* google_compute_backend_service : バックエンドサービス* google_compute_url_map : ロードバランサ名となるリソース* google_compute_target_http_proxy

    • EKSにAWS Load Balancer Controllerをデプロイする

      AWS Load Balancer Controller により、Kubernetes クラスター向けの AWS Elastic Load Balancer を管理できます。コントローラは、次のリソースをプロビジョニングします。 Kubernetes Ingress を作成する場合の AWS Application Load Balancer (ALB)。 タイプ LoadBalancer の Kubernetes Service を作成する場合の、AWS Network

      • golangマルチステージビルド

        イメージ構築にあたり最もチャレンジングなものの1つに、イメージ容量を小さくし続けるというものがあります。 Dockerfile 中の命令ごとにイメージにレイヤを追加するため、次のレイヤへと移る前に、不要なアーティファクトを忘れずクリーンアップし続ける必要があります。 本当に効率的な これまで Dockerfile を書くためには、以降のレイヤで必要になるアーティファクトのみを保持するために、シェル芸(shell tricks)を駆使する必要と、レイヤを維持するロジックを用

        • EKSにOICDプロバイダを作成

          クラスターには、OpenID Connect発行者の URL が関連付けられています。サービスアカウントで IAM ロールを使用するには、クラスターのための IAM OIDC プロバイダーが存在している必要があります。 前提条件既存のEKSクラスターが作成済であること。まだ所有していない場合は、Amazon EKS の使用開始 でのガイドのいずれかを参照しながら作成します。 クラスターに、既存の IAM OIDC プロバイダーがあるかどうかを確認クラスターの OIDC プ

        【GCP】Terraformでロードバランサーたててwebサーバーと疎通するログをBigQueryに連携する

          EKSクラスタ作成まとめ

          ほぼ公式チュートリアルに沿って進めています。 AWS Management Console と AWS CLI を使用して、Amazon Elastic Kubernetes Service (Amazon EKS) を使用開始するために必要なすべてのリソースを作成する方法を解説します。ここでは、各リソースを手動で作成します。 このチュートリアルの終わりには、アプリケーションのデプロイが可能な、実行状態の Amazon EKS クラスターが完成します。 このガイドの手順

          EKSクラスタ作成まとめ

          gRPC-Gatewayを使ってサーバと通信する

          grpc-ecosystem/grpc-gatewayのREADMEを参考にして自分なりに理解できるようにまとめています。 全ソースはこちらにあげてます。 依存関係の管理にGoモジュールを使用していることを前提としています。 フォルダ構成grpc-gateway|- api| |- main.go|- client| |- main.go|- proto| |- test.proto|- pb|- gen| |- go| | proto|- ga

          gRPC-Gatewayを使ってサーバと通信する

          エンジニアのググり方まとめ

          1. 言語+エラー内容で検索する最も使われる検索方法かと思います。 例: - node.js {エラー文} - python {エラー文}​ 2. 困っていることをそのまま言語化する# 例 - CSS 適応されない - .envファイル 読み込まれない 3. リファレンスでググる or 調べる補: 各言語のリファレンスは各公式ページのDocsに載っていることが多い #例 - foreach MDN - npm axios 4. 英語でググ

          エンジニアのググり方まとめ

          gRPCでTLS認証して通信する

          本記事の全ソースはこちら gRPCクライアント側の簡単な実装では、通信開始時に grpc.WithInsecure() という引数を渡していましたが、これは「認証をせずに接続する」という指定のため、実運用向きではありません。 ローカルの環境でとりあえず試したいという場合は有効です。 # 抜粋 // client.goconn, err := grpc.Dial(addr, grpc.WithInsecure()) TLS認証と暗号化gRPC では標準で⽤意されている認

          gRPCでTLS認証して通信する

          GoでgRPC通信を試してみた

          公式のチュートリアルのソースから引っ張ってきたものを使って自分で理解できるように書いていきます。 gRPC概要gRPCはHTTP/2.0上で動作するので以下4つの通信方法をサポートします。 1. 単純な単項リモートプロシージャコール(RPC) –クライアントはサーバーに要求を送信し、関数呼び出しの動作と同様に応答を待ちます。 2. サーバー側ストリーミングRPC–クライアントはサーバーに要求を送信し、メッセージのストリームを取得し、メッセージがなくなるまでストリームから読

          GoでgRPC通信を試してみた

          Goの外部/自作パッケージのimportについて

          v1.11以降にGoにはGoPATHモードとmoduleモードがある。 v1.11以前の記事でGOPATHやGOROOTを変更したり、インポート時のエラーでこれらが問題である旨のエラーが出ることからはまることが多かったためまとめ。 本記事では公式が推奨している且つ利便性からmoduleモードでパッケージをimportします。 内部パッケージのインポートまず前提として、moduleモードを使用するため、GOPATHもGOROOTも使用しません。任意の場所に作業ディレクトリ

          Goの外部/自作パッケージのimportについて