- 1. OODAループ+メタ認知 =フロントエンドのビジネスロジック
- 2. Aurora PostgreSQLのスロークエリログをAmazon ESに取り込んでみた
- 3. 【AWS初学者用】AWS セキュリティグループとネットワークACLの違い
- 4. azure VMでsudoersファイルのsyntaxエラーを起こしちゃったときの対処法
- 5. 【妄想】最強のWordPressインフラを考えてみる。
- 6. 【AWS初学者用】AWS VPCとは?
- 7. クラウドストレージに保管されたバックアップデータをAWS移行に利用しませんか?【CloudCatalyst編】
- 8. AWSアカウントにつけられるエイリアス(別名)の命名規則
- 9. AWS DynamoDBにCSVファイルをインポートする方法
- 10. AWS触ったことがなかった新卒のワイがSAA-C02に合格するまでの道のり
- 11. 【AWS初学者用】IAMとは?
- 12. AWS 自然言語処理 ~ demo
- 13. AWSアカウントを作成したらやっておくことメモ
- 14. 【AWS】マネコンの新しいEC2管理画面ではCloudWatchアラーム設定出来ない
- 15. ChaliceでLINE chatbotを実装するまで
- 16. AWS Glueの概要ついてまとめ
- 17. AWS CloudWatchEventsの時間指定をCDKでラクにする。
- 18. EC2のキーペアを紛失した時の簡単な対処法
- 19. AWS CDKで暗黙の依存関係が削除できないとき
- 20. Amazon Elastic Transcoder概要とLambdaからのJob実行
OODAループ+メタ認知 =フロントエンドのビジネスロジック
今回の記事では、前回の記事**「OOUI(オブジェクト指向ユーザーインターフェース)のビジネスロジックにOODAループを適用する」**で紹介したフロントエンドのビジネスロジックにOODAループを適用する手法に「メタ認知」を組み合わせフロントエンドにおけるデータ検索処理の質を向上させる手法を紹介したいと思う。
前回の記事は下記のURL参照
https://qiita.com/aLtrh3IpQEnXKN7/items/aa440e8b143dca0004e9#メタ認知
##メタ認知とは
**メタ認知**に関しては以下のような様々な定義が存在している。
**自分自身の思考プロセスと戦略に関する知識、それらを意識的に反映し、この知識に基づいて行動を変更および実施する能力**。
**思考プロセスを理解することを目的とした精神活動**
**認知は、感覚データの取得、それらの削減、処理、蓄積、複製、および使用を含む、段階的な情報処理の連続プロセス。メタ認知とは認知プロセスを改善する活動。**##メタ認知の活動内容
基本的に以下の3つの活動で構成されている。
**・メタ認知的モニタリング・
Aurora PostgreSQLのスロークエリログをAmazon ESに取り込んでみた
## はじめに
SQLクエリごとの応答時間や時系列での推移を可視化できるとアプリケーションの性能改善に繋がりますよね^^
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211371/7d4f183b-bd44-c53f-ac01-ba2f7159d756.png)本投稿は、Aurora PostgreSQLの**スロークエリログ**を**Amazon Elasticsearch Service**に取り込んでみたという内容です。
**【参考】**
・ [Amazon Auroraの特徴 PostgreSQL互換エディション][00]## 利用環境
| product | version |
|———|———|
| logstash (OSS版) | 7.7.1 |
| Java (Corretto) | 11.0.8 |
| OS(EC2) | Amazon Linux2 (t3.small) |
| AMI ID | ami-03657b56516ab
【AWS初学者用】AWS セキュリティグループとネットワークACLの違い
# 本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。## セキュリティグループ
セキュリティグループとはEC2インスタンスなどに適用することができるファイアウォール機能です。
EC2インスタンスから出る通信(往路)を**アウトバウンド**、EC2インスタンスに入る通信(復路)を**インバウンド**と呼びます。
セキュリティグループのデフォルトの設定値はアウトバウンドは全て許可、インバウンドは全て拒否になっています。「去るもの追わず、来るもの拒む」という状態です!付け入る隙がないですね…
そしてセキュリティグループはインスタンスに対し複数適用する事が可能で、**ステートフル**な制御をします。
(※ステートフルについては私自身こんがらがってしまったので後ほど図で解説します。)## ネットワークACL
ネットワークACLはサブネットに適用する事ができるファイアウォール機能です。
セキュリティグループと同じ様にアウトバウンド通信・イン
azure VMでsudoersファイルのsyntaxエラーを起こしちゃったときの対処法
## ある時、Azure VMで`sudo ls`したら`sudo: parse error`エラーが
どうやら/etc/sudoers.d/user(sudoersファイル)の修正ミスでsyntax errorとなっていてsudoできなくなっていました・・・## 対処法
“`powershell
# ブラウザからログイン
az loginaz vm run-command invoke -g [リソースグループ名] -n [VM名] –command-id RunShellScript –scripts “rm -rf /etc/sudoers.d/user”
“`あとは必要に応じておかしくなる前の `/etc/sudoers.d/user`を復元してください。
sudoersファイルを編集できる権限が消えちゃったときは`VMコンソール` – `パスワードのリセット`から復旧用のユーザを作成して作業すると良さそうです。## 感想
とっても簡単でビックリ。
AWSで同じ問題が発生した際(どちらも私がやったんじゃないよ・・・)はdiskを別のVMにマウントしなおし
【妄想】最強のWordPressインフラを考えてみる。
#とりあえず夢詰め込んでみる。
・コンテンツ容量≒ディスク容量を考えなくていい
・DB容量を考えなくていい
・DBのリソースマネジメントしなくていい
・DBのメンテナンスしなくていい
・スパイクトラフィックもヘビートラフィックも捌ける
・訪問ユーザーが少ない時は最低限のコストに自動的に変動###ワガママ過ぎじゃない?
#とりあえず夢構成かんがえてみた
![001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536700/9934327c-9a67-7350-5add-bb99d8135a1c.jpeg)
**OSはAmazon Linux2想定。**#EC2やらWordPressインストールやら
↓見て。
[【超初心者向け】WordPressをAmazon EC2インスタンスにインストールする](
https://qiita.com/moomindani/items/9968df0d4396564bf74c)一点。今回DBはRDSを利用するので、wp-config.php内の以下項目をA
【AWS初学者用】AWS VPCとは?
# 本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。## AWS ネットワーク図
VPCとは何か?の前にAWSのネットワーク図を簡単ではありますが作成しました。(見辛くてすみません..)
![AWS ネットワーク図 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/782134/f089176c-1931-bd42-815e-9dec050d4112.png)VPCの中身はたくさんあってとても覚えづらいですね。理解するのに時間かかりそうですが、VPCはAWSサービスを利用する上でとても大切なのでしっかり学習します!
## VPC(Virtual Private Cloud)
VPCは名前の通り、AWS上にプライベートなネットワーク空間を作成できるサービスです。
通常、AWS上のハードウェアやインフラストラクチャは全ユーザーに共有された状態です
クラウドストレージに保管されたバックアップデータをAWS移行に利用しませんか?【CloudCatalyst編】
# はじめに
以前、「NetBackup CloudCatalyst for AWS入門」で、CloudCatalystについて解説を行いました。
CloudCatalystの詳細については、[こちらのまとめ記事](https://qiita.com/vxse_japan/items/ae157c2444fdc100777c)をご参照下さい。CloudCatalystでは、重複排除されたバックアップデータをAmazon S3などのクラウドストレージに保管することが可能です。
![Qiita0-1_CC構成図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/452113/35edf012-0639-aad1-e40e-33f5948dc57a.png)
通常、クラウドストレージに保管されたバックアップデータは、オンプレミスに存在するNetBackupサーバーでバックアップ/リストアなどの操作を行うことになります。オンプレミスではなく、クラウド上にNetBackupサーバーを構築することで、このクラウ
AWSアカウントにつけられるエイリアス(別名)の命名規則
AWSのマネジメントコンソールにサインインするときに入力する「12桁の数字」ことAWSアカウントID、これには「[自社名 (または他のわかりやすい識別子)](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/console_account-alias.html#AboutAccountAlias)」をエイリアス(別名)として設定することができます。設定は[マネジメントコンソール](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/console_account-alias.html#CreateAlias_Console)からでも[AWS CLI](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/console_account-alias.html#CreateAlias_API)からでも可能です。
ただし完全に任意のエイリアスを付けられるわけではありません。マネジメントコンソールでの表示からすると、以下
AWS DynamoDBにCSVファイルをインポートする方法
# DynamoDBへのCSVファイルインポートはコンソールからは出来ないので、DQLを使った簡単な方法を明記します。
環境
Mac OSX
“`
$ pip –version
pip 20.1.1 from /usr/local/var/pyenv/versions/3.7.7/lib/python3.7/site- packages/pip
(python 3.7)
$ python –version
3.7.7
“`まずPC内に以下のコマンド仮想環境を作ります。
“`
$ python -m venv venv
“`次に、その仮想環境に入ります。( ドット[ . ]のあとは半角スペース区切ってください。
“`
$ . venv/bin/activate
“`次にDQLをインストールします。
“`
$ pip3 install dql
“`環境変数を設定
以下のコマンドで AWS 認証情報のプロファイル (saml) とリージョン (東京) を環境変数に設定できます:“`
export AWS_PROFILE=saml
ex
AWS触ったことがなかった新卒のワイがSAA-C02に合格するまでの道のり
# 概要
さんざんいろんな人が書いてるけど・・・2020/10/11、SAA-C02版のAWS認定ソリューションアーキテクトアソシエイトに合格したので、どういう勉強をしたのか、どういう問題が出たのかお伝えしていきたいと思います。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379397/b5848dac-0f14-25a2-3ec5-360153d0a3cf.png)結果は769点でした。
8割くらいはいってるかなと思いましたが、そう甘くなかったですね。
でも、一発で合格できたので良かったです。### 受けるきっかけ
私は20年卒の新入社員で都内の某IT企業で働いております。
私の会社では、数年前から自社のシステムをAWSに移行するプロジェクトが開始しており、社内でもAWS勉強会や資格試験に挑戦する流れが活発になってます。会社に入る前の学生のときは、勉強したいとは思っていたものの、知らぬ間に数千円も課金されていたらヤダな・・・と思いAWSに触れたことはありませんでした。
会
【AWS初学者用】IAMとは?
# 本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。## IAMサービスとは
IAM(Identity and Access Management)サービスとはAWSを利用するユーザーのアクセスを安全に制御するサービス。正しいユーザーがアクセスし、ユーザーが持ってるアクセス権のサービスのみ操作できる仕組みです。初めてAWSを利用する際にユーザーはメールアドレスやクレジットカード情報などを登録することで**AWSアカウント**を取得できます。そして取得したAWSアカウントの情報で**AWSマネジメントコンソール**にログインできます。このAWSマネジメントコンソールにログインしたユーザーを**ルートユーザー**と呼び、AWSアカウントの全ての管理権限を持っています。
ルートユーザーは全ての管理権限を持っているので「アカウント情報の漏洩」や「誤操作」などが起きるとアカウントを乗っ取られてしまったりして大変危険です。なので通常AWSのサー
AWS 自然言語処理 ~ demo
|利用するサービス|説明|
|—|—|
|Amazon Translate|機械翻訳|
|Amazon Polly|テキスト読み上げサービス|
|Amazon Transcribe|音声をテキストに変換する|
|Amazon Comprehend|文書解析サービス|#1.IAM ロールの設定#
Lambda 関数が他のサービスの実行に必要となる権限を作成する。
アタッチするポリシーは次の4つ。– TranslateFullAccess
– AmazonPollyFullAccess
– AmazonTranscribeFullAccess
– ComprehendFullAccess#2.Amazon Translate#
Amazon Translateは世界中の言語のユーザー向けにウェブサイトやアプリケーションなどのコンテンツをローカライズし、大量のテキストを効率的に簡単に翻訳できます。
lambdaからTranslateを呼び出して、英語’en’を日本語’ja’に機械翻訳していきます。
python3.8、IAMロールで作成した【1.IAM ロール
AWSアカウントを作成したらやっておくことメモ
## 概要
AWSアカウントを作成したら必須でやっておかないといけないことをまとめます
他にもあったら教えて下さい:bow:## rootアカウントでやること
– MFAを有効化
– GoogleのAuthenticatorアプリを利用する方法にしました
– QRコードで読み込んだが、どこかに情報を保存しておいたほうがいいかも
– IAMからadminユーザーを作成
– PolicyはAdministratorAccess等## adminユーザーでやること
– CloudTrailで証跡を作成
– CloudWatchで請求アラームの作成
【AWS】マネコンの新しいEC2管理画面ではCloudWatchアラーム設定出来ない
# ことわり
これは2020年10月時点でのAWSマネジメントコンソールの操作画面に関する話であり、
将来的に改変されている可能性があります。# EC2 > ターゲットグループ > モニタリング
ALBからのヘルスチェックでインスタンスの死活監視をCloudWatchアラームで行うのは定番方法であるが、
マネジメントコンソールのEC2のページで、ターゲットグループからモニタリングタグを選択すると、
旧管理画面ではCloudWatch アラームの作成・設定が行えるが、
新しい管理画面では行えなくなっている。◼︎旧管理画面
![スクリーンショット 2020-10-12 17.51.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/251648/8c7f7285-25d6-5eb6-2822-3a6fb5b4c566.png)◼︎新管理画面(CloudWatchアラームに関するリンクが存在しない)
![スクリーンショット 2020-10-12 17.55.10.png](https:/
ChaliceでLINE chatbotを実装するまで
#前提
なんでもいいからAWS上に乗せて動かしてみたかった。
LINE chatbotをHeroku上にデプロイしたことはあったので、
とりあえずこれを乗せてみることにしました。#Chaliceとは
>Chalice は、 Amazon API Gateway と AWS Lambda for Python による API 環境を実現してくれる、 AWS 製のアプリケーションフレームワークです。(AWS公式より)コマンドラインでアプリケーションの構築やデプロイができるほか、
Lambdaに付与するIAMロールのポリシーを自動で付与してくれたり、
APIを自動で払い出してくれたりと、かなり便利でした。#Chalice導入まで
前準備
・AWSアカウントの取得
・AWS CLIのインストール
AWS CLIを始めてインストールする場合は、インストール後に“`
aws configure
“`コマンドをたたいて、アカウントのアクセスキーやシークレットアクセスキー、
リージョンや出力形式を登録しておきましょう。
認証情報はホームディレクトリ配下の.awsフォルダに格納さ
AWS Glueの概要ついてまとめ
#はじめに
DWHとかデータレイクとか扱うお仕事でGlueを使うことになったので勉強もかねてまとめ。
※実装とかには触れないので、概念とかこんなもんか~を知りたい方向けです##Glueとは
>データの分類、クリーニング、加工を優れたコスト効果で容易に行い、さまざまなデータストア間およびデータストリーム間でデータを確実に移動するための、完全マネージド型ETL (Extract/Transform/Load、抽出/変換/ロード) サービス
※参照:https://docs.aws.amazon.com/ja_jp/glue/latest/dg/what-is-glue.html例えば、IFされるJSONデータをDBに入れたいんだけど、そのままの形式ではDBに入れられないからDBに入れるように加工してあげてロードまでやっちゃおうね、というイメージ。(ETL読んで字の如くではあるが)
S3、DynamoDB、Redshift、RDS等と連携可能で、用途としては、データウェアハウス・データレイク構築に向いている。
##稼働イメージ
![image.png](https://qiita-i
AWS CloudWatchEventsの時間指定をCDKでラクにする。
いっっっっつも失敗するのでJSTで指定してCDKでUTCに変換することにした。
# CDKでCloudWatchEventsを定義する
取り敢えずCloudWatchEventsの定義のとこだけ。
これをよしなにStepFunctionsとかと組み合わせるなり何なりする。“`Python
# バッチスケジュールをJSTで定義する(cron式で * にする所は空でよい)
props[‘schedule’] = {
‘minute’: 40,
‘hour’: 9,
‘week_day’: ‘MON-FRI’
}# JSTをUTCに変換する
if props[‘schedule’].get(‘hour’) is not None:
props[‘schedule’][‘hour’] = props[‘schedule’][‘hour’] – 9
if props[‘schedule’][‘hour’] < 0: props['schedule']['hour'] += 24 if props['schedu
EC2のキーペアを紛失した時の簡単な対処法
EC2のキーペアを無くしてしまった時、既存のインスタンスに別のキーペアを登録できます。
新しいインスタンスを作成する必要はありません。例としてlinux/MacOSの場合の手順を示します。
## 新しいキーペアを作成する
新しいキーペアの作成は必須ではありません。
既存の別のキーペアを使用する場合はスキップしてください。* AWSマネジメントコンソールにアクセス
* `EC2` > `ネットワーク&セキュリティ` > `キーペア` へ移動
* 「キーペアを作成」をクリック
![スクリーンショット 2020-10-12 15.38.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252165/57dbd778-36a7-e37f-5e5c-a14dd9585681.png)
* キーペア名を入力して「キーペアを作成」をクリック
![スクリーンショット 2020-10-12 15.38.26.png](https://qiita-image-store.s3.ap-northeast-1.a
AWS CDKで暗黙の依存関係が削除できないとき
# CDKでクロススタック参照するリソースを作成したとき
CDKで複数スタックを定義して、スタック間でリソースを共有したいケースはよくあると思います。
スタックAで定義したLambda関数をスタックBでも使いたい、とかそういう感じのやつです。基本的にCDKは頭がいいので、渡したいリソースを適当に変数にでも入れて別のスタックに引き渡してやれば、明示的にアウトプットを定義してやらなくても勝手に依存関係を理解していい感じにしてくれますよね。
しかし、いざクロススタック参照していたリソースを削除しようとすると、CloudForamtionがこんな感じにエラーを出してきます。
“`
Export StackA:ExportsOutputFnGetAttLambdaFnstacka07BAF5DArn93F62DF0 cannot be deleted as it is in use by StackB
“`# どうしてですか?
CDKは賢いので、StackAで作成したLambdaがStackBで使われなくなった事に気付いてアウトプットを削除します。
そして`cdk deplo
Amazon Elastic Transcoder概要とLambdaからのJob実行
# Amazon Elastic Transcoder
映像・音声をユーザーが再生可能なフォーマットに変換するクラウドサービス
# 用語
– Pipeline
動画を通してトランスコードを行うパイプライン
Pipeline ID が割り当てられ、Lambda 等から使用する際に指定
以下主な設定項目
– 変換元/先の S3 バケット
– 変換完了 SNS 通知– Job
Pipeline 内で実行するトランスコード処理
Lambda 連携する場合は Lambda から生成、実行する
以下主な設定項目
– 変換元/先ファイル名
– Preset
– サムネイル生成等のオプション– Preset
トランスコード内容をまとめた設定
Job にてトランスコード内容として指定
AWS で用意されているものかカスタムで生成したものを使用
Preset ID が割り当てられ、Lambda 等から使用する際に指定
Preset一覧:https://docs.aws.amazon.com/ja_jp/elastictransc