- 1. Application Load Balancer (ALB)でアプリケーションのCookieでセッション維持する
- 2. EC2への接続に22番ポートの開放はやめてSystems Managerを使おう
- 3. Amazon Redshift Spectrum とは
- 4. Amazon Personalizeでレコメンドしたときのメモ
- 5. AWS SAAの次はAWS DVAを目指してみよう。
- 6. Amazon MQってなんだろ?
- 7. WindowsにDatadog AgentをSSMでインストール
- 8. 【AWS】アイデンティティベースのポリシーとリソースベースのポリシーの関係性を理解したい
- 9. 転生したらRails on AWS(CloudFront)だった件
- 10. EMRノートブック上でPySparkによるレコメンデーションを実行する
- 11. EMRノートブック起動失敗時の対処 : “Workspace(notebook) is stopped. Invalid configuration”
- 12. AWS初心者(一ヶ月)がサーバレス開発 ~ CloudWatch と サービス間の接続周り 編 ~
- 13. AWS初心者(一ヶ月)がサーバレス開発 ~ API Gateway & Lambda & DynamoDB 編 ~
- 14. AWS LambdaでRESTでデータ取得してSplunkに送信してみる
- 15. AWS IoT thing shadowの取得と更新
- 16. Amazon Aurora とは
- 17. Microsoft Edge で AWS の ALB(ELB)にアクセスしたときにスティッキーセッションが効かない?
- 18. 【AWS IoT】AWS IoT Core ルールを使ったデータストアを試してみた(その1)
- 19. マイクロフロントエンド② GitHub ActionsでCI/CDの構築
- 20. AWS CodePipelineでGitHubのソースをS3へデプロイする
Application Load Balancer (ALB)でアプリケーションのCookieでセッション維持する
ALBでアプリケーション側のCookieでセッション維持することができるようになりました。
その設定方法を記載します。https://aws.amazon.com/jp/about-aws/whats-new/2021/02/application-load-balancer-supports-application-cookie-stickiness/
## 設定方法
– ALBを作成後、ターゲットグループの画面に移動し、AttributesセクションでEditをクリック。
※ALBの作成手順は割愛します。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/186724/41ea0146-89ee-ee5f-d5e1-57f016a4353b.png)
– Stickinessを選択し、Stickiness typeはApplication-based cookieを選択する。
– 維持期間を設定する。
– App cookie nameにアプリケーションで生成されるCoo
EC2への接続に22番ポートの開放はやめてSystems Managerを使おう
EC2にSSH接続をする必要がある場合、セキュリティグループの22番ポートを開放していませんか?
ソースIPがフルオープンということは無いかもしれませんが、この設定だと悪意のある人から接続を試みられる可能性があります。![Page-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1180441/731f0032-01a7-9dd0-83cf-ad1d3bf23f59.png)
鍵認証をしているとはいえ、DDoS攻撃の標的になるかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1180441/b0098b4e-0c43-6f1a-96b5-cabd727e3602.png)
AWSには**Systems Manager**というサービスがあります。Systems Managerの機能の一つである**Session Manager**を使うとセキュリティグループの22番ポートは閉じた
Amazon Redshift Spectrum とは
## 勉強前イメージ
s3のデータselect出来るとかなんとか聞いたことある
あと読み方わかんない## 調査
### そもそも Amazon Redshift とは?
AWSのデータウェアハウスサービスで、BIツールと呼ばれています。
詳細は [こちら](https://qiita.com/miyuki_samitani/items/599cae649a00719f4248)### Amazon Redshift Spectrum とは
読み方はスペクトルと読みます。
Redshift SpectrumS3上に保存されているデータに対してRedshiftと同様に分析を行うことができ、
これまで連携していたBIツールの利用も既存のRedshift同様に使用できます。データウェアハウスの課題として、データを用途ごとに加工し保存しておく必要があります。
それに関して、データレイクという保存方法で無加工のまま保存することが可能になり、それに関してs3が用いられることが多くなりました。
しかし、処理を行う方法としてRedshiftにコピーしなければいけなかったのですが
s
Amazon Personalizeでレコメンドしたときのメモ
##はじめに
卒検のときのメモです。見にくい部分が多いかもですがご了承ください。大学の卒業研究でAmazon Personalizeを使った推薦性能の比較実験をしたので、Amazon Personalizeの使い方をメモしたもの。
#1. Amazon Personalizeとは
>Amazon Personalizeは、開発者がアプリケーションを使用する顧客に個別の推奨事項を簡単に追加できるようにする機械学習サービスです。これは、Amazonがパーソナライズシステムを構築した豊富な経験を反映しています。引用: [What Is Amazon Personalize?](https://docs.aws.amazon.com/personalize/latest/dg/what-is-personalize.html)
#2. Personalzie用IAM作成
rootユーザーとかAdministratorユーザーでAmazon Personalizeを試す人はスキップで。IAMで以下JSONのポリシーを作成。
“`
{
AWS SAAの次はAWS DVAを目指してみよう。
#【AWS SAAの次はAWS DVAを目指してみよう。】
入社以来、通勤時間を少しでも有効に使うために資格の勉強をしています。
今後は、AWS DVAの勉強をしようと思ったので自分のメモとして残します。
AWSの開発者としての知識を付けるためにも頑張ろう。Udemy [AWS 認定デベロッパー アソシエイト模擬試験問題集(5回分325問)](https://www.udemy.com/course/aws-31955/)
##DVA合格に向けて、押さえておこうと思っているサービス
###AWS CodeBuild
フルマネージド型の継続的インテグレーションサービス
ソースコードをコンパイルし、テストを実行し、デプロイ可能なソフトウェアパッケージを作成可能。###AWS CodeCommit
プライベートGitリポジトリとして、フルマネージドのソースコントロールサービス
Gitリポジトリを簡単にホスティングすることが可能。###AWS CodeDeploy
インスタンスへのコードのデプロイを自動化することで、
デプロイにおけるダウンタイムを最小化するサービス###
Amazon MQってなんだろ?
# Amazon MQってなんだろ?
SAAの練習問題で1回だけ見たことがある**Amazon MQ**というサービスがあります。名前しか知りませんが、多分メッセージングに関するサービスだと思われます。こんな程度の知識しかないので、今回は全く知らないAmazon MQについて調べてみようと思います!## オープンソースメッセージブローカー向け完全マネージド型サービス
>Amazon MQ は、AWS でメッセージブローカーの設定や運用を簡単に行えるようにしてくれる、 Apache ActiveMQ および RabbitMQ 向けのマネージド型メッセージブローカーサービスです。Amazon MQ は、メッセージブローカーのプロビジョニング、セットアップ、メンテナンスを管理することにより、運用上の責任を軽減します。Amazon MQ は業界標準の API とプロトコルを使用して現在のアプリケーションに接続するため、コードを書き直すことなく AWS に簡単に移行できます。
[Amazon MQ(ActiveMQ 向けマネージド型メッセージブローカーサービス)| AWS](https://
WindowsにDatadog AgentをSSMでインストール
GUIでのインストール手順は[WindowsにDatadog Agentインストール](https://qiita.com/hiren/items/8c45fb59845e89759046)をご参照ください。
#環境
・AWSで公式のクイックスタートAMIを使用しました。
`Microsoft Windows Server 2019 Base – ami-0f3651a900e33262f`
`Microsoft Windows 2019 Datacenter edition. [English]`
※SSM Agentがデフォルトで入っています。・インスタンスはprivate subnetに作成しました。
※ルートテーブル上`0.0.0.0/0`への通信はNATゲートウェイ向きのprotectedな環境・セキュリティグループには最低限必要な以下のルールのみアタッチしてみました。
|向き|タイプ|プロトコル|ポート範囲|ソース/送信先|備考|
|:———–|:————|:————|:————|:———
【AWS】アイデンティティベースのポリシーとリソースベースのポリシーの関係性を理解したい
AWSのポリシーはユーザーに対してだけでなく、S3やECRなどのリソースに対してもアタッチ(付与)できます。
この記事では、ユーザーにアタッチするポリシー(アイデンティティベースのポリシー)と、リソースにアタッチするポリシー(リソースベースのポリシー)の関係性を、理解の範囲で説明したいと思います。※この記事で説明する内容は、**同一アカウント内のポリシー評価**であり、クロスアカウントでは異なります。
## ターゲット
– AWSを使っているけど、ポリシーについて知らない・よく分からない
– ポリシーで許可(Allow)しか設定したことがない
– アイデンティティベースのポリシー、リソースベースのポリシーについて知りたい## 要約
– アイデンティティベースのポリシーは、ユーザなどにアタッチできる
– リソースベースのポリシーは、リソースや認証ポリシーにアタッチできる
– アイデンティティベースのポリシーとリソースベースのポリシーの評価に優先順位はない
– 明示的な拒否(Deny) > 明示的な許可(Allow) > 暗黙的な拒否(ポリシーで何も設定していない)
– ポリ
転生したらRails on AWS(CloudFront)だった件
よくありがちなAWS+Railsでアプリ公開をしていく中でいくつかハマった点があったので、備忘録の意も込めて残します。誰かの参考になれば幸いです。
※ 開発環境の具体的な手順などは別記事を引用し、あくまでアプリ公開までに引っかかったポイントなどを中心的にまとめています。ご了承ください。
#開発環境
– Rails 5.2.4
– Docker 19.03.13-ce
– Nginx 1.18
– Unicorn 5.4.1
– AWS EC2
– AWS RDS(MySQL)
– AWS S3
– AWS CloudFront#環境イメージ
![infra.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1220491/8c248938-61c9-27e7-c502-e7c6cf553500.png)#Rails on Docker環境構築
Docker + Rails
EMRノートブック上でPySparkによるレコメンデーションを実行する
## 概要
EMRクラスターに接続したJupyterノートブック上で、PySparkを使ったレコメンデーションの処理を実装していきます。EMR初学者に向けたチュートリアル的な内容になります。
![ml25m-arch.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/342646/9ea33063-a508-ecfa-0151-256a302284e9.png)
使用するデータセットは [MovieLens 25M Dataset](https://grouplens.org/datasets/movielens/) の `ratings.csv` です。行ごとに観客 (userId)、映画 (movieId)、評価 (rating)、タイムスタンプ (timestamp) が格納されており、25,000,000行以上のデータを含んでいます。ファイルサイズは約680MBになります。
このデータセットを用いて、各ユーザーに対するおすすめ映画トップ10を出力するというのが今回やりたいことになります。モデ
EMRノートブック起動失敗時の対処 : “Workspace(notebook) is stopped. Invalid configuration”
## 問題
EMRのノートブックを作成した際、`Workspace(notebook) is stopped. Invalid configuration` というメッセージとともに起動に失敗してしまいました。[開始] ボタンを押しても “停止” になってしまいます。
![スクリーンショット 2021-03-19 12.11.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/342646/e872dc92-f1cd-266f-b0a2-93361f8a194f.png)
## 対処
接続しているEMRクラスターの設定を確認します。
[セキュリティとアクセス] – [すべてのユーザーに表示] が「なし」になっている場合、「すべて」に変更します。![スクリーンショット 2021-03-19 12.22.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/342646/401a0e5e-653e-c4f6-87a
AWS初心者(一ヶ月)がサーバレス開発 ~ CloudWatch と サービス間の接続周り 編 ~
[前前回](https://qiita.com/k-mishima/items/94a46d81951d0a4c3f3e)と[前回](https://qiita.com/k-mishima/private/458bf25a8641e3f72cef)に引き続き、AWS を触り始めて一ヶ月強の人間がサーバレス開発します。
# 脳内作戦会議、三度
既にフロント側とバック側は作り終えたわけで。
CloudWatch は、各サービスでログを仕込めば良いわけで。
あとは、フロント側とバック側を繋いであげればオッケーなわけで。
AWS を触り始めて一ヶ月強の僕でも、なんとかなりそうな希望が持てる気がしてくるわけで。|![capture_000022.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164835/5cf19a63-7b64-8053-9374-51834f7ce531.png)|
|:–|– 作業a : [S3 & CloudFront](https://qiita.com/k-mishi
AWS初心者(一ヶ月)がサーバレス開発 ~ API Gateway & Lambda & DynamoDB 編 ~
[前回](https://qiita.com/k-mishima/items/94a46d81951d0a4c3f3e)に引き続き、AWS を触り始めて一ヶ月強の人間がサーバレス開発します。
# 脳内作戦会議、再び
静的コンテンツの公開までこぎつけたわけですが、
AWS を触り始めて一ヶ月強の僕には荷が重いままなわけで。
シンプルすぎる仕様は減らせない荷物なわけで。
適当な作戦が思いつかぬまま、下手の考え休むに似たり、と感心する頃には半日経過しちゃってるわけで。|![capture_000022.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164835/5cf19a63-7b64-8053-9374-51834f7ce531.png)|
|:–|– 作業a : [S3 & CloudFront](https://qiita.com/k-mishima/items/94a46d81951d0a4c3f3e)
– 作業b : API Gateway & Lambda & DynamoDB
AWS LambdaでRESTでデータ取得してSplunkに送信してみる
#はじめに
– RESTで取得してSplunk or Splunk Cloudに取り込みたいデータがある
– Add-onがあればいいんだけど、ないものはない
– Add-on作るのめんどい
– ローカルでREST叩くスクリプト動かすとしても24時間稼働するマシン用意するのもコストがかかる
– うーん、、、AWS Lambda試してみるか → **何これすごい!** というお話です#環境
– Lambdaからアクセス可能するためEC2などでグローバルIPを持つSplunk Enterprise、もしくはSplunk Cloud
– AWS Lambda#設定手順の概要
1. SplunkでHEC設定
2. AWS Lambdaで関数作成
3. CloudWatchでLambdaを定期実行化#設定手順
##1. SplunkでHEC設定
まずはAWS Lambdaからデータを受け取るためのHECを設定します。
ここは通常通りです。1. 設定 > データ入力
2. HTTPイベントコレクターの [+ 新規追加] をクリック
3. 名前を適当に入力して [次へ] をクリック
AWS IoT thing shadowの取得と更新
Thing shadowの読み書きを行う方法はいくつかある。それらのまとめ。
## イメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406130/585b2e4a-59ae-057b-399b-035c2779977c.png)
## アプリケーション側 (Eg. Lambda)
### 準備
Lambda関数を作成し`AWS IoT Data`へのアクセス権限を割り当てる。
### 基本動作
“`js
// 初期化
const iotdata = new aws.IotData( { endpoint: <エンドポイント> } );const params = {
thingName:,
payload: <更新内容>
};
// データ更新
/// 非同期で更新する。
const res = iotdata.updateThingShadow(params, (err, data) => {
// 実行後のコールバ
Amazon Aurora とは
## 勉強前イメージ
RDSの中の1つでmysqlとpostgresqlに互換性があるやつ
## 調査
### Amazon Aurora とは
Amazon RDSで利用可能なエンジンのタイプの1つで
マネージド型のリレーショナルデータベースサービスになります。以下はRDSの作成画面ですが、MySQLやPostgreSQLに並んでAuroraがあります。
![1RDS · AWS Console – Google Chrome 2021-03-16 23.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/928f286e-332a-0dea-30d5-e51c02d178f0.png)
AuroraはMySQLに互換性があるバージョン、PostgreSQLに互換性があるバージョンを選ぶことができ
それぞれ数倍高速にアクセスできると言われています。![2RDS · AWS Console – Google Chrome 2021-03-16 23.11.png](h
Microsoft Edge で AWS の ALB(ELB)にアクセスしたときにスティッキーセッションが効かない?
わたしが見つけたわけでも直接解決したわけでもないのですが、身近で表題のトラブルが発生したので、こちらに残しておきます。
※2021/03/18 現在の情報です。今後、Edge や ALB の動作が変更される可能性があります。
# Microsoft Edge のバージョン
これを書いている時点で最新の 89.0.774.54(64 ビット)で確認しています。
![01_edge_version.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/20af32d4-2215-e0d2-24b5-8608a97ae603.png)# ALB 側の設定
ターゲットグループでスティッキーセッションを有効にし、Stickiness type を「lb_cookie」にしている場合に、この事象が発生します。この設定では ALB が「AWSALB」という Cookie を発行して、それをセッションキーにしてアクセスをターゲットサーバに振り分けます。
なお、ここでは Stickiness dura
【AWS IoT】AWS IoT Core ルールを使ったデータストアを試してみた(その1)
IoT 始めたばかり人向けの記事です。
AWS IoT Coreのルール機能で、デバイスから送信したデータをいくつかのストア先に溜めてみました。
ルール機能の概要やストア方法をまとめてみました。#前提
+ [AWS IOT CORE 初級ハンズオン](https://aws-iot-core-for-beginners.workshop.aws/)を参考にしています。
+ 送信元デバイスは NVIDIA Jetson Nano 開発者キット B01 を利用
+ AWS IoT Core のコンパネで「モノ」を作成して、「モノ」用の証明書も作成してデバイスに保存
+ デバイスにはAWS IoT Device SDK をインストール
+ クライアントプログラムは[AWS IOT CORE 初級ハンズオン](https://aws-iot-core-for-beginners.workshop.aws/)のダミーデバイス用プログラム(
device_main.py)を利用
+ デバイスからIoT Coreに向けてMQTTで10秒おきにデータ送信
+ データはこんな感じ“`jso
マイクロフロントエンド② GitHub ActionsでCI/CDの構築
前回の記事でマイクロフロントエンドの基礎を学んだので、今回はReactでマイクロフロントエンドを構築し、GitHub ActionsでCI/CDを組んでみることにしました。
https://qiita.com/suzuki0430/items/b1b7c2d63e1eaf4d2c66
3つのプロジェクト(Marketing, Authentification, Dashboard)で計6つの画面を実装し、Containerでまとめて表示するような構成にします(記事内で作成するのは、Marketingのみになります)。
![スクリーンショット 2021-03-17 21.15.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569054/55dbe06f-38cb-bc8b-ec6a-d5e2656f7e79.png)#マイクロフロントエンド構築における鉄則
##1. 子プロジェクト同士は疎結合させる
プロジェクト間での関数/オブジェクト/クラスのimportやstateの共有をさせないよう
AWS CodePipelineでGitHubのソースをS3へデプロイする
## はじめに
CodePipeline 設定手順の備忘録。## やりたいこと
– GitHubへのpushをトリガーにして、S3に自動デプロイしたい
– 環境を分けたい(開発、ステージング、本番)
– デプロイ結果をslack通知したい## 構成図
![code1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/917499/0f7e2eff-2c60-6745-3086-084805062e4f.png)
※ ng new コマンドで作成した Angular のサンプルコードをデプロイします。
## 設定手順
### 1. CodePipeline の設定
「パイプラインの作成」から作成を開始します。
![スクリーンショット_2021-03-14_22_17_22(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/917499/bec52669-6aa0-1bd6-7152-b72951b54b