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

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

Serverless Framework × TypeScript のローカル開発環境構築メモ(DynamoDB Local 編)

[前回](https://qiita.com/0taUtan/items/aca988de4b0a53244950)はServerless Frameworkをローカル実行する方法を記事にしました。今回はその続きで、DynamoDBをローカルで立てるプラグイン[Serverless DynamoDB Local](https://www.serverless.com/plugins/serverless-dynamodb-local)について述べます。

# Serverless DynamoDB Local のインストール
前回と同様に`aws-nodejs-template`を使って環境を作成します。`template.yaml`ファイルを使って書く記事が沢山上がっているのですが、TypeScriptで書いた方が変数の取り込みなど便利すぎるのでtsで書く方法を述べます。(といってもyamlをJSONに直すだけですが笑)あとでリソース用のバケットも準備するのでディレクトリ名は`resources`としています。

““
$ serverless create –template

元記事を表示

一時的に強い権限をIAMポリシーに簡単に付与できるCloudFormationのサンプル

# はじめに
AWSのIAMユーザに対して、時々、一時的に強い権限を与える必要があり、CloudFormationを用いてその操作を簡単にできるようにした内容を記事にしました。

# 概要
– 期間限定で(管理者ユーザにアタッチしている)IAMポリシーに権限を与えます。
– その操作を、CloudFormationのスタックの更新で行います。
– パラメータの変更だけで実現でき、操作ミス等が生じにくい運用にできます。

# 利用シーン
AWSのBIサービスであるQuickSightは、S3やRedshiftなど、外部のデータを取得して可視化できます。
QuickSightから外部のサービスにアクセスする際は、専用のIAMロールがQuickSightにアタッチされます。
一方QuickSightの管理者は、QuickSightの操作を行うだけであれば、外部のリソースに対する許可は不要です。

ですが、別サービスとの連携を追加するなどQuickSightの設定変更を行う際、変更するユーザ(ここでは管理者)に「対象のサービスを閲覧できる権限」や「QuickSightの

元記事を表示

AWS Cloud Practitioner Essential まとめ3

# [AWS Cloud Practitiner Essential] (https://explore.skillbuilder.aws/learn/course/1875/play/27620/aws-cloud-practitioner-essentials-japanese-ri-ben-yu-shi-xie-ban) 殴りがき

### VPC(Virtual Private Cloud)
– AWSユーザー専用のプライベートネットワーク
– VPC内に、EC2やELBなどを配置できる
– ゲートウェイがないと、VPC内のリソースには誰もアクセス出来ない。

#### サブネット
– VPC内のIPアドレスの集合
– インターネットに公開するか、プライベートにするか。

※ サブネットによって複数のネットワーク空間に分けているため、ゲートウェイはVPCに複数設置される可能性がある。

#### パブリックサブネット
– インターネットゲートウェイからのアクセス権がある。

#### プライベートサブネット
– インターネットゲートウェイからのアクセス権がない。

####

元記事を表示

CloudFormationでDynamoDBを使う

##はじめに
DynamoDBをCloudFormatinで使うときの留意点をまとめてみました

##DynamoDBでのBillingMode

Billingモードは`PROVISIONED`と`PAY_PER_REQUEST`のふた通りあります。
`PAY_PER_REQUEST`は従量課金になります。

Billingモードを指定しない場合はデフォルトの`PROVISIONED`が選択されます。

`PROVISIONED`が指定された場合は`ProvisionedThroughput`の項目が必須になります。

“`yaml
DynamoDBUserTable:
Type: AWS::DynamoDB::Table
Properties:
AttributeDefinitions:
– AttributeName: id
AttributeType: S
KeySchema:
– AttributeName: id
Key

元記事を表示

[AWS] Control Towerでマルチアカウント環境を構築してみました

# 1.はじめに
少し前にControl Towerでマルチアカウント環境を構築する機会がありました。非常に便利で使い勝手がよかったので、今回は構築方法を含てめこの記事の中で紹介していきたいと思います。

# 2.そもそもControl Towerとは
AWSのマルチアカウント環境を一括でまるっと提供してくれるサービスです。通常であれば非常に手間のかかる構築作業の大半をサービスがほぼ自動で対応してくれます。Control TowerはLanding Zoneという考え方に基づいているので、まずこちらについて簡単に解説します。

## 2-1.Landing Zone
Landing Zoneは、Well-Architected Framework などAWS のベストプラクティスに基づいて構成されたマルチアカウント環境をいい感じに展開するための仕組みの総称です。Landing Zone自体はあくまで考え方なので、これに準拠したマルチアカウント環境を構築する場合、基本的には仕組みを理解して自分でAWSの各種サービスを組み上げていく必要があります。
Landing Zoneについては以下

元記事を表示

【Cognito】カスタム認証チャレンジでトークン認証を実装して、SAMでデプロイしてみる。

## 柔軟性のある認証フローを作成できる

Cognitoを触ってみて、最初は色々不便だなあと思っていました。
しかし、ちゃんとドキュメントを読んでいくうちに、拡張性が高く、結構柔軟な実装が可能だと気づきます。
その柔軟性を担保してくれいている仕組みの一つが「カスタム認証チャレンジ」です。

![カスタム認証チャレンジフロー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632997/68970d48-a8e7-e239-0e05-0373418f10d5.png)

https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/user-pool-lambda-challenge.html より引用

## 何が便利なのか

ログイン方法を複数指定することができます。
一般的な認証方法の1つにユーザ名とパスワードを入力するパスワード認証があります。
例えば、カスタム認証フローを使えば、あるロールのユーザにはパスワード認証を、あるロールの

元記事を表示

【CloudFront】キャッシュ期間をフロー図っぽくしただけ

## キャッシュ期間がわかりにくい

なので、ただ図にしただけの味のしない記事です。
(間違えがあればご指摘いただけると嬉しいです!)

## CloudFront キャッシュ期間

![スクリーンショット 2022-01-16 0.44.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632997/ca03c510-3f90-f59a-2093-a7e07626186e.png)

## 参考

https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/Expiration.html

https://qiita.com/t-kigi/items/6d7cfccdb629690b8d29

元記事を表示

Codebuild の buildspec.yaml

#buildspec.yaml#

|シーケンス|説明|
|—|—|
|version:|buildspec のバージョン(必須)|
|run-as:|コマンドを実行するLinuxユーザ|
|env:|環境変数|
|proxy:|プロキシサーバ設定|
|batch:|バッチビルド設定|
|phases:|実行するコマンド(必須)|
|reports:|テストレポート出力|
|artifacts:|AWS CodeBuildの出力|
|cache:|キャッシュ設定|

https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/build-spec-ref.html

“`yaml
version: 0.2

run-as: Linux-user-name

env:
shell: shell-tag
variables:
key: “value”
key: “value”
parameter-store:
key: “value”
key: “value”
expor

元記事を表示

Mircosoft Teamsで勤怠管理bot

# はじめに

会社の上司は部下の生存確認をしたいお年頃になったようです。
在宅勤務も増え、上司は目隠しでサッカーやってる感覚でしょう。
さすがに「ピッチに出てるか否か」ぐらいは知りたい、ということだったので
ビジネスチャットツールであるMicrosoft Teamsで勤怠管理botをつくってみました。

#構成
部下は何かとAPIを使いたいお年頃になってきましたので、ご多分に漏れずAWSでサクッとつくります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1989761/60718c97-a63d-76f0-08b3-5f97b2710da7.png)

1.TeamsのOutgoing Webhook設定
2.Lambdaで情報を受け取って処理
3.出退勤時刻と名前をDynamoDBに保存
4.FlaskをバックエンドにDynamoDBのデータを読みこんで表示
5.上司はWeb上で勤怠管理ができるようになって楽ちん
こんな感じです.1のWebhook設定をよしなにすれば、Slackで

元記事を表示

ROSA検証用のVPCを作る(CFnで)

## 「2回以上やることは、なんでも自動化されるべきだ」

* 本当にそう思います。

## ROSAの検証の度、AWS CLIで作っているもの

* [Deployment models for AWS Network Firewall](https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/) より。これのALBが無いやつ。
* 作っているROSAはSTS有効化、Multi-AZ、自前のVPC…

![](https://d2908q01vomqb2.cloudfront.net/5b384ce32d8cdef02bc3a139d4cac0a22bb029e8/2020/11/18/anfw-public-igw-deployment-high-res1-1-1.png)

## 全部CFnにしてやるー(^q^)

“`yaml
AWSTemplateFormatVersion: “2010-09-09”
Descri

元記事を表示

aws lambda + python3.9 + selenium (python 旧バージョンで止まった人向け)

# 対象者

* aws lambda + python3.9 で Layers に headlesschrome + selenium を使って動かなかった渋い経験がある人(127 エラーに泣いた日々)
* 現在 python3.7 で動かしているけど、いつ AWS から見限られるかでおびえている人

※ python の書き方や、aws lambda の使い方云々については取り上げてません(参考記事だけは残してます)

# 前置き(どうでもいい人はスキップ)

ふとしたきっかけはこちらの記事

https://aws.amazon.com/jp/blogs/news/new-for-aws-lambda-container-image-support/

この記事を見た時、Docker のことはよくわかっていないけれど、Docker イメージ(OS+必要なアプリケーションや実行ファイルをまとめたもの)を作って ECR に配置すると、Lambda で使えるようになったよ!ということらしい

その時は、いまいちピンと来てなかったが、、、
ある日ネットサーフィンしていると以下に出会う

元記事を表示

AWS Cloud Practitioner Essential まとめ2

# [AWS Cloud Practitiner Essential] (https://explore.skillbuilder.aws/learn/course/1875/play/27620/aws-cloud-practitioner-essentials-japanese-ri-ben-yu-shi-xie-ban) 殴りがき

### AWSグローバルインフラストラクチャ

– 世界中でリージョンを構築
– リージョンとは、データセンターがある地域のこと
– 各リージョンには複数のデータセンターがある
– 1つのリージョン内のデータセンターのグループをAZ(アベイラビリティーゾーン)と呼ぶ

#### リージョン
地理的に分離された場所

リージョンを選択する上での要素

1. コンプライアンス -> どうしてもこのリージョンでないとコンプライアンスが守れない。。
1. 近接性 -> 遠くのリージョンにアクセスしようとするとかかる時間は増える
1. 利用可能な機能 -> AWSの新サービスは、それぞれのリージョンに適用するのに時間がかかるため、まずは1つのリージョンでサー

元記事を表示

Amazon Lexで受け答えした情報を、Lambdaを用いてDynamoDBに書き込む

#はじめに
Lexで答えた情報をLambdaを用いて、DynamoDBに書き込むことをやります。

![スクリーンショット 2022-01-15 15.58.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/ca13abec-3ae8-6ab0-3657-9db538a92b5d.png)

#流れ
1. DynamoDBのテーブル作成
1. Lex作成
1. Lambda作成
1. LexにLambdaを設定

#DynamoDBのテーブル作成
以下の設定で作成します。
テストですので、オンデマンドモードにして、安く済ませます。

– テーブル名:`Lex-Write-Lambda`
– パーティションキー:`telephoneNumber`:`文字列`
– ソートキー:`date`:`文字列`
– 項目:`age`:`数値` (テーブル作成後)
– 項目:`timeStamp`:`数値` (テーブル作成後)
– テーブルクラス:DynamoDB 標準 – IA
– キャパシティー

元記事を表示

AWS FargateとECSの違い

AWS FargateとECSの違いについて。

#AWS Fargate
ECSをサーバレスで動かすための仕組み。
自分でEC2を立ててコンテナを作成するか、Fargate上にコンテナを作成するかの違いと理解した。

ちなみにAWS Fargateというサービスはなく、AWS ECSを構築する際にEC2で構築するか、Fargateで構築するか、自身で選択することになる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2492453/4ed314b0-b3ac-14e0-13f2-7882831edd64.png)

#料金
https://aws.amazon.com/jp/ecs/pricing/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2492453/b52e01af-94b9-69f8-6b22-5b3484bc9f88.png)

元記事を表示

AWS Cloud Practitioner Essential まとめ

# [AWS Cloud Practitiner Essential] (https://explore.skillbuilder.aws/learn/course/1875/play/27620/aws-cloud-practitioner-essentials-japanese-ri-ben-yu-shi-xie-ban) 殴りがき

## クラウドコンピューティング

– メリット
– 他の人と1台のOSのリソースをシェアすることによって、必要コストを下げて提供することができる
– 使いたい時にすぐに使える
– 使わなくなったらすぐに削除できるため、オーバーコストが発生しない

## EC2

– EC2とは
– サーバーをクラウドとして提供する
– つまり、物理サーバーを保有することなく、自分のサービスを提供できる

– メリット
– 使いたい時にすぐに使える(設定を選択するだけ)
– 用事が済めば、使用を停止することで、それ以上の料金が掛からなくなる(使っていた時間に対してのみの支払いとなる)
– コ

元記事を表示

AWS – S3の種類

クラウドプラクティショナーの勉強をしていて、S3に種類がたくさんあって覚えられないので、自身のアウトプット学習のために内容を纏める。
上が一番コストが高く、下が一番コストが低い。

#S3 標準
・頻繁にアクセスするデータ用
・最低3つのAZにデータを保存
・ウェブサイト、コンテンツ配信等、データ分析など、様々なユースケースに適している
・他のストレージクラスよりコストが高い。

#S3 標準 – 低頻度アクセス(S3 標準 – IA)
Infrequent Access = まれなアクセス
・アクセス頻度の低いデータに最適
・最低3つのAZにデータを保存
・S3標準と同じレベルの可用性
・S3標準よりもストレージ料金が低いが、取り出し料金が高い

#S3 1ゾーン – 低頻度アクセス(S3 1ゾーン – IA)
・1つのAZにデータを保存(だから1ゾーン)
・コストを節約する必要があり、AZに障害が起きても構わない場合はこれを使う
・最悪はデータが消失するので、ローカルデータなどから復元できるようにしておく必要がある

#S3 Intelligent-Tiering
Intellig

元記事を表示

【Azure】Amazon EKS をジャンプスタートを使って Azure Arc に追加してみた

# はじめに
 こんにちは@sk_130と申します。

 本記事は、クラウドサービスのAzureにおけるAzureArcを触っていきます。

執筆に際して以下の記事を参考にしています。感謝です。
[Amazon EKS クラスターを Azure Arc に追加してみた](https://dev.classmethod.jp/articles/amazon-eks-cluster-azure-arc/)

# Azure Arc とは

オンプレミスやパブリッククラウド(GCPやAWSなど)とのハイブリッドクラウドを実現するサービスで
AzureArc上で管理されたKubernetes環境(EKS, GKEなど)へAzureの一部サービスをデプロイすることが可能です。

つまり別クラウドサービスやオンプレのリソース管理やOS定期更新などのコマンド実行など
統合管理できるのがメリットです。AWSでこの手のサービスがないので、Azureが差別化できるサービスでもあります。
ちなみに、GCPだと似たようなサービスでAnthosというものがあります

https://azure.micros

元記事を表示

re:Invent 2021 ストレージ関連の新サービス、アップデートまとめ

re:Invent2021で発表されたストレージ関連サービスのアップデートをまとめてみました。

1/15 20:00 から [JAWS-UG横浜 #41 AWS re:Invent 2021 Recap Storage](https://jawsug-yokohama.connpass.com/event/233902/) でこのあたりをキャッチアップしますので是非ご参加ください

## Amazon EBS Snapshots Archive
https://aws.amazon.com/jp/blogs/news/new-amazon-ebs-snapshots-archive/

– ビジネスコンプライアンスや規制のニーズから、EBS スナップショットを長期間 (数か月または数年) 保持する人向けの機能
– Amazon Glacier などの低コストのストレージ階層に EBS スナップショットを転送
– ストレージコストを最大 75% 削減
– リカバリの流れ
– アーカイブされたスナップショットを取得し、復元(24~72 時間以内)
– スナップショ

元記事を表示

【AWS認定】SysOps アドミニストレーター(SOA-C02)試験受験記

# はじめに
私はAWSを仕事で扱うようになって1年程度経ちます。
自分がどの程度AWSが扱えるのか、どの程度理解できているかを客観的に示してみたいと思い、2021年12月からAWSの試験を受験しています。
この記事の執筆時点では、CLFとSAAを取得しています。(どちらも2021年12月に取得)

SAPに行くよりはまずはアソシエイト3冠を目指そうと思い、AWS SysOps アドミニストレーター試験を2022年の1月10日に受験しました。
この記事はSOA試験の備忘録となります。

# 受験対策
受験するにあたり、以下のサイトを利用し勉強しました。

* [AWS Certifited SysOps Administrator – Associate (SOA-C02) 試験問題サンプル](https://d1.awsstatic.com/ja_JP/training-and-certification/docs-sysops-associate/AWS-Certified-SysOps-Administrator-Associate_Sample-Questions.pdf)
A

元記事を表示

AWS Cloud Practitioner について勉強してわからないことをまとめた ~モジュール5~

## はじめに
[「AWS Cloud Practitioner について勉強してわからないことをまとめた ~モジュール4~」](https://qiita.com/dai_chi/items/c25858d93e5a784075e4)の続きです。

過去投稿分
[「AWS Cloud Practitioner について勉強してわからないことをまとめた ~モジュール1~」](https://qiita.com/dai_chi/items/9744c7935d00206ffc3a)
[「AWS Cloud Practitioner について勉強してわからないことをまとめた ~モジュール2~」](https://qiita.com/dai_chi/items/7c8620adb0b4478f8832)
[「AWS Cloud Practitioner について勉強してわからないことをまとめた ~モジュール3~」](https://qiita.com/dai_chi/items/659dfb9fe4f612561166)
[「AWS Cloud Practitioner について勉強してわか

元記事を表示

OTHERカテゴリの最新記事