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

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

AWSハンズオン_2_IAM権限移譲

AWSの初心者のさとしです
AWSの現場仕事を触れるチャンスが全くないですが
趣味として、ハンズオンする形で勉強メモを取ります
ご覧になったみんなさんにお役に立てればうれしいです

IAM権限移譲の手順は下記です
1,下記の情報をメモにする必要があります
・移譲元のアカウントID
2,移譲元でポリシーを作成(ソースに対するアクセス権限)
3,移譲元でロールを作ります(上記のポリシーをつかってもいいし、どのポリシーでもいいです)
4,下記の情報をメモにする
・ロール名
・ロールARN情報
5,移譲先でポリシーを作る。(4のメモ情報を使う)
6,新しいユーザを作って、ポリシーを付与するか、既存のユーザに付与するかは自由
7,移譲成功かを確認

それでは、始まります
2,移譲元でポリシーを作成(ソースに対するアクセス権限)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488091/00c53948-de02-c140-2aa4-480bf0ff6bd7.png)

元記事を表示

AWS IAMユーザー・グループ 概要 ~ 作成手順の解説

# はじめに
IAMユーザーとIAMユーザーグループを学ぶ機会があったため、概要から作成手順までまとめました。

# IAMユーザーとは
IAMユーザーとは、AWSを使用する人に発行するユーザーです。
ポリシーを付与することで、行動に制限をかけることができます。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users.html

## ルートユーザーとの違い
AWSを操作できる意味では一緒ですが、ルートユーザーの方が権限が大きいため、操作できる幅が広いです。
(詳細は、以下のURLから飛んでみてください。)

https://docs.aws.amazon.com/ja_jp/general/latest/gr/root-vs-iam.html

# 作成手順
1. IAMユーザーグループの作成
2. IAMユーザーの作成
3. IAMユーザーでログインし、MFA(2段階認証)を有効にする

:::note
IAMユーザーに直接ポリシーを付与することも可能です。
ただ、グループを先に作成後、グループにポリシーを付

元記事を表示

AWS GlueのSensitive data検出の日本向けパターン

# 初めに

AWS GlueではSensitive Data Detection featureとしてPII等の機微情報の検出やマスキングを行う機能があります。今までは日本固有のパターンは提供されていませんでしたが、2022/11/08に下記の日本固有のパターンが機能として追加されました。

![glue_pii_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276167/2ec7b577-a6d0-cd94-f0e2-cdd21f146822.png)

日本固有の
– 銀行口座番号
– 運転免許証番号
– マイナンバー番号
– パスポート番号

の検出を行うことができるようになりました。

# 使用方法

GlueのAPIを使ってSensitive Data Detection featureを使うこともできますが、Glue Studioでより簡易に使用することができるので、ここではGlue Studioを使用します。

Glue Studioのジョブ作成画面で `Action` → `D

元記事を表示

AWS MediaLiveを使った擬似リニア配信方法 ~実践編~

# ? 擬似リニア配信(Virtual Linear OTT)とは?

擬似リニア配信とは、24時間/365日、番組表などのスケジュールに従って時間通りに配信する仕組みになります。事前に収録済み動画ファイル(mp4など)を使ってあたかも生配信しているかのようにライブ映像として流します。いわゆるケーブルTVみたいなものです。本資料ではMediaLiveのスケジュールアクション機能使った擬似リニア配信の実現とより実践で使える設定・設計について説明します。

注: MediaLiveをMLと省略して説明します。

## MLで実現するための流れ ~基礎編~

1. 動画ファイルをs3にアップロードする
1. MLチャンネルを作成する
1. スケジュールアクションを登録する

### 1.動画ファイルをS3にアップロードする

配信したい動画を事前にs3にアップロードします。
| ファイルパス | 用途 |
|:———–|:————|
| s3://demo-bucket/CM.mp4 | 本編動画を流す前の動画、今回は仮でCM(宣伝)動画 |
| s3://d

元記事を表示

AWS CDKでSecrets ManagerのgenerateSecretString, secretObjectValue, secretStringValueを作ってみる

# 背景
`cdk`で `secrets manager`を使ってパスワードや環境変数を登録するときに、
1. `generateSecretString`
1. `secretObjectValue`
1. `secretStringValue`

のパターンをそれぞれまとめてみました。

# 環境
Typescript: ^4.8.2
aws-cdk: ^2.44.0

# generateSecretString オプションなし

## generateSecretString: コード

“`ts
const generateSecretString = new aws_secretsmanager.Secret(this, ‘GenerateSecretString’, {
generateSecretString: {
secretStringTemplate: JSON.stringify({ username: ‘postgres’, say: ‘hi mom’ }),
generateStringKey: ‘pa

元記事を表示

AWS,Azureの構成図をdiagrams.net(旧draw.io)で作る

## 構成図ってどうやって作るん???
技術系の記事によく出てくるこういう図↓ の作り方がよくわからず、少しネットの海をさまよったので、メモ程度に残しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/462497/8c43df25-7fa6-1bfc-c8a7-d091dc991a39.png)
[図の引用元](https://aws.amazon.com/jp/builders-flash/202204/way-to-draw-architecture/?awsf.filter-name=*all)

## なんてツール?
[**diagrams.net (旧draw.io)**](https://diagrams.net/)を使って書きます。
このツールは、Web上などで↓のようなデザインを書くことができ、データはローカル上、クラウド上(Google Drive,GitHubなど)に保持することができます。
![app.diagrams.net__src=about.png

元記事を表示

DatabricksにおけるAWS S3アクセスの最適化

[Optimizing AWS S3 Access for Databricks \- The Databricks Blog](https://www.databricks.com/blog/2022/11/08/optimizing-aws-s3-access-databricks.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

オープンなクラウドネイティブレイクプラットフォームであるDatabricksは、データウェアハウスとデータレイクのベストな機能を組み合わせることで、データ、分析、AIをシンプルにし、データチームが自身のデータとAIのユースケースを容易にデリバリーできる様に設計されています。

データとAIのアプリケーションを構築するという目的のもと、Databricksは2つのコアコンポーネントから構成されています: コントロールプレーンとデータプレーンです。コントロールプレーンはDatabricksによって完全に管理され、Web UI、ノートブック、ジョブ、

元記事を表示

【AWS】EBSボリュームタイプのGP2とGP3についてまとめる

## はじめに
EBSのボリュームタイプである GP2 と GP3 の違いについてご紹介します。

## GP2 と GP3 についての説明
### GP2とは?
– Amazon EC2 インスタンスのデフォルトの EBS ボリュームタイプ
– ボリュームはSSDを基盤としている

#### GP2の特徴
– 汎用 SSD (gp2) ボリュームのボリュームストレージの料金はプロビジョニングした容量 (GB/月) で決定される。
– ストレージを解放するまで毎月料金が発生する。
– gp2ボリュームのプロビジョニング済みストレージは、 1秒 毎に課金される.
– 最小課金時間は 60秒
– I/O はボリュームの料金に含まれている

##### 料金

| ボリュームタイプ | 料金 |
| —- | —- |
| 汎用SSD (gp2) ボリューム | 1ヶ月にプロビジョニングされたストレージ 1GB あたり 0.12USD |

##### 詳細情報

| 項目 | 特徴 |
| —- | —- |
| ボリュームタイプ |

元記事を表示

AWS Glue Flexオプションについて

# AWS Glue Flexオプション

AWS Glueでは2022/08/09にFlexタイプのジョブ実行モードというのが追加されました。
FlexタイプのジョブはEC2のスポットインスタンスのような非占有型のコンピュートキャパシティ上で動作します。
そのため、リソースの使用状況に応じてジョブの開始に時間がかかる場合などがありますが、その分コスト的には通常のジョブに比べ安価になっています。
テスト用途のジョブや実行時間の制約の緩い夜間のバッチジョブなどでコストを安価に抑えながらジョブを実行できるオプションになります。

# Flexオプションのコスト

2022年11月現在、東京リージョンではFlexオプションは通常のジョブに比べ最大34%のコスト削減効果があります。

|通常|Flex|
|:—|:—|
|$0.44 per DPU-Hour|$0.29 per DPU-Hour|

# Flexオプションの特徴

FlexオプションはGlue 3.0またはそれ以降のバージョンのETLジョブで利用可能です。
また、Flexオプションを有効にした場合は

元記事を表示

[AWS]JenkinsでTerraformによるインフラデプロイをやってみた

# 目次
– [目次](#目次)
– [はじめに](#はじめに)
– [注意事項](#注意事項)
– [構成図](#構成図)
– [構成図の説明](#構成図の説明)
– [環境構築](#環境構築)
– [ネットワーク](#ネットワーク)
– [セキュリティグループ](#セキュリティグループ)
– [IAMポリシー&ロール](#iamポリシーロール)
– [EC2インスタンス](#ec2インスタンス)
– [S3バケット(Terraformのbackend用)](#s3バケットterraformのbackend用)
– [Jenkinsの構築](#jenkinsの構築)
– [Jenkinsのインストール](#jenkinsのインストール)
– [Jenkinsの初期設定](#jenkinsの初期設定)
– [Terraformプラグインのインストール](#terraformプラグインのインストール)
– [Githubリポジトリの作成](#githubリポジトリの作成)
– [JenkinsfileとTerraformコードの作成](#jenkinsfi

元記事を表示

Kinesis Data Streamsに指定したスループットでデータを送信する方法

# 初めに

Kinesis Data Streamsなどストリーム系のサービスに連続的に指定したスループットでデータを送信して性能測定をしたくなることはありませんか?
ある業務で実際に性能測定をすることがあったので、Kinesis Agentと独自のPythonプログラムでKinesis Data Streamsにデータを送信する構成を作ってみました。
以下のようにサンプルデータを用意して、Pythonプログラムがそのデータを繰り返しフェッチしログデータとして連続的に書き込んで行きます。Kinesis AgentはそのログデータをフェッチしKinesis Data Streamsに送信します。
![log-streaming.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276167/c47d4638-8e78-783a-74a5-39a40d60f1a1.png)

# セットアップ

セットアップにあたって、Pythonプログラム、Kinesis Agentが動作するEC2インスタンス等を

元記事を表示

Windowsで”context requires credentials to be passed as environment variables”と表示された際のトラブルシューティング

# この記事は誰向けのものか

– WindowsでWSL2(Windows Subsystem for Linux)を導入済みである
– WindowsでDocker Desktopを導入済みで、WSLと連携してDockerコンテナを運用している
– WindowsでAWS Cliを導入済みで、WSLで運用しているDockerコンテナをAmazon ECSにデプロイしようとしている

上記の環境にて難題に苛まれた同僚を救うべく、奔走した際の記録を情報資産として書き残す。
仮に取り扱うOSがMac OSやLinuxであった場合にも、一部は参考となるので困ったら読んでほしい。

# ”Too Long; Didn’t Read.”が欲しい方へ

– このエラーはdockerについて適切でないコンテキストが指定されている場合に発生するエラーメッセージである。AWSは関係があるようでない
– 安全かつ簡単確実な方法で解決するので安心してほしい
– `~/.docker/config.json` を編集して、利用するdocker contextを `”default”` にすれば治る

# 発

元記事を表示

【随時更新】AWS Dev Day 2022 Japan スライドまとめ

# 履歴
– AWS上に構築したマイクロサービスに対する効率的な性能・負荷テストの実行方法 のスライドを追加しました
– どんな低スペックPCが割り振られても泣かないで!開発環境をCloudへ移行した話 のスライドを追加しました
– Amazon Neptuneとサーバーレスから始まった高速バス予約システム開発 のスライドを追加しました
– CloudbaseでのAWS CDKとStepFunctionsを用いたバッチ処理基盤の爆速構築 のスライドを追加しました

# Day 0

– [開発者を魅了するオープンソースソフトウェアSupabaseとは](https://speakerdeck.com/mats16/supabase-aws-devday-2022)

– [[レポート]OSSエンジニアのBetter than Nothingという生き方 〜 全力で5%を目指せ! #AWSDevDay | DevelopersIO](https://dev.classmethod.jp/articles/knqyf263-oss-better-than-nothing-awsdevd

元記事を表示

LaravelをインストールしたEC2 に Supervisor を導入する

# はじめに
LaravelのSupervisorを使用してworkerプロセスを管理するため、Ec2にSupervisorを導入する流れをまとめました。

# 初期構築

EC2 Laravelは、下記記事で構築済み。

https://qiita.com/hirai-11/items/ea6cfe997c254375e811

ルートディレクトリは、`/var/www/html`です。
`/var/www/html`配下に laravel の public や storage があります。

# Supervisorをインストール
まず、epelをインストール後、supervisorをインストールします。
“`terminal
$ sudo amazon-linux-extras install -y epel

$ sudo yum –enablerepo=epel install -y supervisor

$ supervisord -v
3.4.0
“`
`/etc/supervisord.d`配下に管理プロセスファイルを新規作成します。

“`terminal

元記事を表示

SAA-C03にリベンジを果たした話

# 目次
* はじめに
* 前回の反省
* 勉強で工夫した点
* 今後の抱負

# はじめに
こんにちは、中学校の先生です。
[前回](https://qiita.com/Daha/items/9c169c02a4912f0a86b3 “前回”)から約1か月経ち、ついにSAA-C03へリベンジを果たしました。
そこで反省した点、工夫した点、今後の抱負などを記録していきたいと思います。

# 前回の反省
前回は問題演習偏重型で、ひたすら数をこなすことに躍起になっていました。
教材は本がメインで、インターネットでは演習問題を探し回りながら取り組んでいました。
そこで細かい操作やサービスの組み合わせ、ネットワークの仕組みなどを突かれると弱いな、と感じました。
また、実際に触ったことが無い分ネットワークインフラのイメージが立てづらいことも感じていました。

# 勉強で工夫した点
* お金を惜しまない
Udemyでコースを買い、ハンズオンに取り組みました。そこでEC2の立ち上げやS3バケットのライフサイクル設定、アクセスのコントロールなど基本的であろう操作を練習しました。楽しいのはもちろん、これ

元記事を表示

EC2のメモリ使用率、プロセス、ログをささっと監視する

SaaSのSite24x7で実現する方法を共有します。
前回の投稿で紹介したAWS連携に加えて以下の手順を踏むとより便利に使えます。

流れ

  1. エージェントのインストール ※一括可
    • Windowsの場合(2分)
    • Linuxの場合(1分)
  2. 各種設定
    • メール通知(0分)
    • メモリ使用率監視(0分)
    • プロセス監視(1分)
    • ログ監視(1分)

前提

元記事を表示

Postfix/Dovecot 性能検証(POP3処理性能)

## 環境
– マシンA(自宅)
– AMD Ryzen7 4800H(8core/16thread) 16GBメモリ
– Windows 11 Home(ホストOS:VMware Workstation 16 Player): Thunderbird(POP3)
– Red Hat Enterprise Linux release 8.4 (Ootpa)(ゲストOS):postfix/dovecot
– ホスト4core/ゲスト4coreの割り当て。
– マシンB(AWS)
– t3.xlarge(4vCPU/16GBメモリ)
– Red Hat Enterprise Linux release 8.6 (Ootpa):postfix/dovecot

## 検証手順
postfixの設定は本番を意識したものではなくなる早で検証開始する目的
“`
#vi /etc/postfix/main.cf
#変更内容ポイント
myhostname = 環境の値を設定
inet_interfaces = all
home_mailbox = Maildir/

#最

元記事を表示

Security Hub が CIS AWS Foundations Benchmark v1.4.0 をサポート

## はじめに
AWS Security Hub が CIS AWS Foundations Benchmark v1.4.0 をサポートしました :tada::tada::tada:

https://aws.amazon.com/jp/about-aws/whats-new/2022/11/security-hub-center-internet-securitys-cis-foundations-benchmark-version-1-4-0/

これまでも AWS config rules の conformance pack では、v1.3.0 や v1.4.0 のルールセットが提供されていましたが、Security Hub のセキュリティ基準機能では長らく v1.2.0 のみをサポートしていました。これにより Security Hub で 既存の v1.2.0 の準拠状況をチェックしているユーザーも最新のベストプラクティスに対応することができます。

※CIS Benchamrk 本体は 2022 年 8 月に最新バージョンとなる CIS AWS Foundations B

元記事を表示

CloudFrontのキャッシュ削除をCLIでやる手順

CloudFrontのキャッシュ削除をCLIでやる手順をメモ

## 手順

“`bash
# CloudFrontのディストリビューションIDを入手
aws cloudfront list-distributions –profile {profile} | jq ‘.DistributionList.Items[] | .Id + ” ” + .Aliases.Items[0]’ -r
# 希望のディストリビューションIDとキャッシュ削除するパスを指定して作成
aws cloudfront create-invalidation –distribution-id {distribution id} –paths ‘{キャッシュ削除したいパス}’ –profile {profile}
# キャッシュ削除結果を確認、前のコマンドンの結果のjson Invalidation.Id を {invalidation id} に指定する
aws cloudfront get-invalidation –id {invalidateion id} –distribution-id

元記事を表示

golangとAWS Cognitoで認証機能を実装してみた

# 環境について
## Cognitoへのアクセス準備
Cognitoへ接続するためには
`aws_access_key_id`
`aws_secret_access_key`
がそれぞれ必要なので、[AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#creating-the-credentials-file)を見て下記のファイルを作成します。
“`text:credentials
[default]
aws_access_key_id = xxxxxxxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
“`
それぞれのKeyについてはIAMでCognitoへのアクセス権限を持ったユーザーを作成すると発行される。

上記で用意したDockerfileにコンテナ内へコピーするコマンドを追加
“`docker:Dokerfile
〜略〜
#

元記事を表示

OTHERカテゴリの最新記事