- 1. M5StackでAmazon FreeRTOSを使用する6(OTA編)
- 2. [Redash] Redashの別AWS VPC環境への移行手順
- 3. npm run serveの速度改善
- 4. [AWS S3ファイルアップロード] Error retrieving credentials from the instance profile metadata server.
- 5. AWSのアクセスキーをパラメータストアを用い安全に取り出す
- 6. Linuxサーバ(EC2インスタンス)からWindowsサーバへ任意のコマンドを送る
- 7. AWS周りの単語・用語集
- 8. CloudFront のアクセスログを Elasticsearch Service 6.8 に取り込むメモ(Lambda Python 3.8 版)
- 9. AWSのEC2でWordPress構築
- 10. EC2 と RDS を利用したNextcloud 環境の構築 – Nextcloud 環境の構築を通じて AWS での環境構築を体験する①
- 11. 脆弱性情報をAWS Lambdaで取得してみたら
- 12. 【個人開発】YouTube Liveの生放送から盛り上がった箇所を自動抽出するwebサービスをリリースしました
- 13. AWS LambdaとServerless Frameworkで爆速で作るTwitterbot
- 14. AWSでサブドメインにワードプレスを入れる
- 15. 透過Bastion Server安全的連線到VPC內
- 16. 10分鐘了解AWS Beanstalk/ECS/Fargate/EKS之間的差異
- 17. 利用AWS Fargate5分鐘部署你的Gin/Flask API Cluster
- 18. 利用AWS S3來部署Hugo Site
- 19. マネジメントコンソールにログインせずに起動済みのEC2インスタンスへSSHログインしたい
- 20. React.jsとAWS(cognito)の連携
M5StackでAmazon FreeRTOSを使用する6(OTA編)
# はじめに
Amazon FreeRTOSのデバイス管理、次はOTAを試してみましょう。AWS S3に新しいファームウェアを置いてデバイスに配布することができます。
AWSのドキュメント [Amazon FreeRTOS 無線による更新](https://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/freertos-ota-dev.html) の流れに沿って作業を行います。
# 前提条件
無線による更新(OTA)の前提条件として次のものがあります
1.更新を保存する Amazon S3 バケットを作成する.
新しいファームウェアを格納する場所を作成します。バージョニングを有効にする必要があります。
2.OTA 更新サービスロールの作成.
OTA 更新ジョブを実行する権限です。OTA 用のロールを作成して「**AmazonFreeRTOSOTAUpdate**」ポリシーをアタッチします。
「AWSIoTThingsRegistration 」のほうは一緒に割り当てられました。3.OTA ユーザー
[Redash] Redashの別AWS VPC環境への移行手順
# [Redash] Redashの別AWS VPC環境への移行手順
## 目的
AWS VPC上に本家AMIから構築したRedashを別VPC上に移行する手順の共有、および移行時発生したトラブルについての対処法の記録
## 背景
AWS上に本家のAMIから構築したRedashだが、都合により別VPC上へリプレイスする必要がでた。
参照するデータソースについても新VPC上のものへ変更になるが、そこらへんは後から何とでもなるだろうと考え、
巷に溢れるバックアップ/レストア手順を元に移行作業を実施した。しかし、移行後RedashのUIへアクセスすると既存のデータソースを参照できないどころか、新規データソースも作成できない問題が発生した。
## 環境/名称
– Redash
Redash Version: 8.0.0+b32245 (a16f551e)
Redash AMI: ami-060741a96307668be– 移行元環境名称
|Item|Name|
|—|—|
|VPC|src_vpc|
|Redash Instance|i-src-redas
npm run serveの速度改善
# npm run serveが遅い
Vue.jsで書いたプログラムを確認しようとした時に、
npm run serveをしますが、動作が遅いし、他のブラウジングも同時に遅くなってしまう現象が発生しました。## 原因
ESETなどのセキュリティソフトが影響しているみたい。## 回避方法
Vue.jsのプロジェクトルートに、vue.config.jsというファイルを作成し、配置する。中身はこんな感じ。“`js
module.exports = {
devServer: {
port: 8009,
},
};
“`これで
“`npm run serve“`すると、
指定した通り、8009ポートで立ち上げている。![ 2020-01-07 8.47.20.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/290588/d5eb0b0f-2885-6320-3203-bac1775179b0.jpeg)
## 参考サイト
https://blog.kobasato.
[AWS S3ファイルアップロード] Error retrieving credentials from the instance profile metadata server.
こちらの[Qiita記事](https://qiita.com/nobu0717/items/51dfcecda90d3c5958b8)を参考に、LaravelでAWS S3へ画像をアップロードする機能を実装しようとしていたら、以下のエラーが発生しました。
*Aws\Exception\CredentialsException
Error retrieving credentials from the instance profile metadata server. (cURL error 7: (see https://curl.haxx.se/libcurl/c/libcurl-errors.html))*
こちらの[stackov
AWSのアクセスキーをパラメータストアを用い安全に取り出す
## まえがき
昨今AWSのアクセスキーをGitHubに誤って上げてしまいオギャーなことになるケースがあるそうです。
それを未然に防ぐ手段として、環境変数に値を埋め込みそれを読み込む手法などがあるそうですが、AWSのSystemManagerにパラメータストアと言った機能があることを知りました。
今回はこの機能を用い、Pythonからアクセスキーの取得を行ってみたいと思います。## 検証環境
`Amazon Linux AMI release 2018.03`
## 実現方法
GUIで操作していきます(もちろんCLIでもできるそうです)
1. AWS SystemManagerのパラメータストアに入ります(東京リージョンなら[ここ](https://ap-northeast-1.console.aws.amazon.com/systems-manager/parameters/))
2. こんな画面が出てきます![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534310/775714
Linuxサーバ(EC2インスタンス)からWindowsサーバへ任意のコマンドを送る
## まえがき
ひょんなことから、Linux(EC2インスタンス)からWindowsServerへbatを実行するコマンドを送信する機会があった。
需要があるかは微妙だけども、その方法を共有。
具体的には、AWS System Manager(SSM)のRunCommandを用いることで実現する。## 検証環境
“`
EC2インスタンス側: Amazon Linux AMI release 2018.03
WindowsServer: WindowsServer2012 R2
“`## 例
### WindowsServerへのコマンド実行(ec2インスタンスより)
~~~shell
$ aws ssm send-command \
–document-name “AWS-RunPowerShellScript” \
–document-version “1” \
–targets “Key=instanceids,Values=${WindowsサーバのインスタンスID}” \
–parameters \
‘{“workingDirectory”:[“
AWS周りの単語・用語集
AWSって
いろんな用語があってよく分からなかったので、簡潔にまとめてみました。
AWSを使用する上での周辺の用語も書いています。
随時更新していきます### VPC(Amazon Web Service Virtual Private Cloud)
ユーザー専用のプライベートなクラウド環境を提供するサービスのことです。### EC2(Amazon Elastic Compute Cloud)
Amazonが提供している仮想サーバー構築サービスです。EC2を利用することで、OSを乗せた仮想環境をクラウド上にすばやく作ることができます。
このサーバに作ったアプリケーションを乗せていく感じになります。### S3(Simple Storage Service)
AWSが提供するオンラインストレージサービスです。
インターネットが接続できる環境でデータをアップロードしたり、ダウンロードしたりすることができます。### インスタンス
AmazonのEC2はインスタンスという単位で、サーバー環境が構築できます。インスタンスとは簡単に言えば、OSを載せた仮想サーバーのことです。ま
CloudFront のアクセスログを Elasticsearch Service 6.8 に取り込むメモ(Lambda Python 3.8 版)
[ALB](https://qiita.com/hmatsu47/items/432b1f18f40bba16f5d1) 同様、CloudFront のログの取り込みについても Elasticsearch Service 6.8 / Lambda Python 3.8 対応化メモを残しておきます。
こちらの記事のアップデートです。
– **[CloudFrontのアクセスログをElasticsearch Service (6.0/6.2) に取り込むメモ(手抜き編)](https://qiita.com/hmatsu47/items/552ec1e4bc8e43051d9e)**
※ほとんど [ALB](https://qiita.com/hmatsu47/items/432b1f18f40bba16f5d1) と同じ手順です。
# 手順
## 1. Amazon Elasticsearch Service の起動
[ALB の元記事](https://qiita.com/hmatsu47/items/826b00ff008d4e3edecf#1-amazon-elast
AWSのEC2でWordPress構築
# はじめに
AWSでWordPressを構築します。Debian系Linuxが好きなので、AWSなのにAmazon Linuxを使用せずにUBuntuで環境構築をします。
※RDSなどを使用せず、インスタンス内にデータベースをインストールしています。# VPCの作成
– 公開するので、VPCウィザードの起動から、1 個のパブリックサブネットを持つ VPCを選択します。
![スクリーンショット (25).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/ff982665-433e-1256-ef12-4628016b6ec8.png)– VPC名を設定します。
![スクリーンショット (26).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/ff30f3c7-4cd1-57f4-1c92-08edb1c1076c.png)# インスタンスの作成
– OSにUbuntu Server 1
EC2 と RDS を利用したNextcloud 環境の構築 – Nextcloud 環境の構築を通じて AWS での環境構築を体験する①
# はじめに
AWS のソリューションアーキテクトの更新時期が近づいてきているのですが、普段は AWS にほぼ縁のない Nextcloud の構築とか調査とかの業務がメインで、AWS のサービスをフォローアップすることがほとんどできず、さすがに何か準備しなきゃまずいなぁと思い始めました。
そこで、普段さんざん構築している Nextcloud の環境構築と AWS をうまくコラボしてなんかできないかな、と思い、表題のような記事を何回かに分けて書いていくことにしました。
そもそも論として、Nextcloud は自身のデータやファイル管理を Dropbox 等のクラウドサービスに頼らないで自身で管理しているサーバー機器で運用できることが最大のメリットとなるので、AWS に構築することに意味があるかどうかは微妙なところですが、いろいろなサービスがからむので、学習ネタにするには結構よいのではないかと思ってます。ということで、回を追うごとに AWS の関連サービスが増えていく予定で、自分自身で使ったことあるサービス/使ったことのないサービスを盛り込み、知識のリハビリ、新たな学びと、楽し
脆弱性情報をAWS Lambdaで取得してみたら
# 結論から言うと
– 人力で脆弱性情報を収集するのは大変だよ。
– MyJVN APIを使って脆弱性情報を取得してみた。
– ほとんど[こちら](https://dev.classmethod.jp/server-side/os/myjvn-api/)を丸パクリ(真似)させていただいた。# きっかけ
仕事で脆弱性情報(OS、アプリ、NW機器など諸々)とかを収集して、ちゃんと対策しないと駄目だよ〜と言う流れになった。だけど、毎日NVDやJVNやJPCERTやCISCOとかのサイトに順番にアクセスして脆弱性が出ていないか目視でチェックすると言う運用に、いろいろ違和感を覚えたので、なんとかして楽できないかと考えていたところMyJVN APIの存在を知る。
MyJVN APIとは、JVN iPediaの脆弱性情報を検索するためのAPI検索情報を与えることで脆弱性情報の一覧や詳細をXML形式で受け取ることができるらしい。ベンダID、製品名、製品ID、CVSS深刻度、発見日/更新日/発行日などからフィルタリングが出来そう。
ちなみにJVNとは「Japan Vulnerability
【個人開発】YouTube Liveの生放送から盛り上がった箇所を自動抽出するwebサービスをリリースしました
# 作ったもの
YouTube Liveの放送から盛り上がった箇所を自動で抽出するサービスです。長時間配信を観る時間がない方や配信の切り抜きを作りたい方などは是非利用してみてください。リンク→[https://www.highlight-ranking.com/](https://www.highlight-ranking.com/)
YouTubeLiveの生放送から盛り上がった箇所を自動抽出するwebサービス作りました。是非使ってみてください。https://t.co/fYxddc2jOV
— tf (@tf0101_tw) January 6, 2020
AWS LambdaとServerless Frameworkで爆速で作るTwitterbot
## 0. はじめに
ここ1年はStackstormばかり扱っているのですが、年末だし他の技術も触るかー!と思いたち、色々自分の作業ディレクトリを漁っていたところ、Twitterbotなるものを発掘しました。`Stackstorm???`という方はこちらをご参照ください。(自演)
[Dockerで始めるStackstorm再入門1/3(環境構築からOrquestaで書いたWorkflowの結果をslackに通知する)](https://qiita.com/gkzz/items/4329f0846c873dbce9cf)話を戻します。
そのTwitterbotですが、私はvpsを使って運用していました。
ただ、そんなに頻繁に動かさないので、また勉強も兼ねて、`AWS Lambda(以下、lambda)移行`にチャレンジした次第です。`lambdaってなに?`という方は、AWSがオフィシャルなハンズオンを公開しているので、そちらをご参照ください。
先日公開した
AWSでサブドメインにワードプレスを入れる
# AWSでサブドメインにワードプレスを入れる
メモとして流れだけ書きます。
詳しいことが知りたい方は、コメントください。## ALBの作成
ALBを作成しておきます。
## Route53の設定
Route53で使用するサブドメインのAレコードに、ALBをエイリアスで追加する
## 証明書の作成
ACMで証明書を取得する。
xxx.com
*.xxx.comアスタリスクでサブドメインでも効くようにする。
むしろサブドメインしかいらないか。## EC2でAPサーバの作成
APサーバを作成する
他のWordPressのサーバなどのイメージから複製した。
Apacheなどのルートドメインに、ヘルスチェック用のHTMLを置いておく。
healthcheck.htmlなど。中身は適当## ターゲットグループの作成
ターゲットグループを作成する。
作成したAPサーバを、追加する。## ALBの設定
作成した証明書を登録。
80のほうのリスナーに、作成したターゲットグループを追加する。
443のほうのリスナーにも、作成したターゲットグループを追加する。##
透過Bastion Server安全的連線到VPC內
![aws-bastion-host.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544897/2f30b064-4bc4-ac12-38c7-ec6a6247c8d3.png)
在AWS環境中通常會用一台Bastion Server(俗稱跳板機)來縮限從外部Internet來的存取,雖然安全,但也讓Developer常常面臨到debug的難題,例如要觀看private subnet內的web顯示,因此來筆記一下解法。
### 0. Prerequisite
1. SSH Client
### 1. 建立SSH Tunnel
“`Shell
ssh -D 55555 -iec2-user@
“``-D 55555` 可以換成local上任何閒置的port
### 2. 設定SOCK Proxy
Network > 網路連線(Wifi or other) > Advanced > Proxies > SOCKS Proxy
10分鐘了解AWS Beanstalk/ECS/Fargate/EKS之間的差異
### 0. Container Orchestration on AWS
目前在AWS上提供了下面四種方式讓你可以部署你的container到AWS上提供服務,不過其實這四種方式在不同的面向上都有些細微的差異,而筆者自己在side project與工作上的部署也會隨著不同的專案規模與需求來選擇,我們將會分別比較這四種在AWS上提供的solution
1. Beanstalk
2. ECS
3. ECS-Fargate
4. EKS#### 1. BeansTalk
AWS Elastic Beanstalk 其實是一項我滿喜歡的服務,除了是較早期推出的服務,也是少數AWS中少數比較面向Developer導向的服務,提供開發者只需要專注在application的開發與source code的管理,一但確定要部署,後續的Auto Scaling, Load Balancer, service monitoring在預設的config下來運行web或是api service都還有可接受的結果。
如果developer有CLI的權限的話,可以搭配Elastic Bean
利用AWS Fargate5分鐘部署你的Gin/Flask API Cluster
### 0. Prerequisite
在前面的文章我們已經介紹過目前在AWS上相關的container服務,而這篇文章想讓大家體驗Fargate的power,也將會帶著各位透過Cloudformation來部署一個API Cluster,以便提供給你的mobile或是web作為資料的來源。
無論你的API語言是透過Golang [gin]([https://github.com/gin-gonic/gin](https://github.com/gin-gonic/gin)) 或是 Python [Flask](https://github.com/pallets/flask) 開發,只要最後透過包裝成docker image後,都可以透過本篇所教學的方法快速的部署API Cluster。
此外,我們將透過[CloudFormation](https://aws.amazon.com/tw/cloudformation/)的方式來快速部署我們所需要的架構以及Cluster,如果對於CloudFormation還不熟悉的話也沒關係,可以先跟著本篇的範例先做嘗試,稍後我們也會部分裡
利用AWS S3來部署Hugo Site
## 0. Prerequisite
如果你還不清楚Hugo是怎麼樣的一個靜態網頁工具,可以先參考[使用hugo搭建你的第一個blog](https://qiita.com/p0n2/items/57cabf0ff855e8b473e5)來對hugo有初步的認識。
如果你已經了解並且準備好讓Hugo可以透過internet讓所有人瀏覽,那在這一篇post中我們將會詳細的介紹。
在開始之前,本片文章會使用到AWS的CLI來配置AWS上的相關資源。
[安裝 AWS CLI](https://docs.aws.amazon.com/zh_tw/cli/latest/userguide/cli-chap-install.html)## 1. Create S3 Bucket and configuration
接著,我們可以透過command line輸入
“` shell
aws s3api create-bucket –bucket–region ap-northeast-1 –create-bucket-configurati
マネジメントコンソールにログインせずに起動済みのEC2インスタンスへSSHログインしたい
#実現したいこと
パブリックIPを確認する目的のためだけにAWSポータルにログインせずに
起動済みのEC2インスタンスへSSHログインできるようにしたい#結論
以下を実行すればよい~~~
aws ec2 describe-instances | jq .Reservations[].Instances[].NetworkInterfaces[].PrivateIpAddresses[].”Association”.”PublicDnsName” | grep -v null | xargs -n1 -p ssh -l ec2-user
~~~
出力例~~~
ssh -l ec2-user ec2-3-17-176-20.us-east-2.compute.amazonaws.com
~~~
※xargsコマンドの-pオプションを外せばそのままSSHを実行できるが、出力結果をコピペするのが私の好みのため。#前提条件
EC2インスタンス側– オハイオリージョン(どこでもやり方はあるだろうが私はオハイオリージョンで実行した。)
– Amazon Linux 2 AMI
React.jsとAWS(cognito)の連携
##何をする?
reactコンポーネントからAWSのcognitoにユーザ登録を行い、サインインを行います。## cognitoについて
アプリやwebサービスの認証基盤です。認証ロジックだけAWSに託します。
サービス提供者はログイン情報を保持することなく認証結果のみを受け取ります。
また、cognitoを介して様々なAWSサービスが使えるようになります。
詳細は公式ドキュメントを参照ください。
[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/what-is-amazon-cognito.html)## バージョン
– node.js **10.15.3**
– react.js **^16.12.0**
– material-ui **^0.20.2**
– amazon-cognito-identity-js **^3.0.15**## 準備
awsへの連携にはamazon-cognito-identity-jsを使います。“`
npm install —