AWS関連のことを調べてみた2022年07月20日

AWS関連のことを調べてみた2022年07月20日

ブラウザからLambdaを実行

### IDプールの作成
Cognito > IDプール管理 > 新しいIDプールの作成
認証時のロール、未認証時のロールがcognitoによって作成される

### IAM権限設定
用途に合わせて認証時のロールまたは、未認証時のロールにInvokeFunction権限を付与する

### javascript(ES6)
“`javascript
const { CognitoIdentityClient } = require(“@aws-sdk/client-cognito-identity”);
const { fromCognitoIdentityPool } = require(“@aws-sdk/credential-provider-cognito-identity”);
const client_lambda = require(“@aws-sdk/client-lambda”);
const REGION = “ap-northeast-1”;
const lambda = new client_lambda.Lambda({

元記事を表示

長期インターンの振り返り〜半年終えて〜

# はじめに

実際に長期インターンって何するの?と疑問を持っている人向けに、自分自身が長期インターンの中でおこなっている業務内容、インターンを通して得たものを中心にまとめようと思います!

# 自己紹介

自分は現在、東京大学非情報系学部3年の学生です。インターンに参加する前は、プログラミング自体は授業で触ったことはあるけど、、、というレベルでありましたが、2022年1月からインターンに参加させていただいています。インターンに参加させていただいて半年が経ってこの記事を書いています。

# インターンに参加するまで

プログラミング経験はあまりなかったものの、将来幅広い分野(研究、就職)において、プログラミングは必要になってくるのかなと素人なりに感じていました。そんな時、先にこのインターンに参加していた友人から体験談を聞いて、このインターン魅力的に感じ、応募しました。
その後、面接して、採用していただきました。面接では、聞かれることに従って、自分自身の自己紹介、どのくらいの期間インターンに参加できそうか、参加動機などをカジュアルに話しました。

# 業務内容

勤務時間としては、週

元記事を表示

AWS lightsail: WordPress: All-in-One WP Migrationのアップロードサイズ変更方法

# まえがき
Wordpressには、[All-in-One WP Migration](https://ja.wordpress.org/plugins/all-in-one-wp-migration/)というプラグインがありますが、サーバー移行の際にとても簡単に移行を行うことができるプラグインです。
移行元Wordpressから移行ファイルをダウンロードして、移行先にアップロードするだけで完了します。

しかし、このプラグインには、デフォルトでファイルのアップロードサイズが**80MB**という制限がついています。
これは、プラグインをプレミアムプランにすれば、制限を解除できるようです。
しかし、公式のドキュメントを読むと難しいけど、自分で制限を上げることもできるよというように説明が書いてあります。
[その設定](https://help.servmask.com/2018/10/27/how-to-increase-maximum-upload-file-size-in-wordpress/)を試してみたのですが、効果がなかったです。異なる方法でできる方法を見つけたので、それを書

元記事を表示

AWS CloudFormationを利用してIAMユーザを作成してみた

## 【はじめに】

個人でAWSアカウントを複数持つことはあまりないと思いますが、会社組織では部署や役割ごとに複数のアカウントを所有することは当たり前のようにあります。

会社組織でインフラ構築をする際に、ルートユーザに代わりAdmin権限を持つIAMユーザを作成することでアカウントを管理することが推奨されています。

そこで今回は、AWS CloudFormationを利用して複数のアカウントに同じAdmin権限を持った初期IAMユーザを作成する方法を解説していきます。

AWS無料枠内で利用できますので、今後のキャリアを見据えて、是非操作してみましょう。

### 本記事の内容

– AWS CloudFormationを利用するメリットは?
– 実際にAWS CloudFormationを利用してIAMユーザを作成してみる
– 作成したリソースを確認する
– 作成したリソースを削除する(スタックとIAMユーザの削除)

### 【AWS CloudFormationを利用するメリットは?】

AWS CloudFormationはリソースの設定やプロビジョニングをコード化して

元記事を表示

【詳しく解説】同じ権限を持つIAMユーザを複数作成する

## 【はじめに】

IAMを作成するときに、IAMグループを作成して所属させることで同じ権限を複数ユーザに付与することができるということを以前の記事で紹介しました。

https://www.kyonakablog.com/aws/steps-to-create-iam-user/

しかし、複数のIAMユーザに同じ権限を付与する際に一つだけ気になることがあります。

それは、**複数のIAMユーザを作成する手間**です。

今回はAWS CLIを利用して同じ権限を持つIAMユーザを一度に複数作成する方法を解説していきます。

### 本記事の内容

– AWS CLIを利用するメリットとは?
– AWS CLIを実行する環境はどこ?
– 実際に複数のIAMユーザをまとめて作成してみる
– 作成したユーザを削除する(リソースの削除)

## 【AWS CLIを利用するメリットとは?】

AWS CLIを利用するメリットは、大きくは2つあります。

ひとつ目は、何度も繰り返す操作をスクリプトとしてまとめて自動化することで業務を効率化し、また手作業による人的ミスを減らすことができること

元記事を表示

AWS Cognito上のログイン履歴をLambdaでS3に定期出力


初めまして、フルカイテンでフロントエンドを担当しておりますヒロシと申します。
テックブログを始めて2つ目の記事を書かせていただくことになりました。

フロントと言いつつ、今回はAWSの記事になります…!
思いのほかCognitoのログイン履歴をLambdaでCSV出力する情報が多くなかった?ので、今回記事にしてみようと思いました!

# 背景・動機
弊社ではサービス導入後、一部お客様で日常業務への利用定着や効果的な活用が進まない問題が発生しました。しかし、当初は定量的な指標がなかったため、各お客様がどの程度利用しているかはカスタマーサクセスチームの感覚ベースとなっていました。
利用定着が進まないまま放置しているとチャーンリスクが増加します。
そこでユーザーの活用状況を知る方法の一つとして[Cognito](https://aws.amazon.com/jp/cognito/)で保有しているユーザーのログイン履歴を参照することにしました。

# 本記事の主な対象
Cognitoを業務利用している人

# やること
お客様の多くは主に1

AlexaカスタムスキルとEcho Showで子供のお手伝いを記録してみた

## なんでやろうと思ったか

プライムデーとかで衝動的にEcho Showを買ったものの、使い道としてニュースや天気を聞くくらいになっていました。何か活用できないかと考えていたところ、以下のすばらしい資料があり、こちらを参考に我が家でもこどものお手伝いを記録しつつ、ついでにEcho Showを使って見える化してみようと思いました。

https://www.slideshare.net/ssuseredaaf9/alexa-amplify

## Alexaスキルとは

Alexaスキルとは、Amazonが販売している音声デバイス(Amazon Echoなど)やアプリに搭載されている音声サービス「Alexa」の機能を拡張するアプリケーションのことを言います。ニュースや天気もAlexaスキルになります。このAlexaスキルは自分で作成(公開)することができ、クッキングスキル、スマートデバイススキルなど用途に応じた作成方法があります。([参考](https://developer.amazon.com/ja-JP/docs/alexa/ask-overviews/list-of-skil

AWS CodeBuildでSnyk IaCを使用してみた

# はじめに

はじめまして!たかくにと申します!

この記事は「Snykを使って開発者セキュリティに関する記事を投稿しよう!」というテーマに沿って投稿しています!

https://qiita.com/official-events/786b978e4a1a28fad312

普段もIaCやAWSを中心にブログを書いているので、ご覧いただけると嬉しいです。

https://dev.classmethod.jp/author/takakuni/

突然ですが、みなさん!IaC使っていますかー? IaC便利ですよね!
Googleトレンドでも、年々IaCの人気が増加していることが伺えます。
![スクリーンショット 2022-07-16 13.51.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/371570/53f9e7b6-83c2-e042-c3d6-3e92bdb2fefb.png)
では、IaCで使っているコードのセキュリティを気にしていますか?
気にしていなくても、これから気にすれば大丈夫

【AWS】IAMユーザの作成手順を分かりやすく解説

## 【はじめに】

– AWSの学習をしているが、「IAM」って何?
– AWS無料枠でIAMを操作してみたい

今回はAWS初学者の方に向けて、IAMユーザの作成手順を分かりやすく解説していきます。
※AWS無料枠の範囲内で操作できるので、この機会にIAMの基本を押さえてしまいましょう。

### 本記事の内容

– なぜIAMユーザを作成するのか?
– IAMが提供する機能とは?
– ユーザとグループ
– 実際にIAMユーザを作成する

## 【なぜIAMユーザを作成するのか?】

AWSのサービスを利用するには、まずリソースを管理するためにAWSアカウントを作成する必要があります。

AWSアカウントを作成することで、アカウントごとに独立した環境が用意されます。

併せて、**ルートユーザ**が自動的に作成されます。

ルートユーザはAWSアカウントに関連するすべてのサービスを操作できる権限を持っているため、通常は必要な権限のみに制限したユーザを作成して、開発などを行う必要があります。

IAM(Identity and Access Management)はAWSのリソースへ

awsでec2インスタンスにsshできるようになるまで

タイトルの通りec2インスタンスを作ってそこにsshするまでの記事です
間違いがあれば指摘いただけると嬉しいです

## まずはVPCを構築
![ap-northeast-1.console.aws.amazon.com_vpc_home_region=ap-northeast-1 (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740112/85e97883-cad9-19b6-cb50-5ec27f4960e4.png)
![ap-northeast-1.console.aws.amazon.com_vpc_home_region=ap-northeast-1 (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2740112/4b886867-693c-fb69-b3f6-b23199afdfb2.png)
![ap-northeast-1.console.aws.amazon.com_vpc_home_

EC2 自動起動停止

# EC2 自動起動停止
## 概要
– EC2のインスタンスをcronで自動で起動、停止するように設定する。
– 備忘録としてAWSのコンソールの新UIで設定する方法を残すもの。
– EC2のインスタンスを必要ないときに停止して節約する。

## 前提
– EC2インスタンスを起動できる。

## 手順

1. `IAM`で`Systems Manager`を操作できるサービスロールを作成する。
2. `Amazon EventBridge` で`EC2`を自動起動するように設定する。
3. `Amazon EventBridge` で`EC2`を自動停止するように設定する。

### `IAM`で`Systems Manager`を操作できるサービスロールを作成する。

1. `IAM` → `ロール` → `ロール作成`のボタンを押す。
![.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477896/e8f6d3be-3634-76e2-aee6-31d4edb1eead.png)

2. ①の

AWS CDK deploy時 fail: No ECR repository が発生した

## 発生した事象

“`sh
cdk deploy –no-path-metadata –no-asset-metadata –debug
“`

を実行した際に

“`
Failed to publish one or more assets. See the error messages above for more information.
“`

として失敗した.
内容を確認すると
“`
fail: No ECR repository named ‘cdk-hnb659fds-container-assets-***-***’ in account ***. Is this account bootstrapped?
“`
といったエラーも発生していた.

## 解決方法

1. `cdk bootstrap` をすると作成されるCloudFormation スタック: `CDKToolkit` を削除する
※ 必要に応じて, アセットを出力するS3バケットを削除する
1. `cdk bootstrap` を実行する

## 環境

– CDK

[その6]AWS-SAA-躓いたメモ

## スループット最適化HDD(st1)かプロビジョンドIOPS SSD(io1)どちらを選ぶか問題

– プロビジョンドIOPSは`データベース`として使う
– スループット最適化HDDは`log・DWH・ビックデータ`

## AutoScalingのライフサイクル
1. インスタンス起動(`Pending`)
1. AutoScalingGroupに追加(`Pending`)
1. 起動完了(`InService`)
1. AutoScalingGroupから除外(`Terminating`)
1. インスタンス削除(`Terminating`)
1. 完全削除(`Terminating`)

## ELBの`SpilloverCount`は拒否されたリクエスト数
リクエストが最大の`SuergeQueueLength`を超えると`SpilloverCount`が拒否されたリクエストの測定を開始する

## 特定のIPアドレスからのアクセスを拒否したい場合は、`ACL`

SGは許可ルールのみサポートなのでIPアドレスからアクセス拒否することはできない。

## ELBヘル

AWS LambdaのLayerを利用する3つの種類

AWS LambdaのLayerの作り方、使い方をよく忘れるので、備忘録として残しておきます。
以下の3つのことができるLayerを作ります。3つを選択的またはすべて含めたLayerにもできますので、必要なものをLayerに選択して含めてください。
対象言語はNode.jsの場合です。

① 自作のクラスを含める
② Npmモジュールを含める
③ 実行ファイルを含める

# 準備

まず適当なフォルダを作成します。例えば、layer_testというフォルダを作ります。以降、ここをルートフォルダとみなします。

“`
> mkdir layer_test
> cd layer_test
“`

作業環境に、Node.jsがセットアップされている前提です。
バージョンは、Lambdaで指定予定のバージョンに合わせます。今回は、v14系にしました。

# ①自作のクラスを含める

こんな感じの自作のクラスを含めます。
先ほど作成したルートフォルダに作成します。

“`
> vi hello.js
“`

中身はこんな感じです。

“`js:hello.js
class Hello{

AWS IAMについてメモ

# 背景
仕事でAWSを触る機会が増えてくるので、忘備録として作成する。(随時更新予定)

# 内容

主にAWSのドキュメントをベースとし、Qiita、zennなどの記事を参考にして、わかりやすくまとめることを目標にする。

内容は[このページ](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)のWhat is IAM?についてまとめる。

AWS登録について

## AWSに登録
[こちら](https://portal.aws.amazon.com/billing/signup#/start/email)からアカウントを作成する。
作成方法は割愛。

初期設定は[こちらの記事](https://qiita.com/tmknom/items/303db2d1d928db720888)を参考。

## AWS IAMとは

Identity and Access Managementの略で、AWSのサービスやリソース

【AWS】運用支援ツール

# CloudWatch
多くのAWSサービスはCloudWatchによる監視に対応しており、対応しているAWSサービスから情報(監視対象のパフォーマンス項目、例えばCPU使用率など)が収集される。
ちゃんとした言葉で表すと「AWSリソースの状態(メトリクス)を定期的に取得するもの」である。
AWSが標準で定義しているメトリクスについては以下に記載されている。これらはCloudWatchでデフォルトでログ収集が可能。ここにないものも独自に定義することが可能。(カスタムメトリクスと呼ぶ)

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html

## CloudWatch Logs
ひたすらログ収集を行うもの。独自のエージェントをインストールする必要がある。
特定の文字列を検出するといったことが可能。例えば「ERROR」や「WARN」といったログが一定期間内に3回以上検出されたときにアラームを動作させるといったことが想定される。

Redshift の自動パフォーマンスチューニング機能まとめ

## はじめに
Amazon Redshift には機械学習ベースで自動的にパフォーマンスを最適化する機能が複数あります。数が増えて追いきれなくなってきたので以下にまとめます。

## Automatic Vacuum Delete
* デフォルトで有効
* [2018/12/19 に追加](https://aws.amazon.com/jp/about-aws/whats-new/2018/12/amazon-redshift-automatic-vacuum/)

UPDATE や DELETE オペレーションにより論理削除された行数にもとづいてバックグラウンドで自動的に VACCUM DELETE を実行します。これにより断片化で消費されていたスペースが解放され、ワークロードのパフォーマンスが向上します。

低負荷のときに実行するようにスケジュールされ、負荷が高い間は操作を停止します。

https://docs.aws.amazon.com/redshift/latest/dg/t_Reclaiming_storage_space202.html#automatic-table

AWS不正利用から反省したプライベートのセキュリティ意識

# はじめに
個人で持っていたAWSのrootユーザーが乗っ取られ、不正利用されました。その結果約70万円ほどの請求があったものの、AWSサポートとやりとりの結果免除いただけました。

内心かなり焦っていたものの、先人の方々の記事に励まされ、対処自体は落ち着いて行動できたように思います。(そんなことがないに越したことはありませんが、)同じような被害に遭った方のためと自身のセキュリティ啓発の意味も兼ねて、今回の経緯を記事にしたいと思います。

# 発覚から初期対応まで

## 気づいたきっかけ
私のAWSアカウントは1年前に資格勉強のため開設した個人アカウントでした。そのため普段は利用しておらず、無償利用期間も終了が近かったため、すべてのリソースを削除して入れていた設定もすべて削除していました。当然利用額は毎月0円でした。

しかしそんなアカウントにこんな件名と本文のメールが届きました。(17:50ごろ(気づいたのは20時前))
“`
【件名】
Action Required: Irregular activity in your AWS account
【本文】
Your AWS A

【AWS】ElastiCache

# ElastiCache
AWSが提供するインメモリ型データベースサービスのこと。
高頻度で参照するデータや検索に時間がかかるデータセットをメモリ上に保持するもの。
毎回ネットワーク経由でアクセスすることを避けられるのでパフォーマンス向上につながる。

# インメモリ型とは?
>コンピューターのメモリ(主記憶装置)上でデータを管理するデータベースです。ハードディスクやSSD(補助記憶装置)上にデータを保管する従来のデータベースよりも高速にデータの読み書きが出来るのが特徴。
しかしメモリには大きな弱点もあります。現在のコンピューターで主に使われているメモリであるDRAMは電源の供給がなくなる、つまりコンピューターの電源がオフになると保存されているデータが消失することです。

引用:[インメモリデータベースのメリット・デメリットとは](https://products.sint.co.jp/siob/blog/in-memory-databases)

# Memcached版
簡易版。メンテナンスや障害による再起動が行われた場合は全てのデータが削除されてしまう。

# Redis

EC2 のオートスケーリング設定 (ハンズオン)

## はじめに
この記事はAWS Hands on for BeginnersのEC2 Auto Scaling基礎編を参考に記事にしました。

## 1.AWS Cloudformation を利用してリソースを構築
ハンズオンに必要なリソースをCloudformationによって構築する。
CloudformationはAWS環境のコードによる管理を実現することができ、テンプレートで定義した環境を作成・変更・削除できる。
これを利用することで下記の項目を手作業でやる手間なく一括で構築できる。

・Amazon VPC
・サブネット
・インターネットゲートウェイ
・ルートテーブル
・セキュリティーグループ
・Application Load Balancer,ターゲットグループ
事前準備で出来上がるリソース↓

![AWS Cloud.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2040882/a88e5ac3-18c0-1c09-9727-e8a61f072c20.png)

マネジメントコーン