AWS関連のことを調べてみた2020年12月30日

AWS関連のことを調べてみた2020年12月30日
目次

ISRでグラフを表示する

# はじめに

Webフロントエンド技術の勉強をしていて、ISR(Incremental Static Regeneration)というのがあるのを知りまして、これをIoTに応用したらどうなるかな、と考えてみたところ、**「センサーデータを表示するグラフやダッシュボードをISRで作ったら高速でかつ(ある程度は)最新情報を反映したページが作れるのでは」**というアイデアを思いつきましたので、形にしてみました。

結果はこんな感じでかなり応答時間が改善されます。
![third.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542185/c6e620c8-de09-6b67-a5c1-ff68f6f73f13.png)

# ISRとは

ISR(Incremental Static Regeneration)というのは、

– 段階的に(Incremental)
– 静的なサイトを(Static)
– 再生成する(Regeneration)

というもののようです。

その前にSSG(Static Sit

元記事を表示

AWS SAA 合格体験記 (ほぼ未経験)

**結論**
・(ほぼ)未経験。
・受験前に、
 LinuC304
 ORACLE MASTER BRONZE DBA 12c 取得済み。
・735点で合格。(自宅受験)
・Examtopicsで自分で研究しながら勉強しよう。

**使用した教材**
ExamTopics
udemy
その他書籍

**概要**
2020.12.27、SAA-C02版のAWS認定ソリューションアーキテクト-アソシエイトに合格したので、私がどんな勉強をしたのか、どんな問題が出たのかなどをお伝えできればと思います。

前提として、私は2020年01にクラウドエンジニアとなってから、AWSのアーキテクチャなどについてはあまり触っていません。CLIでいくつかのサービスを自動的に設定するような実装を何度かしたことがある程度。
強いていうなら、S3にバックアップ吐き出させたことある程度。

**攻略チャート**

1.模擬試験(udemy)ed○tech社の

普通に難しくて、試験前はめちゃくちゃ不安になりました。
ていうかこれやらなければよかった。
捻り方がおかしいというか、もっとストレートに出題してくると思

元記事を表示

Redis Pipeliningはネットワークレイテンシの壁を超えるか

# RedisをマルチAZに配置したときの問題
az-1に配置したRedisに対して、az-2に配置したアプリケーションからアクセスすると、az間のネットワークレイテンシの問題で遅くなるという話。

# Redis Pipeliningとは
[Spring Data Redis – 10.13. Pipelining](https://docs.spring.io/spring-data/redis/docs/2.4.2/reference/html/#pipeline)

> Redis provides support for pipelining, which involves sending multiple commands to the server without waiting for the replies and then reading the replies in a single step.

通常は1コマンドごとにサーバに送られるので、大量のデータをRedisとやりとりすると、サーバとの通信も大量に発生することになります。100件のsetで100回通信が発生

元記事を表示

AmazonChatbotでcloud watchのアラートを通知する時にハマったこと

同じところにハマる人がもしかしたらいるかもしれないので、参考にしてもらえると嬉しいです。

### SNSのサブスクリプションの設定で、rawメッセージ配信をONにしてはいけない。
通知のテスト配信に、rawメッセージを送りたくなって、設定をONにしたら、エラーは出ないけど、通知が送られない状態になったので、半日ハマった。
このチェックボックスを触ってはいけない。

![スクリーンショット 2020-12-30 7.16.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/380985/11a76fd5-c95c-1d19-e285-e57a0d42f2ed.png)

![スクリーンショット 2020-12-30 6.08.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/380985/db14ea3a-1fc9-cd42-76dc-8901e6f901cf.png)
参考: https://docs.aws.ama

元記事を表示

ECRにpush&pull

忘れないようにメモとして。
#IAMユーザーの作成
ECRへアクセスできるIAMユーザーを作る。

・Add user からUser name, Access type を選ぶ
・Attach existing policies directlyから
“`EC2のアクセス権限
AmazonEC2ContainerRegistryReadOnly
AmazonEC2ContainerRegistryPowerUser
AmazonEC2ContainerRegistryFullAccess
“`
のどれかを選ぶ
・ユーザーを作成(シークレットキーとアクセスキーを控える)
#リポジトリを作成
・Amazon Elastic Container Registry(ECR) でCreate repositoryをクリック
・好きなリポジトリ名を入力して作成する
・ECR→RepositoriesからURIを確認
(XXXX.dkr.ecr.ap-northeast-1.amazonaws.com/リポジトリ名)
・Repository nameをクリックすると右上にView push co

元記事を表示

DynamoDBを構築してみよう

## 概要

1. DynamoDBを構築
2. テーブルにデータを追加
3. データの削除

今回は、 [AWSのチュートリアル](https://aws.amazon.com/jp/getting-started/hands-on/create-nosql-table/) を参考に進めて行きます。

## 1. DynamoDBを構築

– テーブルの作成

コンソール > DynamoDB > テーブル へ移動して、テーブルの作成を行います

![DynamoDB · AWS Console 2020-12-28 23-54-30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/0194a569-0f83-e0e1-95ae-30ac5903cd95.png)

– DynamoDB テーブルの作成

テーブル名 : qiita-test-2020
プライマリキー : ID
デフォルト設定の使用 : チェック入れる

![DynamoDB · AWS Console 2020-12-

元記事を表示

EC2 AutoScalling設定(ELB)〜インスタンスの更新

EC2+ELBによるAutoScallingの基本的なやり方と
2020年6月にリリースされたAutoScallingのインスタンス更新の紹介です。

## AutoScalling設定の流れ
起動テンプレートを利用した基本的な設定の流れは以下になります。
今回は固定で2つのEC2インスタンスを起動する設定とします。
・独自AMIの作成
・起動テンプレートを作成
・AutoScallingグループの作成
 ・ELBの作成
 ・ターゲットグループの作成

参考URL
[起動テンプレートを使用した Auto Scaling グループの作成](https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/create-asg-launch-template.html)

## AutoScalling設定
固定で2つのEC2インスタンスを起動する場合は以下それぞれに「2」を入力する。

* 希望する容量
* 最小キャパシティ
* 最大キャパシティ

大きなシステムを構築する場合は、固定ではなく動的にスケーリング設定を
行うと思います

元記事を表示

TerraformでAmazon API Gatewayを構築する(プライベートAPI編)

# はじめに
API Gateway + Terraform 記事第6弾。
Private の API Gateway は、以下のクラスメソッドの記事の通り、ちゃんと理解して使わないとセキュアではなくなってしまう。

【Developers.IO】[Amazon API Gateway プライベート API の「プライベート」を誤解してると、とても危ないという話。](https://dev.classmethod.jp/articles/private-api-is-not-private-for-you/)

このあたりを理解しながら、Terraform で API Gateway を作っていこう。

API Gateway の REST API は既に構築できている前提とする。
構築方法については、以下の記事を参考にしていただければ。

– 【Qiita】[TerraformでAmazon API Gatewayを構築する(基本編)](https://qiita.com/neruneruo/items/94a0e637ea1c6c95d9e4)
– 【Qiita】[Terrafor

元記事を表示

AWS基礎

#はじめに
###AWSとは
アマゾンが提供するクラウドサービス
クラウド上でサーバーやネットワークを構築するためのサービス

###インフラとは
サーバーやネットワーク
システムやサービスの基盤となる設備

infrastructure : 基盤

###サーバーとは
クライアントに対してサービスを提供するコンピューター
ex)
本番サーバー、テストサーバー、webサーバー、データベースサーバー

###ネットワークとは
複数のコンピューターをつないで、データを送受信できるようにするもの
ex)
コンピュータ同士をケーブルで直接繋ぎ、データを送受信できるようにする
インターネットのように色々なコンピュータを繋ぎデータを送受信できるようにしたもの

元記事を表示

Amazon SageMaker Studio の基本機能

## はじめに
Amazon SageMaker Studio の環境を立ち上げたは良いけれど、Jupyter notebook を作成したり実行したりする以外に何ができるのかがよくわからない!と感じている方もいらっしゃるのではないでしょうか。
本記事では、Aamazon SageMaker Studio の基本的な機能をご紹介します。

## 左側にあるアイコンは何?
Amazon SageMaker Studio を開くと、左側にアイコンが表示されます。ここでは、それぞれの役割をご紹介します。
![スクリーンショット 2020-12-27 13.04.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315319/61b6221c-75d6-44d8-e39f-b690bf0117bf.png)

### ファイルブラウザ
フォルダやファイルの新規作成、ファイル一覧の表示、ファイルのアップロードなどが可能です。
![スクリーンショット 2020-12-27 13.10.29.png](https:

元記事を表示

EC2でのDocker環境の構築(ArgumentError: Missing `secret_key_base`、Mysql2::Error::ConnectionError: Access denied for user ‘root’@’172.18.0.4’ (using password: NO)の解決法) 

# はじめに
EC2インスタンスを使用してインフラ構築しようとしたら、DB作成の時に以下2つのエラー沼にハマったので、その解決とDocker・docker-composeを用いたEC2によるデプロイのDB作成までの流れを解説します。

**エラー①**

“`ruby:ターミナル
$ docker-compose run web rails db:create RAILS_ENV=production

ArgumentError: Missing `secret_key_base` for ‘production’ environment, set this string with `rails credentials:edit’
“`

**エラー②**

“`ruby:ターミナル
$ docker-compose run web rails db:create RAILS_ENV=production

Mysql2::Error::ConnectionError: Access denied for user ‘root’@’172.18.0.4’ (using pass

元記事を表示

おひとり様AWSでのリソース掃除Tips(ただのメモ)

個人で勉強していると、時々ゴミが残ってたりする

AWS Configである程度確認する

#### S3のバケット強制削除

“`
$ aws s3 ls | cut -d’ ‘ -f 3 | xargs -I{} aws s3 rb s3://{} –force
“`

元記事を表示

現役エンジニアが個人的にベストな開発環境、フレームワークなどについて書く【2020年末】

# はじめに

COVID-19の影響でITエンジニアの方もリモートワークをされている方も多いかと思います。日常で利用するツールやデバイス、開発環境やフレームワークについてまとめます。分類の分け方があまり良くないので、わかりにくいかもしれませんが、少しでも参考になればと思います。
また、今回それぞれの内容について詳細な解説をしてませんので、もし興味がある方がいらっしゃいましたら、コメント頂ければできる限り回答させて頂きます。

※原則macOS環境を想定しています。また、macOS Big Sur、M1搭載Macでは検証していませんので、動作保証は出来出来かねますのでご了承ください。

# 開発環境系

## 共通

### Homebrew

公式リンク:[Homebrew](https://brew.sh/index_ja.html)
料金:無料

Macで開発する場合、まずHomebrewを入れるべし、というくらい有名。以下で説明するツールのいくつかについてはHomebrew経由で入れるので、必ず入れましょう。

### iTerm2

公式リンク:[iTerm2](https:

元記事を表示

AWS RDS インスタンスは ping が通らない。疎通確認するぞ。MySQL 編

AWS の RDS インスタンスは ping がつかう ICMP のトラフィックを受け付けていないようです。
running なのにエンドポイントに ping 叩きまくっても反応ないのはそのせいです。

`telnet` とかでもできるみたい ( [※1](https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-cannot-connect/) ) ですが、どうせ環境構築中はそのまま DB に接続したくなると思うので、クライアントをインストールしちゃう方が楽だと思います。

私は RDS で MySQL を立ち上げてたので、`mysql` クライアントをインストールして疎通確認しました。

“`shell
$ yum install mysql
$ mysqladmin ping -h xxx.xxx.xxx.xxx -u username
“`

もちろん、パブリックアクセスの設定が OFF になっていれば、該当の RDS インスタンスと同一のセキュリティグループに所属するリソースからでなければ応答しません。

元記事を表示

CloudWatch Logsのログをローカル環境にダウンロードする

# 概要

CloudWatch Logsコンソールからログを収集する作業が地味にきついのでツールを作りました。

# ソースコード

https://github.com/naomichi-y/cloudwatch-logs-downloader

# 特徴

* dockerベースなのでセットアップ手間いらず
* ロググループを指定することで、ログストリームを跨いだ検索が可能
* 正規表現に一致したメッセージのみ抽出可能
* 出力フォーマットはJSON形式

# 使い方

“`
$ docker run –rm -it –env-file=.env -v ${PWD}:/go/src/app cld -group=ecs/production-log -start=”2020-12-27 15:59:00″ -end=”2020-12-27 15:59:59″

2020/12/29 07:05:42 Write results…
2020/12/29 07:05:42 Generated log file: ./dist/result_2020122970533.log

元記事を表示

【随時更新】【これだけ読めばOK】AWS完全未経験が、AWSソリューションアーキテクト試験の勉強でやったことの全て

# 背景
* 海外転職が決まったのですが、次の転職先でAWSをメインで使う予定
* AWSを全く使ったことがないため、まずはAWSソリューションアーキテクト試験の合格に向けて勉強することにしました
* 試験代は15000円と高いが転職的に会社が負担してくれるということ、入社前の評価UPを期待して、1発合格するべく、勉強をスタート
* ただ、普通に勉強しているだけでは、モチベーションが続かないため、実際に勉強で使った教材や期間などを書きながら、今後受験する人の参考になれば幸いと考えている

# スペック
* 大手企業でエンジニア歴3年
* フロントエンド・バックエンドのシステム開発の経験あり
* インフラの経験は一切なし

# AWSソリューションアーキテクト試験のために勉強したこと
* ※随時アップデート中です

## 1. これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)
* この教材を約1週間ほどで終わらせた
* 今回は資格取得だけでなく、実際に仕事でもAWSを使う予定なので、体系的に学ぶことを決意
* Udemyで

元記事を表示

Managed Workflows for Apache Airflow (MWAA)でAirflowコマンド実行

ただのメモシリーズ

“`bash:
$ export WEB_SERVER_HOSTNAME=”
$ export CLI_TOKEN=`aws mwaa create-cli-token –name | jq -r .CliToken`
$ curl –request POST “https://$WEB_SERVER_HOSTNAME/aws_mwaa/cli” –header “Authorization: Bearer $CLI_TOKEN” –header “Content-Type: text/plain” –data-raw “version” | jq -r .stdout | base64 –d
1.10.12
“`

>CreateCliToken
AmazonMWAA環境でのApacheAirflowオペレーションのAWSCLIリクエストを認証するために使用されるトークンを作成します。

https://docs.aws.amazon.com/mwaa/latest/u

元記事を表示

Amazon EC2にSSHで接続する(Ubuntu)

#記事の内容
AWSの練習でUbuntuからSSH接続するときに以下のエラー回避するのに色々調べたりして時間かかったので、コマンドを備忘として記載。Linuxのコマンドあまり分かってないのもあって苦戦した。

“`
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
“`

#作業
UbuntuにSSHクライアントが入っていなければインストールする。

“`
$ sudo apt-get install openssh-client
“`
鍵をユーザ名配下のフォルダに移動。

“`
$ mv 鍵名.pem /home/ユーザ名/.ssh
“`

権限設定

“`
$ chmod 400 鍵名.pem
“`

SSH接続

“`
$ ssh -i 鍵名.pem ec2-user@[IPアドレス or DNS名]
“`

#コメント
自分の場合はユーザー名ec2-userを書き間違えたり、鍵ファイルを適当な場所に配置していてエラーが解消できずなかなか前に進まなかった。これから始める人は参考に

元記事を表示

【AWS】Step FunctionsからCloudWatch Logsへのログ出力時の権限を確認する【Step Functions】

# はじめに
Step Functions State Machineは、当該State Machine自体のログ(AWS Management Console上のExecution event history)をCloudWatch Logsに出力することが出来ます。
このCloudWatch Logsに出力するIAM Entity(≒CloudWatch Logsにログ出力する主体)が少し特殊であるため、情報をまとめました。

本記事は下記記事の派生となります。

[【AWS】SAMでStep Functionsを利用してCloudWatch Logsにログ出力する際、sam deploy時にエラーが発生するケースがある【SAM】](https://qiita.com/tmiki/items/1ad26ca38f8b68e00df1)

# TL;DR
– Step Functions State Machine自体のログ出力は、Step Functionsサービス自体の操作として行われる
– State Machineに付与したIAM Roleは、CloudWatch Logsへ

元記事を表示

Athenaを利用してCloudTrailのログを検索する

## 概要

過去のCloudTrailログに対してAthenaを使用して解析する機会があったのでこちらの記事にまとめたいと思います。
コンソールからテーブルを作成し、クエリを実行するだけで過去のイベントが簡単に検索できます。

## テーブル作成
CloudTrailにコンソール上からアクセスし「イベント履歴」ページを開きます。

「Athenaテーブル作成」ボタンをクリック。
![スクリーンショット 2020-12-23 0.51.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/432486/f16366a6-262f-e2d4-ddde-931d2b1b2ec5.png)

Athenaテーブル作成ページが表示されるので
ログ保存バケットを選択し、右下の「テーブル作成」をクリック。

“`
CREATE EXTERNAL TABLE table_name (
eventVersion STRING,
userIdentity STRUCT< type:

元記事を表示

OTHERカテゴリの最新記事