- 1. EclipseからAWSの機械学習サービスを使用する
- 2. AWS Robot Delivery Challenge 2022 に出場できなかった話 : 最適経路
- 3. AWS Robot Delivery Challenge 2022 に出場できなかった話 : 黄金探索
- 4. Challiceを使用し、Lambdaのコードを管理 ①
- 5. 駆逐してやる!!AWS Security Hubの指摘を…この世から…一匹残らず!! ~ S3編 (CloudFormation) ~
- 6. AWS Robot Delivery Challenge 2022 に出場できなかった話 : タスクプランニング
- 7. AWS Robot Delivery Challenge 2022 に出場できなかった話 : Kanayama Control
- 8. AWS Robot Delivery Challenge 2022 に出場できなかった話 : ダイクストラ法
- 9. AWS Robot Delivery Challenge 2022 に出場できなかった話
- 10. IAMユーザーを払い出してAWSの環境設定をメンターに確認してもらう
- 11. 本番環境でS3に登録した画像が表示されない
- 12. 新卒クラウドエンジニアの1年間を振り返ってみる①
- 13. Strapi をできるだけ低コストで Fargate 化したけどうまくいかなかった
- 14. Laravel?docekr?漢ならPHPのみっしょ!!
- 15. AWS SESリレーサーバーの構築
- 16. AWS WAF で国外からのアクセスを禁止しつつ、例外許可IPアドレスを設定してみた
- 17. Raspberry Pi 4Bに接続したUVCカメラのMJPEG画像をAmazon Kinesis Video Streamsにアップロード
- 18. Draw.ioの導入方法と日本語化
- 19. 運用が楽なQuickSightダッシュボードを作る_6(データセット自動更新+α編)
- 20. AWS公式が提供する無料ゲームでAWSについて学べるらしい
EclipseからAWSの機械学習サービスを使用する
# はじめに
Eclipse(ローカル環境)で開発しているJava(Spring Boot)アプリケーションからAWSの機械学習サービスを使うのに苦労したので備忘録として残しておきます。AWSの機械学習サービスといっても色々ありますが、今回私が使用したのは[Amazon Comprehend](https://aws.amazon.com/jp/comprehend/)(自然言語処理サービス)です。[公式ドキュメント](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html)に従って設定すればよいのですが、簡単そうで意外とハマりました。
# 環境
以下、私の環境です。
– Windows 10
– Eclipse 2019
– Java 11
– Spring Boot 2.6.4# AWS IAMの作成
まずはIAMを作成します。認証情報タイプは「アクセスキー・プログラムによるアクセス」を選択します。
![1_プログラムによるアクセス.png](https://qiita-image-store.s3.
AWS Robot Delivery Challenge 2022 に出場できなかった話 : 最適経路
概要を読んでいない方は先にこちらを読んでください!
[目次のページ](https://qiita.com/KyoBashi/items/153aff5ce8af7111b537)## はじめに
![](https://i.imgur.com/oGCcepZ.png)今回は上図のcsv_path_dataの部分について説明します.
ロボットの経路生成には最適制御を用いました.
様々な制約を考慮しつつ,評価関数を最小化することで設定した目的を達成できるという点から選択しました.また,それによって得られた最適経路情報をcsvファイルに保存しました.今回は最適制御による経路を事前にオフラインで保存するため,リアルタイム性を考える必要がなかったので,特にモデル化において線形化などを行わず非線形最適制御問題を解きました.## 最適制御とは
ある連続時間システム $\dot{x}(t) = f(x(t), u(t), t)$ を考えます.
そのとき,最適制御問題は以下のように定式化されます.
$\min \hspace{5pt}
J = \int^{T}_{0} L\left({x}\
AWS Robot Delivery Challenge 2022 に出場できなかった話 : 黄金探索
概要を読んでいない方は先にこちらを読んでください!
[目次のページ](https://qiita.com/KyoBashi/items/153aff5ce8af7111b537)
## 黄金探索とは
ロボットの目標位置を定めるためのアルゴリズムです。
現時点で自分がいる座標(自己位置推定により導いた座標)と、あらかじめ計画された経路を用いてリアルタイムで目標位置を決定します。## アルゴリズム
この記事を参考にしました。
https://naoyat.hatenablog.jp/entry/2012/01/04/231801## 全体としての位置付け
![](https://i.imgur.com/IFjlRDp.png)## 実装
1. ダイクストラ法で導いた経路の情報を受けとる。
2. 経路上の離散化した座標群の中で、ロボットに一番近い点を黄金探索で探索する。
3. 探索で得た点の少し先の経路上の点をロボットの目標位置として金山制御に渡す。
![](https://i.imgur.com/MPd7TFL.png)
Challiceを使用し、Lambdaのコードを管理 ①
# はじめに
LambdaのコードをGithubに管理するにあたり、chaliceを採用したため、chaliceについてまとめます。
chaliceのメリットとして、以下が挙げられます。
– シンプルにLambdaをコード管理できる
– デプロイがSAMに比べて、簡易でデプロイが早い
– 今回は、Lambdaのみですが、API Gateway、S3, SNS, SQSといったAWSサービスも利用できる
– IAM ポリシーを自動生成してくれる今回は、APIGatewayは、使用せず、複数のLambdaのコード管理をするために、Chaliceを使用します。
# IAMユーザーの設定
ローカルのmacのターミナルで`chalice`をインストールします。“`terminal
$ python -V
Python 2.7.18$ pip install chalice
$ chalice –version
chalice 1.26.0, python 3.9.2, darwin 21.3.0
“`ChaliceでLambdaをアップするためには、アップするAWSア
駆逐してやる!!AWS Security Hubの指摘を…この世から…一匹残らず!! ~ S3編 (CloudFormation) ~
# Security Hub の指摘、駆逐してますか?
* **とりあえず、Security Hub を有効化したけど、セキュリティスコアが低くて困っている…**
* **Security Hub の検出結果 (Findings) にどう対処すればよいのかわからない…**
* **S3 のセキュリティを強化したい…**そんな方々のために、本記事では Security Hub の S3 に関する指摘事項を一匹残らず駆逐する方法を解説します。
また、解説と合わせて、Security Hub に指摘されない S3 バケットを作成するための CloudFormation テンプレートも紹介していきます。
「解説はいいから早よ CloudFormation をよこせ」という方はこちらをどうぞ。
AWS Robot Delivery Challenge 2022 に出場できなかった話 : タスクプランニング
概要を読んでいない方は先にこちらを読んでください!
[目次のページ](https://qiita.com/KyoBashi/items/153aff5ce8af7111b537)
## はじめに
![](https://i.imgur.com/z88WpWD.png)今回は上図のcommanderの部分について説明します.
WebUIから指令をうけとって,ロボットの各機能を操作する,いわば司令塔に相当する機能です.## Commanderの制御フロー
WebUIは以下のような画面になっています.![](https://i.imgur.com/kcHeuD1.jpg)
画面右上のControllerから確認できるように,送られる指令は以下の4つです.
* Dijkstra
* Navigation
* Manual
* Autoそれぞれの指令が送られたときのCommanderの対応について以下で説明します.
### Dijkstra
この指令を送る際は事前にMapで経由したい箇所(あれば)と目標地点の番号をクリックします.そのあとこの指令を送ることで,指定した番号のリス
AWS Robot Delivery Challenge 2022 に出場できなかった話 : Kanayama Control
概要を読んでいない方は先にこちらを読んでください!
[目次のページ](https://qiita.com/KyoBashi/items/153aff5ce8af7111b537)
## はじめに
![](https://i.imgur.com/FUkgQ6x.png)今回は上図のkanayama_controlの部分について説明します.
コントローラにはKanayama Controlという手法を用いました.
車両制御にはよく用いられる手法で,以下の論文を参考にしました.
https://ieeexplore.ieee.org/document/126006Kanayama Controlでは,Plannerから参照位置と参照制御入力を受け取り,自己位置推定を行うノードから自己位置を取得し,制御入力を計算しています.
AWS Robot Delivery Challenge 2022 に出場できなかった話 : ダイクストラ法
概要を読んでいない方は先にこちらを読んでください!
[目次のページ](https://qiita.com/KyoBashi/items/153aff5ce8af7111b537)## ダイクストラ法とは
グラフ理論におけるアルゴリズムの一つで、グラフ上の2頂点間の最短経路を決定するアルゴリズムです。今回はコース上の2点間を最速で移動する経路を導くアルゴリズムとして使用しました。頂点の位置は下図のように決定し、各辺の重みは各ノード間を移動するのにかかる所要時間となります。これらの所要時間は最適制御によって計算されたものになっています。![](https://i.imgur.com/QHiPk0G.png)
## アルゴリズム
この記事を参考にしました。
https://myenigma.hatenablog.com/entry/20140502/1399001915## 全体としての位置付け
![](https://i.imgur.com/Uz8H5pP.png)## 実装
1. commanderから通過するノードの順序を受け取る(始点、中継点、中継点、、、終
AWS Robot Delivery Challenge 2022 に出場できなかった話
# AWS Robot Delivery Challenge 2022 に出場できなかった話
## はじめに
今回はじめてQiitaに投稿したのでわかりにくい箇所などが多いと思います。
大学生が移動ロボットの制御の勉強を兼ねて製作したものなので説明に間違いがあるかもしれません、ご指摘いただけるとありがたいです。## AWS Robot Delivery Challenge とは?
詳しくは[こちら](https://aws.amazon.com/jp/robot-delivery-challenge/)
AWS Robot Delivery Challengeとは、AWS Japan が開催しているロボコンでROS上で自律二輪ロボットを制御し、どれだけ多くのチェックポイントを通過できたかを競う大会です。AWSロボコンは2020年と2021年の2回開催されています。## 参加できなかったワケ
ルール発表が2月中旬頃にあるのですが、2022年はAWS Deep Racer Student に変更されてしまい、強化学習を用いたロボットの大会になってしまいました、、、
2021年の8
IAMユーザーを払い出してAWSの環境設定をメンターに確認してもらう
## 初めに
EC2にデプロイ等の理由からAWSでインフラ周りを構築することがあると思いますが、自力で解決できないエラーがコンソール上で起きた時、メンターに構築内容を確認してもらう手段についてご紹介します。## IAMユーザーの払い出し
自分のコンソールからIAMユーザーを追加して、ログイン情報をメンターに伝え、自分のコンソールにログインできるようにしてあげればわざわざ画面共有やSlackでやりとりしなくて済みます。IAMユーザーの登録手順まで紹介したいところですが、以下の記事にわかりやすく全て記載されているのでそちらを参考にして頂ければと思います。
https://tokku-engineer.tech/add-and-delete-iam-user/
不正ログイン等あれば追加したIAMユーザーを削除してしまえばログインできなくなるので安心です。
本番環境でS3に登録した画像が表示されない
## 起きたこと
EC2にアプリをデプロイ後、アプリの動作確認をしていたところS3に保存した画像が表示できていないのを発見。## 調査
EC2にデプロイする前にherokuにデプロイさせていたのですが、その時はS3に保存した画像を問題なく表示できていたので、今回の原因はビュー側でなく他のどこかしらの設定箇所に不備があると判断して以下の点を調査しました。・シンボリックリンクの貼り付け確認
・.envの`AWS_BUCKET=`でバケット指定確認
・S3がパブリックになっているか確認##解決
原因は、EC2上の/var/www/shared/.envの`APP_ENV`部分でした。
本番環境で動作させているのに、localで指定してしまっていた。。。“`
APP_ENV=local
↓ #変更
APP_ENV=production
“`.envを修正後、config:cacheで修正点を反映させて、再度画像登録で無事表示できました!
“`
$ php artisan config:cache
Configuration cache cleared!
Config
新卒クラウドエンジニアの1年間を振り返ってみる①
# 軽い自己紹介
初めまして、こーへいと申します。
Qiitaにまともな記事を投稿するのは初めてですが、よろしくお願いします。自分は2021年に京都大学農学部を卒業し、4月から都内のIT企業に就職しました。
自分は高校時代に物理がかなり得意だったのですが、ご飯がとても好きで食品開発に携われる農学部を選んだところ、高校の時に生物選択ではなかったことが足を引っ張り、大学の勉強にあまり興味を持てませんでした(ついて行けませんでした)。
そんな中受講した大学のプログラミング授業が思ったより楽しく、プライベートでITを勉強してみると「自分が得意で興味があるのは生物ではなく機械系なのでは?」と思い、エンジニアを目指してみようかなと考え始めました。
と言いつつ、大学時代はあまり真面目な学生とは言えず、熊野寮という学生寮で毎日仲間と遊び呆けていました。
一応ポートフォリオ作成は頑張って取り組んだものの最後まで完成できず、インターンシップや資格勉強とかは特にしなかったです(やばいやつだな)。※今から大学生に戻れるならIT企業でバイトやインターンをやってみたり資格勉強をしたと思いますが、高校
Strapi をできるだけ低コストで Fargate 化したけどうまくいかなかった
# 背景
Headless CMS を自前で運用してみたかったので、Docker Image が提供されている Strapi を動かしてみようと試みたが、うまくいかなかった記録。
https://strapi.io/
ローカルで動かすのはストレージ故障などの不安があり、一方で AWS 上で動かすと常時稼働分リソースの料金が気になる。どうしたものかと考えたところ、以下の構成に落ち着いた。
# 構成
– Fargate
– 使うときに ecs:RunTask して FARGATE_SPOT の Strapi を起動
– 使い終わったら ecs:StopTask
– Aurora Serverless
– プライベートな利用なのでスリープからの復帰時間が生じても問題ない## ポイント
Strapi の Docker Image は、初期起動時に yarn build などのセットアップを行う。環境によっては十分以上かかることもある。
Fargate 起動のたびにこれが生じるとさすがに待ち時間が辛いため、ローカルでセットアップさせ、完了後のコンテナを `docker
Laravel?docekr?漢ならPHPのみっしょ!!
# 成果物
https://www.dogcat.space
# ソースコード
https://github.com/fujioka8700/php_internet_forum
# 準備
## なぜこのようなことをしたのか
以前からLaravelやdockerを触っていたのですが、上手く扱えている気がしていませんでした。
それ以前にLinuxやCLIに慣れた方がいいのでは?と思い、Linuxを積極的に使うことにしました。
あとLinuxを触ると同時に、AWSの基本も理解しようと、デプロイ先はAWSにしました。
## 目的
以下の基本を理解し、CLI操作を慣れる。
– Linux
– Apache
– MariaDB
– PHP
– AWS
## 開発環境
– Ubuntu 20.04.4 LTS
– Apache 2.4.41
– MariaDB 10.3.34
– PHP 7.4.3
## 「犬・猫 どちら派掲示板」を作ろうと思った理由
大好きな犬と猫のことを、語り合える場を作りたかったから。
# 要件定義
頭の中のイメージをノートに書きます。
これがないと、何を作ればいいか全くわ
AWS SESリレーサーバーの構築
こんにちは。王と申します。
最近、AWS VPCのPrivateSubnetにあるアプリケーションが搭載しているEC2サーバーを構築しましたが、外にメールを送信する必要があり、SES SMTPを利用して送信したいと思いますが、アプリケーションの関係で、SMTP credentialsを登録できないことに気付きました。
直接SESのエンドポイントを使って送信するのは一番簡単ですが、アプリケーションの関係で実現できないということでSESリレーサーバーを構築することにしました。
他のサーバーを割愛とし、構成図は以下の通りです。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2600067/0f8affe0-5f88-e9d7-241d-39a150885a63.png)構築手順:
1)SMTP credentialsの取得
AWS SESのdashboardで、「Create SMTP credentials」をクリックします。
![1.PNG](https://qiita-im
AWS WAF で国外からのアクセスを禁止しつつ、例外許可IPアドレスを設定してみた
# はじめに
用意する Web アプリケーションに日本のみアクセスを許可したいときがあります。こういったときに、AWS WAF を使うと、どの国からアクセスを許可するのかコントロール可能です。国を指定したアクセス許可に加えて、特定の IP アドレスからのアクセスは海外からのアクセスも許可したいときがあります。また、国外からのアクセスでも誤って海外からのアクセスと判別される可能性はゼロではないと思うので、その例外の設定方法も視野に入っています。
今回の記事では、次の設定方法を確認する内容となります
– 日本以外からのアクセスを禁止
– 特定の IP アドレスはアクセス許可それでは設定方法を確認していきましょう。
# 利用するCloudFront
今回は、CloudFront で配信している単純な Web サイトを用意しました。CloudFront にアクセスすると、次のように html が表示されるだけのシンプルなサイトです。
![image-20220320145039926.png](https://qiita-image-store.s3.ap-nort
Raspberry Pi 4Bに接続したUVCカメラのMJPEG画像をAmazon Kinesis Video Streamsにアップロード
# 1. 概要
Raspberry Pi 4Bに接続したUVCカメラのMJPEG画像をAmazon Kinesis Video Streams(AWS KVS)にアップロードすることを試みた。## 結論
この記事の時点で、MJPEG画像をAWS KVSにアップロードできていない。## 背景
知人からRaspberry Pi 3BでUVCカメラのMJPEG画像をAWS KVSにアプロードする方法について尋ねられた時、自分がやったことある手順やそのとき困ったこと情報を提供した。その後、知人はRaspberry Pi 4Bで試したところ、うまくいかないと連絡してきた。尚、UVCカメラはちょっと変わってる製品であるとのこと。
そこで、4Bが原因なのか、UVCカメラのせいなのか、連絡した手順が悪いのか確認することにした。# 2. 準備
## Raspberry Pi 4Bの準備
* ラズベリーパイ財団のWebサイトのRaspberry Pi Imagerとか使う
* Raspberry Pi OS(32bit)## Amazon Kinesis Video Stream の W
Draw.ioの導入方法と日本語化
## draw.ioとは?
フローチャートやオフィスのレイアウト図、ネットワーク図を作成できる無料の作図ツールです。これを使ってAWSのインフラ構成図を作成します。
## ①draw.ioへアクセス
まず下記のリンクから**draw.io**にアクセスします。
https://www.draw.io/
## ②draw.ioの日本語化
「Decide later」をクリックします。
![7168b67882cab3796c8dd6c3be8ba2de.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/584500/4f47e133-fa37-2f28-f634-372190dbb2da.png)右上の地球のマークをクリックします。
![b9668b381d313621860de0c10e5372c8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/584500/34650f0f-7da3-886b-e1ba-
運用が楽なQuickSightダッシュボードを作る_6(データセット自動更新+α編)
# はじめに
前回、ファイルが更新されたらQuickSightデータソースを自動更新する仕組みを記事にしました。ですが完了を監視したり通知したりはできていなかったので、それらの仕組みを含んだ構成を作成しました。
# 構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553680/b4d12812-f577-e045-f02b-eb91dcee7e5f.png)
大まかな流れは以下。
1. S3のファイル更新をEventBridgeで検知し、Step Functionsを実行
1. LambdaでQuickSight更新処理の前準備
1. QuickSightにデータセットの更新指示
1. 終わったかを検知
1. 終了内容を見て、SNSに通知# コード
「共通リソース部」と「自動更新部」で分けています。– 共通リソース部
– 他の仕組みでも使いそうなリソース
– CloudFormationで定義
– 運用メール通知用SNSトピッ
AWS公式が提供する無料ゲームでAWSについて学べるらしい
ゲームでAWSが学べるらしいのでやってみます。
# サービス概要
– AWS公式が提供(2022/03/15サービス開始?)
– AWS Cloud Quest: Cloud Practitioner
– プレイヤーはクラウド技術者となり、オープンワールドの街の中を歩き回って問題を抱えている人と出会い、その問題をAWSのソリューションで解決していく
– Webブラウザで楽しめる無料オンラインゲーム
– ゲーム内では本物のAWSのシステムコンソールを用いてソリューションを構築する体験ができるようになっている
– ゲーム内は全て英語https://twitter.com/amazonnews/status/1503820327398383625?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1503820327398383625%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fwww.publickey1.jp%2Fblog%2F22%2Fawsawsaws_cloud_que