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

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

AnsibleをAWS Systems Managerから実行するCI/CDを構築する。(その5:CodePipelineを使用したCI/CD)

# はじめに
前回は`CodeBuild`を利用して`Systems Manager`で`Ansible`を実行してみましたが、今回は今まで作成してきたサービスを繋ぎ合わせて、`CodeCommit`へのプッシュを契機に`CodeBuild`を実行、`Slack`へ通知を行ってみようと思います。

– 【前】[AnsibleをAWS Systems Managerから実行するCI/CDを構築する。(その4:CodeBuildからのAnsible実行)](https://qiita.com/sakai00kou/items/5c100bc6b46864332f1d)

# CodePipelineとは
`CI`(継続的インテグレーション)、`CD`(継続的デリバリ)を実現するために、特定の操作を契機とした連携処理を設定するためのサービスです。

例えば、`CodeCommit`へのプッシュを契機に、ソースコードのビルドやビルド後のデプロイ等の作業を一気通貫で自動で行うように繋ぎ合わせるサービスが`CodePipeline`となります。

# 今回の構成
[その1](https://qii

元記事を表示

#Nutanix Cloud Clusters on AWS(NC2A)でLCMによるUpgrade、ヘテロなクラスタ、Hibernateやってみた。

**本記事は[Nutanix Advent Calendar 2022](https://adventar.org/calendars/7744) 12/24 分の記事です。**

昨年はプライベートが忙しすぎてお休みしましたが、

今年はAdvent Calendar復帰です。

以前に引き続き、on AWSな感じの投稿です。

# 1.今回やってみたこと

smzkstsさんの記事で[Nutanix Cloud Clusters on AWS(NC2A)でノード追加&削除してみた](https://smzklab.net/2022/12/nc2a-node-add-remove.html)は既に投稿あったので、

同じじゃ面白くないと思案したところで、

クラウド上の環境でもLCMで簡単Upgradeできるよね?という検証と、

最近サポートされるようになったヘテロジニアスなClusterとHibernateをやってみました。

# 2.LCMによるUpgradeやってみた

今回用意したのはこちらの環境。
AOS6.5ベースで、AWS上にz1d.metalを利用した3Node

元記事を表示

AirbyteとGrafanaとAWSでデータを可視化する(デザイン編)

## はじめに

 私の現在の所属部署では、オブザーバビリティの一環として組織やサービスの各種KPIを自動で可視化することで、組織やサービスの状態をいつでも確認できるように進めています。 このためには利用している各種サービスや提供しているサービスからデータを収集、蓄積、加工、分析、可視化する基盤が必要となります。この基盤はKPIだけではなく様々なデータを収集し可視化する際の基盤として汎用的に利用することができます。
 本記事は各種データを可視化する基盤をどのように構成しているか、全体のデザインとその工夫点を説明します。

## 基盤のビジョン
– できるだけ簡単に構築、設定でき、継続的に改善できるようにする
– なるべく汎用的で安価にする
– エンジニアによるエンジニアのためのシステムにする

## 構成するためのサービス、ツール

– Airbyte: 各種サービスのデータを収集するOSS
– Grafana: データを可視化するOSS
– AWS
– S3 : データを蓄積するストレージサービス
– Glue : データを加工するサービス
– ECS : AWS 上で

元記事を表示

【初心者向け】AWSコストアラートをSlackチャンネルへ飛ばす

Qiita初投稿です。よろしくお願いします。
先日知らぬ間にAWSの使用料がすごいことになってしまいました…。再発防止のために「SlackにAWSのコストアラートを飛ぶようにしたいな~」と色々調べたところ、[手ごろなAWS公式のドキュメント](https://docs.aws.amazon.com/ja_jp/cost-management/latest/userguide/sns-alert-chime.html)を見つけたので、こちらを基にコストアラートを実装した過程を記します。気になる方はぜひお手元で実装してみてください。

## 仕組み
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986198/86e44c18-36ff-df16-fe36-35eecabb4d67.png)
[AWSの公式ページ](https://aws.amazon.com/jp/chatbot/)からとってきた図です。真ん中のAmazon SNS, AWS Chatbotは変わらず、左端のPublish

元記事を表示

LocalStackで AWS CLI(awscli-local)を使って、DynamoDBを操作してみる。

# はじめに

前回、 docker-compose.yml について、Amazon DynamoDB を動作させるための設定をして、 LocalStack を起動した後、 AWS CLI を利用した操作を試せるようにしました。

https://qiita.com/ryamate/items/fb9bd0bed550cdbe118b

今回は、 LocalStack で AWS CLI(awscli-local)を使って、 Amazon DynamoDB を操作してみます。

## 環境

– MacBook Pro (Intel)、macOS Big Sur 11.6
– Docker Desktop 4.7.0
– Docker Engine 20.10.14

## 目次

Amazon DynamoDB の操作を以下の順番に試していきます。
1. [テーブルのリスト表示 list-tables](#1-テーブルのリスト表示-list-tables)
1. [テーブルの作成 create-table](#2-テーブルの作成-create-table)
1. [テーブル詳

元記事を表示

AWS認定クラウドプラクティショナー合格に向けて Day21

# 前回の内容
[AWS認定クラウドプラクティショナー合格に向けて Day20](https://qiita.com/Ayako_0224/private/524f29667eaa7f801246)

# AWS責任共有モデル
セキュリティに対してAWSとユーザーで責任範囲を分けて対応している
AWSの責任範囲…データセンター、AWSインフラストラクチャなど
ユーザの責任範囲…利用するAWSサービス、アクセス権限、構築したアプリケーションなど
## 継承される統制
ユーザーがAWSから完全に継承する統制
物理統制と環境統制がある
## 共有統制
### パッチ管理
AWSはインフラストラクチャのパッチ適用や修復に責任を負うが、ユーザーはOSやアプリケーションのパッチ適用に責任を負う
### 構成管理
AWSがインフラストラクチャデバイスの構成を保守するが、ユーザは独自のOS,DB,アプリケーションの構成に責任を負う
### 意識とトレーニング
AWSがAWS従業員のトレーニングを実施するが、ユーザーの従業員のトレーニングはユーザーが実施する
## ユーザー固有の統制
AWSサー

元記事を表示

LambdaでCognitoユーザプールのSub情報からCognitoのユーザを削除する

# 概要
Lambdaでsub情報からCognitoのユーザーを削除する方法を紹介します。

# 環境
– ランタイム:Python3.9
– リージョン:ap-northeast-1

# Lambda関数
“`Python
import boto3

cognito = boto3.client(‘cognito-idp’, region_name=’ap-northeast-1′)
user_pool_id = <ユーザープールのID>

def get_cognito_user_name(sub):
response = cognito.list_users(
UserPoolId=user_pool_id,
Filter=’sub = “‘ + sub + ‘”‘
)

user_name = response[“Users”][0][‘Username’]

return user_name

def delete_cognito_user(user_name):
r

元記事を表示

AWSに入門した時の話

# 内容

現在AWSには12個の資格があります。
現在までに全ての資格を取得しましたが、AWSを学習し始めた時の話について記載させて頂きます。

# 学習し始め

AWSを学習するにあたって、様々なソースがあります。
下記、色々と悩んだり、サラッっと検討した結果、Udemyの講座を受講しました。

* AWSアカウント作成してEC2は作成してみたけど次何やればいいんだっけ?
* BlackBeltは良い資料だけどいきなり読むのは難しい
* Blogなど色々情報があるけど、「これをやればAWSの基礎を理解出来る」というもので学習したい
* 参考書で勉強するのも良いけど思い立ったら今すぐ勉強を開始したい

# 受講した講座
**【SAA-C03版】これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座**

https://www.udemy.com/course/aws-associate/

この講座をお勧めしたい理由は下記3点です。

## AWSを最初から教えてくれる
まず、AWSアカウントを作成したら、下記のような最初に設定すべき項目がありますが

元記事を表示

全ての人のAWSサービスアイコンあるあるを解決してみせます

本記事は株式会社 [Works Human Intelligence](https://www.works-hi.co.jp/) の アドベントカレンダー の 24 日目の記事となります。

いよいよ今日はクリスマスイブですね。そんな今日は、普段AWSを触ったり、アーキテクチャ図を書く中でAWSの **アイコン** というものに頭を悩まされたことがある人々へのクリスマスプレゼント記事を送ります。

ちなみに私のAWS歴は約3年です。
来年は [AWS ALL Certifications Engineers](https://aws.amazon.com/jp/blogs/psa/2023-aws-all-certifications-engineers/) になる予定、そして [AWS Top Engineers](https://aws.amazon.com/jp/blogs/psa/2023-aws-top-engineers/) にもなりたい予定です。

# AWSあるある①

AWSマネジメントコンソール(通称マネコン)の使っている中でよく使うサービスをお気に入りにすると思い

元記事を表示

あなたしばらく出禁ね!【AWS WAF】

同一のIPからアタックのような大量のアクセスを受けた場合に、
AWSのWAFを使ってしばらくそのIPを出禁にするようにしました
サクッと設定が可能ですので、攻撃等を防ぐ一手目として設定してみてください

## 設定
Web ACLs(Access Control List)は任意の名称で作成、ALBやCloudFrontなどの接続先を設定しておきます
作成したWeb ACLsに対してルールを付与します
![スクリーンショット 2022-12-24 2.35.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422294/dc08425d-3949-486f-6840-c3fe7c4e96b9.png)
Add rulesより、Add my own rules and rule groupsを選択
ルールタイプはRule Builderを選択します

![スクリーンショット 2022-12-24 2.38.12.png](https://qiita-image-store.s3.ap-northeast

元記事を表示

EKS Cluster v1.22以降の作り方がCDKで変わった話

:::note info
この記事は[AWS CDK Advent Calendar 2022](https://qiita.com/advent-calendar/2022/cdk)を後から埋めています。
:::

# はじめに

CDKのConstrunctsを利用してEKS Clusterを起動する方法は、今までこんな設定が最小だったのですが、

“`ts:CDK v2.47.0 以前
// provisiong a cluster
const cluster = new eks.Cluster(this, ‘hello-eks’, {
version: eks.KubernetesVersion.V1_21,
});
“`

2022/10/28(=CDK v2.48.0)以降のQuickStartでは、下のように外部モジュールをインポートして`kubectlLayer`を指定する方式となっています。
– v2.55.1現在ではv1.24相当の記述に置き換わっていますが、Optionやモジュールのインポート方法は同様です。

“`ts:CDK v2.48.0 以降

元記事を表示

AWS Resource Explorerの結果をCSVで出力する

この記事は[BeeX Advent Calendar 2022](https://qiita.com/advent-calendar/2022/beex)の22日目の記事です。
今年は遅刻投稿しかしていない気がします(投稿日12/24)

# はじめに
最近AWS Resource Explorerなるサービスがあることを知って実際に触ってみたのですが、対応していないAWSリソースはあるものの構築しているけど自分が認識していないリソースがいくつも見つかって、リソースの把握という観点では非常に使いやすいサービスだと思いました。

ただ、同じようにリソースを把握できるResource Groups & Tag EditorサービスではCSV出力できるところが、AWS Resource ExplorerはCSV出力を行う機能がサポートされていないため、コンソール上で確認しても手元に落として要不要を判断する、といったことがしにくいものとなっていました。

そこで今回はCloudShellを使ってAWS Resource Explorerで取得したリソース一覧をCSV出力する方法を試してみまし

元記事を表示

IAMとOrganizations

## IAMとは

AWS Identity and Access Managementの略称。

AWSを安全に操作するための認証・認可の仕組み

**認証**

通信の相手が誰であるかを確認すること

**認可**

とある特定の条件に対して、リソースアクセスの権限を与えること

## 主要機能

### IAMユーザー

AWS アカウント内に追加される利用ユーザーのこと

AWS上の利用者はIAMユーザーという権限を付与されたエンティティとして設定される。

**ルートユーザーとIAMユーザーの違い**

ルートユーザーはAWSアカウント作成すると作られるアカウント内の全てのサービス、リソースへのフルアクセスが許可されているため使用することが非推奨となっているためIAMユーザーに管理者権限を付与することによって管理した方が良い。

### IAMユーザーグループ

複数のIAMユーザーをまとめてグループとしてまとめることができる仕組み

### IAMロール

AWSリソースが別のリソースに対するアクセス権限を付与する仕組み

例) EC2 ➡︎ S3にアクセスしてデータを取っ

元記事を表示

【Windows】EBSストレージ容量を超過して利用する方法

# 概要
EBSボリュームサイズの限界としてGP2やGP3では最大16TBまでという制限があります。
システム要件によっては単一EBSボリュームのボリュームサイズを超えたストレージを確保する必要がある為、本記事ではそのやり方について解説したいと思います。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/volume_constraints.html

# 前提
– 今回は汎用的に使われるgp3ボリュームを利用します。
– 10TB × 2本のEBSボリュームを束ねて20TBの論理ボリュームとする事にします。
– 利用するOSはWindows Server 2022 Standardを利用しています。
– 物理ボリュームを論理的に一つのディスクとして認識させるスパンボリュームの機能を利用します。

>スパン ボリュームは、複数のディスクから未割り当て領域を 1 つの論理ボリュームに結合し、複数ディスク システム上のすべての領域とすべてのドライブ文字をより効率的に使用できるようにします。

https://docs.m

元記事を表示

【AWS CloudFormation】DependsOnでハマった話

## はじめに
はじめまして
Qiita初投稿です

現在プロジェクトで初めて本格的にAWSに触れる機会を頂き、いくつか記事にできそうなネタができたので少しずつ投稿していけたらと思っています

今回はSAMテンプレートでLambdaを構築した際にリソース間の依存関係でハマった話を書きたいと思います

## 問題のテンプレート

### スタックの構成
* LambdaLayers
* LambdaFunction
* LambdaPermission
* CloudwatchLogsLogGroup

“`template.yaml
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31

Globals:
Function:
Runtime: python3.9
Timeout: 180
Handler: lambda_function.lambda_handler
Architectures:
– x86_64
Layers:

元記事を表示

クリスマステートマシンツリー、実装してみた

# 今週末はクリスマスですね

クリスマスといえば、クリスマスツリーですね。
外は寒いですが、イルミネーションに囲まれたクリスマスツリーを見に行くの楽しいですよね。
東京ミッドタウンのクリスマスツリーとか大きくてとても綺麗ですよね。

https://www.tokyo-midtown.com/jp/event/xmas/illuminations.html#navi2

家でもクリスマスツリーを立てたりしますよね。
一人暮らしだと、わざわざツリー立てるのも片付けるのも面倒だと思ってしまいます。
でもお家でもクリスマスツリー楽しみたいなー…

そんなあなたに。
とっておきの方法があります。

そう、AWSアカウントさえあれば。
しかも無料で。

# Step Functionsでクリスマスツリーを立てよう

Step FunctionsはAWSが提供するサーバーレスのワークフローサービスです。
AWSサービスを組み合わせて、ユーザーが定義した「ステートマシン」を使って複雑なワークフローを構築できます。
ETL(データの抽出、変換、ロード)処理の自動化や、機械学習用データを準備するパ

元記事を表示

AWS Well-Architected フレームワーク入門

# AWS Well-Architected フレームワーク入門

AWSでサービスを構築するにあたってどこから手を付けていいか?で悩むことがあり、どういった基準でAWSのサービスをどう導入するかなど、情報が多様すぎて、情報の海に溺れがちです。

多くの人は、ネットで検索したり、書籍が主な収集源かとは思います。
あとはAWSの公式ドキュメントを参考にするかと思います。

そういった中でAWSが公式でWell-Architectedフレームワークという考え方が提供されています。
今回はポイントだけをまとめています。

## 一般的な設計原則
* 必要なキャパシティーの推測をやめる。
* 本稼働スケールでテストできる。
* 実験を行いやすくなる。
* アーキテクチャーを進化させることができる。
* データドリブンなアーキテクチャを構築する
* ゲームデーを使って向上を図る。

## Well-Architedの柱
5つの柱をWell-Architedの柱にしています。

* 運用上の優秀性
* セキュリティ
* 信頼性
* パフォーマンス効率
* コスト最適化

### 運用上の優秀性

元記事を表示

Distributed Load Testing on AWSを使った負荷テストをやってみた

現在弊社では常に一定の高負荷にさらされることが予想されるSaaSサービスを構築しており、サービスローンチにあたって負荷テストを実施しておきたいので、今回このソリューションを試してみることにしました。
今回は`Distributed Load Testing on AWS`自体の検証が目的のため、テストする対象は弊社の環境に転がっていた適当な[MockAPI](https://qiita.com/kagome_39/items/eb260fb33004b075e742)にしました。(なのでテスト結果は面白くないです。)

## デプロイ方法
– AWSアカウントにログインしている状態で以下にアクセスして`AWSコンソールで起動する`をクリックします。
![スクリーンショット 2022-12-22 17.11.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141823/9ced7b92-b60a-72a0-7b08-8554d3eb8817.png)

https://aws.amazon.com/j

元記事を表示

【Androidアプリ開発】S3に格納した画像のPre-Signed URLを発行し、kotlinで表示する

## やりたいこと
S3においた画像イメージをLambda経由で取得しkotlinで表示する。

## 問題
元々はS3に格納した画像をLambdaで呼び出し、ByteArray形式に変換してクライアント端末に渡していたのですが、Lambdaにはレスポンス6MBの制限があり、大量の画像データを扱えなくなりました。

## 解決方法
S3のPre-Signed URLを使います。
Pre-Sined URLを使うと、S3オブジェクトへの限定的なアクセスを提供することが可能で、URLを渡すため、ByteArrayを渡すより格段に容量を減らせます。

## 実装例

### S3
TESTバケットにsample.jpgを格納

### Lambda
– 環境:AWS Lambda Python 3.9

– アタッチするポリシー:
“`JSON
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “VisualEditor0”,
“Effect”: “Allo

元記事を表示

SPAにおける理想的な認可

こんにちは、[kura(倉林 雅)](https://twitter.com/kura_lab)です。

この記事は[Digital Identity技術勉強会 #iddance Advent Calendar 2022](https://qiita.com/advent-calendar/2022/iddance)の23日目の記事です。

前回、[Cookie・OAuth 2.0・OpenID Connectの目的別プロトコル選定](https://qiita.com/kura_lab/items/9159f092a57f26c290cf)において目的別での適切なプロトコルのお話をいたしました。
今回はその話に関連したSPAにおける認可についてご紹介します。

# なぜSaaSにおけるSPAではOpenID ConnectとID Tokenを用いるのか?

はじめに、プロトコル選定や設計・実装において多くの開発者の誤解に繋がっているのではないかと思われる仕様について触れたいと思います。

前回のお話では、[新規にSPAを提供する場合はOAuth 2.0を選択する](https://q

元記事を表示

OTHERカテゴリの最新記事