aws

A collection of 16 posts
ChatGPT API を使って LINE ボットを作成した
chatgpt

ChatGPT API を使って LINE ボットを作成した

少し前ですが ChatGPT API が公開されました。 以前から ChatGPT をいい感じに使いたいな〜と思っていて、ちょうど実家に帰った際に最近の AI は凄いぜ!的な話をしており、LINE の家族グループに「ボットくん」として参加させてみることを思い立ったというのがやってみた経緯です。 大まかな構成 使用する主要な各サービスは以下です。 * LINE Messaging API * API Gateway * Lambda * DynamoDB * ChatGPT API ざっくりとした図ではこんな感じ。 LINE の Messaging API を使用することでユーザーとボットの双方向のやり取りが可能になります。Messaging API は Webhook を有効化することで、ユーザーが友だち追加したりメッセージを送信した際、指定した URL に対してイベントを送信できます。 今回は API Gateway の HTTP API で作成した API
5 min read
Monitor the broadband speed with the Mackerel
mackerel

Monitor the broadband speed with the Mackerel

最近気持ちが忙しくてブログ更新久しぶりな気がする。。タイトルの通りネットワーク回線の速度を監視し始めたのでメモ。 モチベーション SNS の方で呟いてましたが引越しすることになりました。 引っ越すからベッド分解した´д` ; — †深淵の覚醒者† (@lorentzca) July 5, 2020 我々インターネットで生活している者たちにとって引越しで一番気になるのは回線の速度ですよね。次のおうちでも光回線が通っているのはもちろん確認済みなのですが、速度や安定性が気になるところです。 そこで回線速度を監視し、引越し後どれくらいの違いが出るか確認することにしました。 結果は以下。Wi-Fi での数値です。有線だと数倍早かった…。 有線、無線両方監視しようと思いましたが次のおうちは実質無線がメインになりそうなので、無線だけ監視してます。 方法 最近 Raspberry Pi と Greengrass の組み合わせを試してます。 * AWS IoT Greengrass とは - AWS IoT Greengrass Greengrass ではデバイス
4 min read
I'm going home button v2
aws

I'm going home button v2

私は毎日帰宅する際に「今から帰るボタン」を押して LINE メッセージを送っています。 * 帰りますボタンを作った 最近このボタンに機能を追加しより便利にしてみました。 追加した機能 Google カレンダーと連携し、ボタンを押したタイミングからその日の 23 時 59 分までの間に始まるイベントがある場合 (飲み会とか)、イベントの内容を送るようにしてみました。 以下のような感じです。 日を跨ぐ可能性も考慮して終わりの時間には日付も入れるようにしています。 Google カレンダーからイベントを取得する方法 これ調べるのが結構大変だった…。混乱ポイントだったのが、まず適当にググってみたところ旧 Google カレンダー API の情報とごっちゃになっておりそこが混乱の元でした。Google 公式ドキュメントでも旧 API の情報が残っていて?ややこしい感じでした。 現在信頼できる公式ソースは以下。 * Calendar API  |  Google Developers 旧カレンダー API では API キーでアクセスできたみた
3 min read
Alaexa, when's garbage day?
alexa

Alaexa, when's garbage day?

今まで実家に住んでいたのですが、去年の12月に目黒区へ引越ししました。 そこで問題になったのがゴミの日がよくわからんということです。 なので Amazon Echo Dot (第3世代) に教えてもらうことにしました。 Amazon Echo Dot 実家にいた頃も Amazon Echo を所有していたのですが、それは親が主に音楽を聴くのに使用していたので置いていきました。 そこで新しく買ったのが Amazon Echo Dot です。第3世代は前の世代より少し大きくなったみたいですが、その分音質が良くなったみたいです。大きくなったと言っても手のひらサイズで十分小さいです。 * Amazon | New Echo Dot - コンパクトスマートスピーカー 開発環境 Alexa Skills Kit (ASK) SDK for Node.js のバージョン2を使用しました。Alexa Skills について前回書いた記事は1年以上前ですが、当時より大分状況が異なります。 * Alexa Skills Kit (ASK) SDK
5 min read
I'm going home button
aws

I'm going home button

毎日仕事が終わった際に、これから帰るよ〜的なメッセージを LINE で送っているのですが、この作業をボタンにしてみたら便利かと思ってやってみました。 勉強のために勢いで買った AWS IoT エンタープライズボタンの使い道として手頃だったというのが本音…! 使うボタン AWS IoT エンタープライズボタンを使います。 * Amazon.co.jp: AWS IoT エンタープライズボタン 仕組み AWS IoT 1-Click に AWS IoT エンタープライズボタンを登録し、ボタンの押下をトリガーに LINE へメッセージを送る Lambda 関数を実行しています。 * AWS IoT 1-Click の概要 – 任意のデバイスに AWS Lambda トリガーをワンクリックで作成 AWS IoT 1-Click 手順 AWS IoT 1-Click への登録とボタンのインターネット接続設定 AWS
3 min read
JAWS DAYS 2018
aws

JAWS DAYS 2018

JAWS DAYS 2018 に行ってきました。 😃 * JAWS DAYS 2018 | テーマは「no border」2018年3月10日(土)にTOC五反田メッセ(東京)にて開催 タイムテーブルはこんな感じでした。相変わらず充実している…。 * Time Table | JAWS DAYS 2018 午後からの参加でしたが…!感想など書きます。 スライドは公開されたら追記します。 [Serverless] ユーザー企業におけるサーバレスシステムへの移行 ダイソーの方の発表でした。ダイソーの商品管理のシステムなどをオンプレから AWS に移行した話。 移行の話とはあまり関係がないけど、ダイソーって27ヶ国展開してたんですね…。すごい。国毎の相場で値段を均一にしているらしい。 ダイソーが抱えていた課題。 * 大きいシステムはいや * システム変更による影響範囲が大きい -> テストも大きくなる * 時間がかかるとお金(人件費など)もかかるし… * etc * 密結合はいや * 密結合
3 min read
Create "Hello World" Alexa Skill
alexa

Create "Hello World" Alexa Skill

最近 Amazon Echo が家に届いたので使い始めています。家族も音楽を流したりニュースを聞いたり、ラジオを聞くのに利用しているようです。 Echo と Alexa カスタムスキル Echo は Amazon のスマートスピーカーで、 Amazon の開発している AI(Alexa) を呼び出して任意の命令を発行することが出来ます。 命令は Alexa においてはスキルと呼ばれていて、様々なスキルがあり(音楽再生、ニュース読み上げ、 TODO リスト等)、ユーザーが独自にスキルを開発することも可能です。ユーザーが独自に開発したスキルはカスタムスキルと呼ばれます。 カスタムスキル開発はチュートリアルが用意されており、チュートリアルの通りに進めれば(多少スクショと実際の画面に差異があったりもしますが)簡単にカスタムスキルを試すことができます。 * Alexaスキル開発トレーニングシリーズ 第1回 初めてのスキル開発 : Alexa Blogs おー、Alexaにオレオレスキル追加できた。チュートリアルだけど。ちゃんと自分の作ったスキルに反応してくれたのかどう
6 min read
AWS CLI on Docker
aws

AWS CLI on Docker

先日パイセンとAWS CLIをCircleCIから実行したいときにawsコマンドが使えるdockerイメージがあれば便利かもねみたいな話をしたので作ってみました。 既に同様のものはDocker Hubにありましたが最近自分でDockerイメージ作っていなかったのもあるので練習も兼ねて…。 * GitHub - lorentzca/aws: AWS CLI on Docker. Docker Hubはこちら。 * lorentzca/aws 用途としては以下のような場合に使いたい。 * CircleCIなどで手軽にawsコマンド使いたい場合に使えそう * Dockerから実行したい(環境を汚したくないとかで) pip入れるのが昔より楽だったので特に躓く箇所はなかった。 FROM alpine ARG pip_installer="https://bootstrap.pypa.io/get-pip.py" # Install dependent packages RUN apk --update add \ python \ cu
1 min read
Terraform state file removed by S3 Lifecycle
aws

Terraform state file removed by S3 Lifecycle

こんにちわ。最近キャンプばっかり行っているのでブログ更新が滞っています。あかん! さて、このブログが動いているサーバはterraformでインフラの管理をしています。 terraformのstateファイルの管理はS3バックエンドを使っています。 * Migration from terraform remote command to terraform backend system また、S3の設定でバージョニングとライフサイクルの設定をしていました。 * Versioning terraform.tfstate この設定が原因でtfstateファイルが消えてしまったので記録しておきます…。 起きたこと terraform planを実行したら全てのリソースがcreateされる差分が出てしまいました。 急いでS3のバケットを見たところ、なんと空になっていました…。泣きながら削除済みオブジェクトを表示してみたところ、以下のように削除マーカーが設置されていました。削除マーカー以前のバージョンのtfstateファイルも見れる状態でした。
2 min read
Visualize CloudTrail with Traildash and Arukas
arukas

Visualize CloudTrail with Traildash and Arukas

このブログが動いているサーバはDigitalOceanですが、terraformのbackendにS3やDynamoDBを使うなど、AWSのサービスも使っています。 必然的にIAMユーザを作成しアクセスキーを発行することになるので、CloudTrailでユーザの活動やAPIの使用状況を保存しています。 * AWS CloudTrail (AWS API の呼び出し記録とログファイル送信) | AWS しかし、正直活用できていないです…。というのも、CloudTrailで保存されるログはjsonで、CloudTrail自身に特に可視化機能も同梱されていないのです。なのでログを取ってはみているものの見ることがないという…(良くない)。 そこで、何かいい感じの可視化ツールが無いか探してみたところ、Traildashというツールがありました。 * GitHub - AppliedTrust/traildash: AWS CloudTrail Dashboard 今回はこのTraildashを使ってCloudTrailの可視化をしてみます。 Traildash
3 min read
Security-JAWS #3
aws

Security-JAWS #3

Security-JAWSに参加してきたメモ!(Security-JAWSはいつも速攻埋まるけどたまたま参加できた) * Security-JAWS 【第3回】 流れ。 * 「CloudHSMって結局なに?ハードウェアが必要なわけ」 * 「AWS IAMとOpenAMを連携してアカウント管理を効率化してみた」 * 「Amazon Inspectorを補完する - VulsとOWASP Dependency-Checkを組み合わせてプログラミング言語ライブラリの脆弱性スキャン結果を日本語化、Slack通知できるようにしてみた」 * LT「EnigmaによるPersonal Data Storeの実現可能性について」 * LT「AWSのセキュリティホワイトペーパーまとめ」 「CloudHSMって結局なに?ハードウェアが必要なわけ」 CloudHSM自体この会ではじめて知ったし、事前にググってもよくわからなかったけれどなんとなくCloudHSMについて分かった気がする。 CloudHSMとは * CloudHSM(Hardware Securit
5 min read
End of Atlas free trial
terraform

End of Atlas free trial

\(o)/オワタ * Atlas | HashiCorp $ terraform plan Error reloading remote state: Unexpected HTTP response code: 400 Body: {"errors":["This feature requires Terraform Enterprise. Please contact sales@hashicorp.com to start or extend your trial."],"success":false} Freeプランだとterraform(のtfstate置き場として)使えないのよな…。泣きそう。 とりあえずS3に退避。諸々忘れてていったんまっさらにしてから始め直したいので、まずは既存のremote設定を消す(消さなくても出来ると思われる)。 terraform remote config -disable これでローカルの.terraform/terraform.
1 min read
IAM roles for EC2
aws

IAM roles for EC2

ec2インスタンス立ち上げ時にiamのrole指定すると便利と聞いたので。 以下、使用するamiはamazon linux。なんでかと言うと、デフォルトでaws cliが使えて楽だから。 IAM roles作成 IAM管理画面からロール作成 パーミッションは実験できればなんでもいいけど、とりあえずec2の情報を取ってこれるだけなポリシーを設定してみる。(describe-instancesとかdescribe-instance-statusみたいなdescribeから始まる文だけ実行できる) 何もできなければできないほど せきゅわーなのです。 { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1421325835000", "Effect": "Allow", "Action": [ "ec2:Describe*" ], "Resource": [ "*" ] }
2 min read
aws

Recreate default vpc

Default VPCを削除してしまった!! terraformいじっていたらDefaultVPCないよみたいなエラー吐かれて何だろと思ったらちょっと前に削除していた…。 terraformの練習でvpc量産していたので全部消してしまっていたのだった。 まあポチポチすればデフォルトVPC設定できるでしょうと思っていたらそんなことはなく、サポートへ連絡しないとだめだった。 デフォルトの VPC を削除する しかし、サポートに連絡する方法がわからず…。フォーラムで検索したところDefault VPCというタイトルが多数。内容を見るとどれもDefault VPCを消してしまい再構築をお願いする内容だった。 Discussion Forums 私も便乗して投稿しようとしたがどこから投稿すればよいかわからず、誰かさんの投稿にリプライする形で再構築依頼を出した。(お行儀が悪い?) * https://forums.aws.amazon.com/thread.jspa?messageID=578595򍐣 しばらく様子見。 Default VPC
1 min read