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

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

AWSをUiPathで動かしてみたい_第3話(AWSスコープに変数を入れる)

## はじめに

①この記事はUiPathブログ発信チャレンジ2022サマーの23日目の記事です。
続々とUiPath記事が登場しますので、ぜひ投稿&閲覧&LGTMをしてくださいね!
参加方法は以下のブログを参照ください。
https://note.com/shumpei_w/n/n19383ce5abb1

②今回紹介するUiPathの情報は以下の通りです。
■Community Edition 2022.4

③この内容は、2022/7時点の情報です。
(バージョンやライセンス等の事情で内容が変更になる可能性があります)

③AWS環境はご自身で用意頂くなどの対応をお願いします。

④この記事は一応連載(?)しています。
よろしければご覧ください。
第2話:https://qiita.com/saosao885/items/ac5478b771c77dc26642
第1話:https://qiita.com/saosao885/items/ad0cb508eed33d93fbaa

## 前回(第2回)のおさらい

前回は、AWSのスコープで設定が必要なプロパティについて説明してい

元記事を表示

AWS S3 ストレージクラスを料金含めて比較してみた!

## 概要

AWS S3のストレージクラスは、種類がたくさんあるので、どれ選んだらいいか迷うことも多いのではないでしょうか?
そこで各ストレージクラスの特徴と料金を一覧表にまとめてみました。
S3ストレージクラスの選定の材料にして頂ければ幸いです。

## 比較

|クラス名 |主な用途 |詳細 |料金(東京リージョン、 10GB/月あたり) |
| — | — | — | — |
| S3 標準 | アクセス頻度が高いデータ向け | 標準的なストレージクラス。
複数のアベイラビリティゾーン (AZ)に保存されるため、安全性が高い。 | 約15円 |
| S3 Intelligent-Tiering | アクセス頻度が高いデータと低いデータが混在 | アクセス頻度が時期によって変化する、もしくはアクセス頻度が高いデータと低いデータが混在している場合、自動的に最適化を行う。 | 約33円 |
| S3 標準 – IA | アクセス頻度が低いデータ向け | アクセス頻度が低いが、必要に応じてすぐ取り出す必要があるデータ向け。
複数のアベイラビリティゾ

元記事を表示

お名前.comで取得したドメイン名を使って、AWS Route53でDNSを設定する

# ホストゾーンを作成する
Route53のダッシュボードを表示してください。
「ホストゾーンの作成」をクリックしてください。
ホストゾーンの作成画面が表示されます。
お名前.comで取得したドメイン名を入力し、「ホストゾーンの作成」をクリックしてください。
![スクリーンショット 2022-07-23 9.31.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/6010d714-adc1-e3a7-b6ad-d1516eedb785.png)

# DNSの情報を調べる
EC2インスタンスにログインし、以下のコマンドを実行してください。
お名前.comのネームサーバが表示されます。

この時点では、お名前.comで取得したドメインはお名前.comのネームサーバーとなっています。
お名前.comのネームサーバにRoute53のネームサーバーを設定することで、hikotaro.work -> お名前.com -> Route53というルートに変わり、Route53からEC2インスタンスに割り

元記事を表示

【AWS】S3の特徴まとめ

# イレブンナイン
カタカナだといまいちピンとこない。。。Eleven Nine (99.999999999%)の**耐久性**。
可用性に関しては99.99%とのこと。

これも英語で考えよう。。。。
耐久性は「durability」で **「データを失わないことを保証するレベル」** のこと。
可用性は「availability」で **「システムが稼働し続けることを保証するレベル」** のこと。

# Webサイトホスティングとしての活用
S3自体は元々クラウドのストレージサービス(ファイル置き場)だが、静的ファイル(htmlや画像など)であればレンタルサーバーのようにウェブサイトを公開することが可能。従量課金性だがそんじゃそこらへんのレンタルサーバーよりも料金を低く抑えることが可能。

Route53を活用して独自ドメインを割り当てる場合は、バケット名とドメイン名を一致させる必要がある。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/654f66ec-c9d0

元記事を表示

多階層フォルダ構成の AWS MediaStore のファイルを全部消す方法

# はじめに
アカウント削除の前にMediastoreのファイルを全削除する必要があり
[AWS MediaStore のファイルを全部消す方法](https://qiita.com/tomopyonsama/items/938d702b1052747e6d14) を見つけてためしたところ、 A/B/C/media みたいな階層をもった構造だと削除できませんでした。ということでスクリプト書いたので共有します。

# スクリプト

msdelete.py
“`
#!/usr/bin/env python3

import boto3

ms = boto3.client(‘mediastore’)
msd = boto3.client(‘mediastore-data’)

def in_folder(path):
print(path)
items = msd.list_items(Path=path)
for item in items[‘Items’]:
if item[‘Type’] == ‘FOLDER’ :
i

元記事を表示

Amazon Cognitoでユーザ認証機能をサクっと作ってみる

# はじめに
Amazon Cognitoはユーザ認証・認可機能を提供するサービスです。ユーザ認証はCognitoの機能で行うことも、GoogleやFacebookなどのソーシャルプロバイダーと連携して行うこともできます。
認証が完了したユーザにリソースへのアクセス権を与えるのが認可で、Cognitoを使うとユーザ認証から認証完了後にAWSリソースへのアクセス権の割り当てるところまでをワンストップ、且つ簡単に実装できます。ここではその一例としてAWS S3にファイルアップロードできるアプリ(ログイン機能付き)を作成してみたいと思います。

# 手順
1. Cognitoユーザプールを作成する
1. CognitoIDプールを作成する
1. S3を作成する
1. IAMロールを編集する
1. Webアプリを作成する
1. ログインユーザを登録する

## Cognitoユーザプールを作成する
Cognitoユーザプールとは前述のユーザ認証機能で使用するデータプールになります。ユーザプールを作成すると、認証情報(ID/パスワード)が登録できるようになります。ユーザプールはAWSコンソールか

元記事を表示

AWSCDKVERSION2の対応

今回AWS CDKVERSION2をつかうにあたりはまったところがあったのでそれを記事にしてみました。
今回はecsでALBを使いブラウザ上に表示させることをやってみようと思います。
aws configureは設定済みと考えます。

nodeのインストール

“`
curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash –
sudo yum install -y nodejs
“`

cdkのインストール

“`
mkdir hello-cdk
cd hello-cdk
sudo npm install -g aws-cdk
cdk init app –language typescript
“`
Verison2で大事なのはCDK.jsonとpackage.jsonの編集です。

CDK.json
“`
{
“app”: “npx ts-node –prefer-ts-exts bin/hello-cdk.ts”,
“versionReporting”: false,
“co

元記事を表示

SES でメール受信を行い、Lambda 関数でメール本文、添付ファイルを抜き出す

# はじめに

Amazon SES では、メール送信に加えて、メールを受信する機能があります。メール受信といっても、通常のメール受信のように Outlook や Thunderbird で利用する IMAP / POP というわけではなく、Lambda 関数などを利用した自動化のための機能です。IMAP などの通常のメールサーバーを利用したい場合は、[Amazon WorkMail](https://aws.amazon.com/jp/workmail/) の利用を検討頂くといいかもしれません。

SES でメールを受信するときに、メールの本文やファイル添付を使ってなんらかの自動化を取り組みたいときがあります。今回の記事では、SES で受信したメールから、本文とファイル添付を抜き出して、S3 に保存する手順を確認してみる内容となっています。

# 構成図

今回の検証記事の構成図はこんな感じです。

![image-20220723003054889.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

【AWS】安全なリリース方法

# 安全なデプロイ
どんなに完璧なシステムを構築したと思っても、いざリリースしたときに何らかの問題が起こってしまうことは往々にしてあります。問題が起きてしまった時の被害をできるだけ最小限に食い止める体制を整えておく必要がある。
AWSでは様々なデプロイ方法が用意されているので、適切な方法を選択する。

# ブルーグリーンデプロイメント
ロールバック(問題なく動作する時点のプログラムに戻してあげること)しやすいリリースの方法として、ブルーグリーンデプロイメントがある。

稼働中のシステム(ブルー)
リリース後のシステム(グリーン)

を別々に用意してあげて、切り替える形でリリースを実行する。万が一問題が起きたらブルーに戻してあげれば済む話。

# All at Once方式
お馴染みのElasticBeanstalkで提供されているデプロイ方式。
全ての「既存の」インスタンスに一気にデプロイしてしまう方式。一気にやるのでデプロイまでの時間がめっちゃ早い。
ただし一気にやるので、少しの間サービス停止状態になってしまう可能性あり。

V1のバージョンを。。。。。。
![image.pn

元記事を表示

AWS AppSync

# AWS AppSync とは
AWS AppSync は、Amazon DynamoDB、 AWS Lambda、および HTTP APIを含む複数のソースからのデータを組み合わせて、アプリケーション開発者に堅牢でスケーラブルな GraphQL インターフェイスを提供します。

##### トピックス

– AWS AppSync の機能
– AWS AppSync を初めてお使いになる方向けの情報
– 関連する のサービス
– AWS AppSync の料金

# AWS AppSync の機能
AWS AppSync には GraphQL の構築を合理化されたエクスペリエンスにするためのさまざまな機能が含まれています。

– 強力な GraphQL スキーマ編集 AWS AppSync コンソールには、DynamoDB からの GraphQL スキーマの自動生成が含まれています。

– 効率的なデータキャッシュ

– Amazon Cognito ユーザープールとの統合により、フィールドレベルでのきめ細かなアクセス制御を実現

# AWS AppSync を初めてお使いになる方

元記事を表示

Amazon SQS

# Amazon SQSとは
Amazon Simple Queue Service (Amazon SQS) は、分散されたソフトウェアシステムとコンポーネントを統合および疎結合化できる、安全性、耐久性、可用性に優れたホストキューを提供します。Amazon SQS はデッドレターキューおよびコスト配分タグなど、一般的な構造を提供します。汎用ウェブサービス API を提供し、AWS SDK がサポートする任意のプログラミング言語を使用してアクセスできます。

Amazon SQS は標準および FIFO キューを両方サポートします。詳細については、「キュータイプ」を参照してください。

##### トピック

– Amazon SQS を使用するメリット
– Amazon SQS、Amazon MQ、Amazon SNS の違い
– キュータイプ
– Amazon SQS の使用開始に伴う一般的なタスク
– Amazon SQS 料金

# Amazon SQS を使用するメリット
– **セキュリティ** – Amazon SQS キューでメッセージを送受信できるユーザーはお客様が管

元記事を表示

Amazon SNS

# Amazon SNS とは
Amazon Simple Notification Service (Amazon SNS) は、配信者から受信者 (または生産者から消費者) へのメッセージ配信を提供するマネージドサービスです。発行者は、論理アクセスポイントおよび通信チャネルであるトピックにメッセージを送信することで、受信者と非同期的に通信します。クライアントは、Amazon Kinesis Data Firehose、Amazon SQS、AWS Lambda、HTTP、E メール、モバイルプッシュ通知、モバイルテキストメッセージ (SMS) などのサポートされたエンドポイントを使用して SNS トピックにサブスクライブし発行されたメッセージを受信できます。

![i.png](https://docs.aws.amazon.com/ja_jp/sns/latest/dg/images/sns-delivery-protocols.png)

##### トピック

– [特徴と機能](https://docs.aws.amazon.com/ja_jp/sns/latest/dg

元記事を表示

Amazon API Gateway

# Amazon API Gateway とは

Amazon API Gateway は、あらゆる規模の REST、HTTP、および WebSocket API を作成、公開、維持、モニタリング、およびセキュア化するための AWS のサービスです。API 開発者は、AWS または他のウェブサービス、AWS クラウドに保存されているデータにアクセスする API を作成できます。API Gateway API デベロッパーとして、独自のクライアントアプリケーションで使用するための API を作成できます。または、API をサードパーティーのアプリ開発者に対して使用可能にできます。詳細については、「API Gateway を使用するユーザー」を参照してください。

API Gateway は、次のような RESTful API を作成します。

– HTTP ベース。

– ステートレスなクライアント/サーバー通信を有効にします。

– GET、POST、PUT、PATCH、DELETE などの標準の HTTP メソッドを実装します。

API Gateway REST API および H

元記事を表示

Amazon VPC

# Amazon VPC とは
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークによく似ていますが、 AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。

# Amazon VPC にアクセスする
次のインターフェイスのいずれかを使用して、VPC の作成、アクセス、管理を行うことができます。

– AWS Management Console — VPC へのアクセスに使用するウェブインターフェイスを提供します。

– AWS Command Line Interface (AWS CLI) — Amazon VPC を含むさまざまな AWS サービス用のコマンドを備えており、Windows、Mac、Linux でサポートされています。詳細については、「AWS Command Line Interface」 を参照してください。

– AWS SDK — 言語固有の

元記事を表示

Amazon Aurora

# Amazon Aurora とは
Amazon Aurora (Aurora) は完全マネージド型のリレーショナルデータベースエンジンで、MySQL および PostgreSQL と互換性があります。MySQL と PostgreSQL が、ハイエンドの商用データベースのスピードおよび信頼性と、オープンソースデータベースのシンプルさとコスト効率を併せ持っていることは既にご存じでしょう。既存の MySQL および PostgreSQL データベースで現在使用しているコード、ツール、アプリケーションを Aurora でも使用できます。Aurora では、既存のアプリケーションのほとんどを変更せずに、ほんの少しのワークロードで MySQL のスループットの 5 倍、PostgreSQL のスループットの 3 倍を実現します。

Aurora には、高性能のストレージサブシステムが含まれています。MySQL と PostgreSQL との互換性のあるデータベースエンジンは、その高速分散ストレージを利用するようにカスタマイズされています。基本ストレージは、必要に応じて自動的に拡張されます。A

元記事を表示

Amazon RDS

# Amazon Relational Database Service (Amazon RDS) とは
Amazon Relational Database Service (Amazon RDS) は、AWS クラウド でリレーショナルデータベースを簡単にセットアップし、運用し、スケーリングすることのできるウェブサービスです。業界スタンダードのリレーショナルデータベース向けに、費用対効果に優れたエクステンションを備え、一般的なデータベース管理タスクを管理します。

AWS の製品やサービスを初めて使用する場合、詳細については、以下のリソースを参照してください。

– すべての AWS 製品の概要については、「クラウドコンピューティングとは」を参照してください。

– Amazon Web Services では、数多くのデータベースサービスを提供しています。お客様の環境に最適なサービスに関するガイダンスについては、「AWS でのデータベースの実行」を参照してください。

# Amazon RDS の概要
なぜAWS クラウドでリレーショナルデータベースを実行したいのですか? AWS

元記事を表示

「AWS CDKのコマンドオプションでサービスのENV変えてーなー」と感じた方へ

CDKでStackを簡単に組めるのはとても便利ですよね。

ただ、デプロイ先のアカウント(dev / test / prodなど)によって、
例えば
・APIの制限
・消費ユニットの制御
・テストデータの参照
などをしたい時、変数で簡単に制御できればいいなと思ったので、
今回復習も兼ねてデプロイオプションでサービスのenv値を変更する方法を紹介します。

編集するファイルは全部で3つです。
① app.py
② cdk.json
③ *_stack.py (自身のstackファイル)
→以下StackファイルはDynamoLambdaStackとします。

### ① app.py
“`python
#!/usr/bin/env python3

from aws_cdk import App

from dynamodb_lambda.dynamodb_lambda_stack import DynamodbLambdaStack

app = App()
# 以下2行追加
cdk_env = app.node.try_get_context(“cdk_env”)
prin

元記事を表示

AWS Lambda

# AWS Lambda とは
Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行し、コンピューティングリソースの管理をすべて担当します。これにはサーバーおよびオペレーティングシステムのメンテナンス、容量のプロビジョニングおよびオートスケーリング、コードのモニタリングおよびログ記録などが含まれます。Lambda を使用すると、実質どのようなタイプのアプリケーションやバックエンドサービスに対してもコードを実行できます。必要なのは、Lambda がサポートするいずれかの言語でコードを指定することだけです。

コードを Lambda 関数に整理します。Lambda は必要に応じて関数を実行し、1 日あたり数個から 1 秒あたり数千個のリクエストまで自動的にスケーリングします。課金は実際に消費したコンピューティング時間に対してのみ発生します。コードが実行されていない場合、料金は発生しません。

Lambda API を使用して [Lambda 関数](h

元記事を表示

20行弱のTerraformコードで600本のLambda関数をデプロイしてみた

# 概要
600本あるLambda関数をデプロイする必要があったのでその時の対応をメモ
– 1つずつ書く → さすがにこれはNG
– Function名一覧を定義してfor_eachでまわす → Function名一覧作るんもツライ

ってことでどうにか楽できないかというので取った対応です

# 前提
まず前提条件として、全Lambda関数が全て同じ設定になるようにする必要があります
– 環境変数はLambda内でSSM Parameter Storeから取得する
– zipファイル名は Function名.zip とする
– ランタイム・アーキテクチャは全て同じにする

# コード
### zipファイルがローカルにある場合
filesetでzipファイルの一覧を取得して Function名 => zipファイル名 というmapを作成
“`
locals {
functions = {
for f in fileset(var.dir_path, “*.zip”) :
trimsuffix(f, “.zip”) => f
}
}
“`
これをもとにfo

元記事を表示

特定のIAMユーザーのみがアクセスできるS3バケットを作成してみた

# 目次
[1. はじめに](#1-はじめに)
[2. やりたいこと](#2-やりたいこと)
[3. 結論](#3-結論)
[4. 用語](#4-用語)
[5. やってみた](#5-やってみた)
[6. まとめ](#6-まとめ)
[7. 参考](#7-参考)
# 1. はじめに
こんにちは。
私は、普段はAWSの運用保守を担当しています。
最近の案件で、1つのAWSアカウントで複数のユーザーを管理することがありました。
その際に少しハマったS3バケットのアクセス権周りについて記載します。

# 2. やりたいこと
各ユーザーごとに専用のIAMユーザーと専用のS3バケットを作成。
その際に、他ユーザーからのアクセスをできないようにしたい。
(自分のS3バケットには、自分のみアクセスできるようにしたい)
また、ユーザー用のIAMユーザーは、S3への最小アクションのみを許可したい。
![yu-za- .png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730351/833f6c99-994a-d5e4-b3cd

元記事を表示

OTHERカテゴリの最新記事