cdkで「Not downgrading existing bootstrap stack from version xxx to version '0'」が出たときのチェックポイント

概要 AWSのcdkでデプロイ時にエラーメッセージ「Not downgrading existing bootstrap stack from version xxx to version '0'」が出たときにチェックすべき点についてメモ ※xxxの部分にはバージョン番号が入る 同じブートストラップを異なるバージョンで使っ…

radikoのエリア判定を取得する方法と修正依頼について

概要 radikoはIPから独自のエリア判定をしていますね。取り敢えず現時点の自分のエリアを知って、間違っていたら修正依頼をかけましょう。 エリア判定の取得方法 どうやらエリア判定は下記のURLで処理されているようです。 レスポンスはJavaScriptになってお…

sapislab開発記録 - インフラ構成

sapislabのインフラ構成について紹介したいと思います。 特に目新しさは無いのですが、サーバーレスと呼ばれるパターンに属する構成になります。 誰もアクセスしていない時は何も動いていないというのが、なんとも面白いですよね。 要素としては「管理画面の…

raspberry pi 3B+でテレビ電話システムを構築する(sapislab版)

システム概要 raspberry pi 3B+ によるテレビ電話システム ※既存の投稿をwherebyとsapislabを使ったバージョンに変えたものです ※記載内容に責任は持てません、全て自己責任でお願いします 概念図 背景 妻が夕食の準備中に子供の相手が大変である おばあちゃ…

sapislab開発記録 - リリースのお知らせ

細々と作っていたsapislabですが、なんとか最低限の機能は実装できたのでリリースしたいと思います。 管理画面はこちらから、ドキュメントはこちらからアクセスできます。 良く言えばシンプル、悪く言えば殺風景、もう少しユーザーフレンドリーな画面にした…

sapislab開発記録 - ビジネスルール

さて、キーバリューのサービスを提供したとして、どんな利用のされ方をするでしょうか? こちらが意図した通りに使ってくれるとは限りません。 無料で無制限としたら1人で大量のキーバリューを使ってしまうかもしれません。 そういったリスクを抑え、最終的…

sapislab開発記録 - 要件定義

では要件を明確にするところから始めましょう。 やりたいことは「状態制御をAPIサービスとして提供する」です。 とても明確なゴールですが、このままでは「言っている本人しか具体的なことは分からない」状態ですね。 システム開発の現場ではお客様のゴール…

GitHub Actions で失敗するようになった話

「何も変えていない」という訳ではないですがCI/CDに関係する部分は変えていないのに失敗するようになったというお話です。 2021/12/10から急に動かなくなりました。 結論から言うと nodejs のバージョンを指定せずに組んでいた為、デフォルトバージョンが16…

さくらのメールボックスを独自ドメインで使う

概要 さくらのメールボックスを独自ドメインで使う際、毎度混乱するので備忘録として 今回は sub.example.com を追加する想定 さくらのメールボックス側で設定すること この「ドメインの追加」は「このドメイン名でメールが来るよ」という程度のもので、DNS…

github actionsでログをファイル出力し、失敗時に表示する例

概要 github actionsでstep毎に処理を分けているのですが、テスト処理でバックエンドが失敗した時にログが確認できなくて困っていました。 stepはプロセスに分かれているという事でバックエンドを開始した直後の処理は標準出力が拾えるのですが、別のstepに…

sapislab開発記録 - はじめに

概要 本投稿はWebサービスsapislab(サピスラボ)開発の記録になります。 sapis は Simple API Service、lab は laboratory の略で研究所・実験室の意です。 簡単なWebAPIサービスの提供および管理画面の構築を行います。 具体的にやりたいこと 本当はやって…

cdkでエラー「--app is required either in command-line, in cdk.json or in ~/.cdk.json」が出たときの確認事項

aws

概要 cdkでエラー「--app is required either in command-line, in cdk.json or in ~/.cdk.json」が出たときに確認すべき事項のメモ 確認事項 cdk.jsonが無いディレクトリで実行していないか?(ディレクトリが間違っている可能性)

Webシステム開発でAPIベースにするメリット・デメリット考察

概要 Webシステム開発でAPIを提供し、クライアント側で描画するパターン(SPA)についてメリット・デメリットを思いつきレベルで挙げてみる 主にクライアント側のお話で、ここではフレームワークとしてvueを、言語としてtypescriptを使う想定 メリット アプ…

AWSのCDKでちょこちょこ使う細かいパターンのメモ

aws

概要 AWSのCDKでちょこちょこ使う細かいパターンのメモ IAMロールをインラインで用意するケース ecr-accessという名前で、アクション'ecr:'、リソース''、許可の組み合わせで作成する例 import iam = require('@aws-cdk/aws-iam'); const myRole = new iam.R…

CDKによるLambdaへのコードデプロイについて

aws

概要 CDKを使ってLambdaにコードをデプロイする際のメモ(nodejs版) 説明 InlineCode版 ちょっとしたプログラムを手軽にセットする際に便利 4096文字の制限があるので大作には向かない 第一引数に流し込んだ文字列をindex.jsにしてくれる nodejs12.xでは使…

vueのルートとなるパスを変更する方法

vue

概要 vueはデフォルトで'/'をルートとして構成されるが任意のパスをルートとしてリンクが生成されるようにする際のメモ やり方 vue.config.jsで下記のようにするだけ module.exports = { publicPath: "/vroot", }; こうすると http://localhost:8080/vroot …

AWSのlambdaが上手く動かない時のトラブルシュート(備忘録)

aws

概要 lambdaをjavaで実装中に陥った多様な問題とその解決法を備忘録として記していく(都度追記する予定) CloudwatchLogsにログが残らない場合 メモリ不足の可能性 現象 Internal server error になる CloudWatch Logs を確認すると、開始と終了のログしか…

VPCの接点回りの料金メモ

aws

概要 VPCにアタッチできる各種サービスの利用料のメモ ※2019年12月時点でのアジアパシフィックリージョンのもの NATゲートウェイ NAT ゲートウェイあたりの料金 (USD/時) 0.062USD 処理データ 1 GB あたりの料金 (USD) 0.062USD 料金 - Amazon VPC | AWS メ…

AWSのユーザーに後からコンソールの利用を設定する方法

aws

概要 AWSのIAMユーザーを作成する際、「アクセスの種類」で「プログラムによるアクセス」だけを選んで作成したが、後になってコンソールにもアクセスさせたくなった時の備忘録 やり方 AWSコンソールからIAMに遷移する 左側の「ユーザー」を選択し、右側から…

lambdaのテンプレートを使ってslackからlambdaを実行する

概要 lambdaのテンプレート「slack-echo-command」とslackのアプリ「Slash Commands」を使ってslackから任意のコマンドでlambdaを実行する 古い記事を参考にしていたら入力項目や工程が結構違っていたので自分用のメモとして 手順 AWSコンソールで鍵の作成(…

SourceTreeで「remote branch is invalid refnames must follow git ref-format rules」エラー

概要 SourceTreeでプッシュしようとしたら「remote branch is invalid refnames must follow git ref-format rules」エラーが表示された時の対応メモ ※プッシュ先のリポジトリが空状態のケースで発生 対応 ターミナルから「git push プッシュ先リモート mast…

CodePipelineのDeploy行程で「PermissionError The provided role does not have sufficient permissions to access ECS」エラーが出る時の対応メモ

aws

概要 CodePipelineのDeployでデプロイメントプロバイダにAmazon ECSを選択して実施し、失敗した時に「PermissionError The provided role does not have sufficient permissions to access ECS」エラーとなった 原因 CodePipelineに設定していたサービスロー…

windows環境でaws cliの実行時に「拡張子 .py のファイルの関連付けが見つかりません」が出る場合

概要 windows環境にscoopでaws cliを入れて実行した時に「拡張子 .py のファイルの関連付けが見つかりません」が出る場合の対応メモ ※この警告が出るけど実行は正常に行われている 対応 こちらの記事を参考にバッチを書き換えたら出なくなった。 github.com …

SourceTreeで「Couldn't agree a key exchange algorithm」エラー

概要 SourceTreeでプッシュしようとしたらブランチが表示されず、ターミナルから「git push」してみると「Couldn't agree a key exchange algorithm」エラーがダイアログ表示された時の対応メモ ※内臓Gitを利用している場合 対応 SourceTreeの「ツール」→「…

CloudFormationにおけるエラー対応メモ

aws

概要 AWSのCloudFormationで出力されるエラーメッセージとその対応についての備忘録 都度追記していく Update the IAM policy to add permission エラーメッセージ Lambda@Edge cannot retrieve the specified Lambda function. Update the IAM policy to ad…

puttyのセッションをバッチ実行する際の便利な記述

概要 puttyのセッションが増えてくると実行する際に手間取るのでバッチ実行するやり方 前提 環境変数かSETを使って「PATH_PUTTY」にputty.exeのパスが入っているものとする やり方 単純な実行方法 下記の文字列をテキストファイルに書き込み、拡張子を .bat …

新規ページを閲覧する際に10秒程度待たされるようになった

概要 windows10環境において、突然インターネットでページを閲覧する度に10秒程度待たされるようになった その現象の解決方法について 現象 ページ閲覧する度に10秒程度待たされる 一度閲覧すると2回目以降は速い(初回アクセスのページだけ遅い ) 原因 早…

gradleのhello worldメモ

memo gradleのhello world的なサイトを見ながら操作メモです。(centos7) gradleのインストール # cd ~ # yum install -y which unzip zip vim # curl -s http://get.sdkman.io | bash # source ~/.sdkman/bin/sdkman-init.sh # sdk install gradle hello w…

pageantに秘密鍵を登録するバッチの作成

概要 毎回pageantに秘密鍵を入れる操作が面倒なのでバッチにしておく やり方 pageant.exeがあるディレクトリ内にテキストファイルを拡張子batで用意する ex) pageant_regist.bat start pageant timeout 3 pageant C:\key\any_key1.ppk pageant C:\key\any_ke…

サーバーにsshログインした時にslackに通知する

概要 サーバーにsshログインした時にslackに通知する slack側での作業 「チャネル設定」→「アプリを追加する」を順にクリックする 「incoming-webhook」をインストールする 「incoming-webhook」の設定にある「Webhook URL」をメモする サーバー側での作業(C…