Tagbangers Blog

Blog

MapboxGLでGeocoderを使ってみる

MapboxGLで使うGeocoderの紹介です。 地名、住所などから経度緯度を調べることができます。 Your browser does not support HTML5 video. まずはMapboxのユーザー発行後、Access tokenを取得する必要があります。 今回はpk.〜から始まる物を使います。 https://account.mapbox.com/ ステップを踏んでやり方を教えてくれるのでプロジェクトに合わせてinstall&importしていきます。 この後の細かいところの説明は公式にお任せしまして... https://docs.mapbox.com/mapbox-g...

CloudWatch Logs のロググループ名を awscli で取得する

今回は小ネタです。 Elastic Beanstalk の検証作業をする中で、不要な Log groups が大量にできてしまったため、整理していました。 cli で消したくなったので、aws logs delete-log-group で削除しようとしたのですが、--log-group-name を指定するためにロググループ名を特定する必要があります。 logs のオプションを確認するも、ロググループ名の一覧の確認がなさそうだったので?  (あればそっと教えていただきたいです...) describe-log-groups と jq を使用して確認しました。 コマンド less に渡してざっ...

Laravel Container環境内packageの脆弱性をCloud NativeのPrincipleを用いて解決

Introduction PHPのApplication(Laravel)をContainerで動かす際に一般的にはDockerfileを用いると思うが、 dependenciesの脆弱性やpackageのUpdateなので開発者が手動で治す必要が出てくるケースがあります。 Containerで動かすImageは常に最新のpackageを保つ必要があるが、開発者が一つ一つ更新するのはかなり手間がかかるしCloudNativeの観点から見るとあまり好ましくないです。 そこでApplicationをcommandでpackしてimageを作れば毎回最新のimageを使用することができ、開発者のim...

Mapboxで始めるGeoJSON

GeoJSON = JSONベースのGISデータ記述フォーマットで 地球上の緯度・経度のデータと、その配列から点・線・面を表現することができます。  * GISとはGeoJSONのような地理情報データをもとに可視化、分析するシステム Geographic Information System を指します。  地理情報データを座標値(ベクトル)と複数の属性で構成できるので、地球上のある場所(点)、2点間の距離や道路(線)、建物や土地(面)をデータとして表現できます。  点を表現する 以下のような形式で表現します。 {   type: 'Feature',   properties: {  ...

Mapbox Studioの紹介

Mapbox Studioとは? Mapbox Studio is the Mapbox application for managing your geospatial data and designing custom map styles. Use Mapbox Studio to build and design a map to your exact specifications by uploading and editing your own data, utilizing Mapbox-provided tilesets, adding custom fonts and ico...

EKS クラスターのバージョンアップに失敗した(1.15 → 1.17)

はじめに Kubernetes はおよそ 3 か月ごとにリリースされており、各マイナーバージョンは最初にリリースされてから約 9 か月間サポートされます。 また、現在(2020/08/13) Amazon EKS で新しいクラスターで利用する際には以下のバージョンで作成できます。 1.17.6 1.16.8 1.15.11 AWSとしても、クラスターをタイムリーに更新することをお勧めしているのでバージョンアップしようと思います。 Kubernetes 1.16 にアップグレードにするための前提条件 を確認し特に問題なさそうなので、1.15 → 1.17 でバージョンアップします。(といっても飛...

Amazon Aurora MySQL でのフェイルオーバーを利用したインスタンスの切り替え

こんにちは!山﨑です! Amazon Aurora MySQL を利用されている場合に、自発的にフェイルオーバーを行う事で、 RDSに接続できない時間を抑えつつインスタンスの切り替えをする方法を試したのでメモです! まずは、インスタンスではなくクラスター側の DB 識別子 を選択し、「アクション」→「リーダーの追加」 追加する リードレプリカの仕様を入力していきます。 リードレプリカが作成されたら、プライマリに設定されているインスタンスを選択し、 「アクション」→「フェイルオーバー」を選択すると、「ステータス」欄が「Failing-over」という青字表記になります。 今回は、体感で 20 秒...

awsp を使って awscli で使用する profile を手軽に切り替える

今日はコマンドラインでの作業効率をあげるための便利ツール、awsp の紹介です。 タグバンではこの頃、AWSのログイン方法を、AWS Single Sign-On に統一しました。 ログイン先としては、AWS Organizations で管理しているお客さんのアカウントや各社員に配布している検証用(sandbox)アカウントです。 管理者目線では、認証の有効期限の設定や、ユーザーの権限の制御を一元管理できて便利です。 一方で利用者目線としては SSO で認証後に、以下のような方法で複数のアカウントを切り替えて作業する際には手間に感じることもありました。 作業シェルごとに使用するアカウントの環...

Elasticsearch Service へのリクエストがタイムアウトする問題を特定する

概要 この記事では、Elasticsearch Service を使用している Webアプリケーションにて発生した、Elasticsearch へのリクエストを完了できずタイムアウトする問題の原因を特定するために、CloudWatch Logs へスローログをパブリッシュするよう設定したことを紹介します。 問題 Web アプリケーションにて、データ照会画面や検索機能など、Elasticsearch Service へリクエストが発生する機能において、HTTP 502: Bad Gateway が発生しました。 Web アプリケーションログには、Elasticsearch への POST、または...

Rustを始めるための準備

Rust ツールチェインのインストール curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rustupがインストールされます。rustupはRustのインストーラというだけでなく、一連のツールの管理も行ってくれるものです。 % source ~/.cargo/env % rustc --version rustc 1.44.0 (49cae5576 2020-06-01) rustup show を実行すると以下のようにインストールされているツールチェインを確認できます。 % rustup show Defaul...