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

AWS関連のことを調べてみた2022年05月25日
目次

【IAM】MFA設定するまでその他の機能を使わせないポリシー【AWS】

## MFA設定ユーザーのみに各操作権限を与えたい
新規にIAMユーザーを発行したが、MFAを設定するまでは各機能を触らせたくない(確実にMFA設定をしてもらいたい)場合がありました。

## ちょうどいいポリシーを公式で発見

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html

上記リンクよりピッタリのポリシーがありました。下記は引用なので変わる可能性があるので必ずリンク先をご参照ください。
中身を見てみると
`Allow~` というポリシーでMFAを設定できるようにしています。
最後の`BlockMostAccessUnlessSignedInWithMFA`ポリシーでMFAの設定がないとその他の機能をブロックするようにしています。
MFAの設定と書きましたが、正確にはMFAを利用したログインをしなかった場合にブロックをするので、MFA設定後、MFAを利用して再ログインする必要があります。
これで確実にMFAユーザーのみ

元記事を表示

SESで受信したメールを、Lambdaで適切に変換し、件名や本文を取得する

# はじめに

SESでメールを受信し、Lambdaを使用して、Dynamodb等にメール情報を書き込む、という処理がありました。
SESのメール受信機能は、リージョンが限られており、また、メール情報を適切に変換し、件名や本文を取得するのに苦労したため、その点を中心に記載します。

![スクリーンショット 2022-05-25 0.18.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/0e072ab6-64c3-ede6-2d3d-290a4aa9707e.png)

# 事前構築
– Route53でドメインの設定済み。仮にドメインを`hoge.com`とします。
– 受信メールで使用するドメインは、今回、サブドメインを使用する想定です。`mail.hoge.com`
– 送信元は、Gmailを想定
– メールによって、MINEタイプの書き方が異なります。

# SESの受信メール設定
受信メールで使用するドメインは、`mail.hoge.com`です。

受信

元記事を表示

【Terraform AWS】既存IAMユーザーにIAMポリシーを付与する

# はじめに
Terraformで既存のIAMユーザーにIAMポリシーを付与する方法です。

# 説明
IAMポリシーはAWS管理ポリシーのAmazonEC2FullAccessをデータリソースとして取得しました。
IAMユーザーもタイトルにあるように既存のIAMユーザーを取得しました。
aws_iam_user内のxxxxxxはポリシーを付与したいIAMユーザー名を指定します。

# コード
“`tf
# IAMポリシー取得
data “aws_iam_policy” “policy_01” {
arn = “arn:aws:iam::aws:policy/AmazonEC2FullAccess”
}

# IAMユーザー取得
data “aws_iam_user” “user_01” {
user_name = “xxxxxxxx”
}

# IAMユーザーにIAMポリシーを付与
resource “aws_iam_user_policy_attachment” “attach” {
user = data.aws_iam_user.user_01.user_name

元記事を表示

AWS Control Towerとは

## 記事の背景
仕事上、Control Towerの設計・構築を担当することとなりました。
環境区分・サブシステム区別ごとにアカウントやOrganization Unit(OU)を分割する必要があり、その過程で採用が決まりました。

## Control Tower概要
エンタープライズレベルでは、複数アカウントの管理が当たり前になってきています。
アカウント横断でガバナンスを効かせる方法はOraganizationでSCPを設定する手順がありましたが、
SCPを定義してメンテして・・・といった手間がかかっていました。
Control Towerを利用すると、

– マルチアカウントに対し適用するルールをある程度マネージドで提供してくれる
– 監査証跡を残すための仕組みを提供してくれる

といったことをやってくれます。一つづつ説明していきます。

## 適用するルールについて
「ガードレール」という仕組みが提供されます。これはControl Tower配下のアカウントに対し共通でルールを適用してくれます。
見たほうが早いと思います。👇のような感じです。

![スクリーンショット 2

元記事を表示

【AWS】【CloudWatch】CLIでインスタンスのメモリ値を取得してみる

# この記事でやったこと
aws cli の get-metric-statistics を使用してインスタンスのメモリ値を取得する
“`shell:投入コマンド(InstanceIDの i-12345678910 だけ直して利用してください)
aws cloudwatch get-metric-statistics \
–metric-name mem_used_percent \
–namespace CWAgent \
–start-time $(date -u +”%Y-%m-%dT%H:%M:%SZ” -d “1 day ago”) \
–end-time $(date -u +”%Y-%m-%dT%H:%M:%SZ”) \
–period 300 \
–statistics Maximum \
–dimensions Name=InstanceId,Value=i-12345678910 \
| egrep “Maximum|Timestamp” | sed -z s/\”,\\n/\”/g \
| sort \

元記事を表示

SNSに飛んできたアラートをTypetalkに投稿する

AWSでインフラ構築をしていて、リソースモニタリング時のアラートとアプリログを何らかの形で通知してほしい。という依頼がありました。
* CloudWatchでリソース監視&アラート設定をして、しきい値を超えたらSNSに通知する
* ログはCloudWatchLogs(?のAgent)でログを吸い上げてサブスクリプションフィルターでSNSに通知する
* SNSのサブスクリプションでメーリングリストを指定して関係者に配信する

という流れをひとまず作りました。こんなイメージ。

業務でBacklog、Typetalkを使ってるのですが、Typetalkの方にもアラートを投げてほしい。という要望が出たのでそちらも対応することにしました。
Amazon Chatbot( https://aws.amazon.com/jp/chatbot

元記事を表示

AWS BenchPrepでラボが開けない

## 症状

AWS BenchPrepにてSOA(AWS認定 SysOps Administrator)の模擬問題をやろうとし、筆記は問題なく回答できたが、ラボを開こうとすると

Problem with lab
The firstName parameter is required.

と表示され、ラボが開けない

## 原因
名前が日本語で登録されていること
(ローマ字登録しないといけない)

## 対応
https://amazonwebservices.benchprep.com/
にログイン、右上のアイコンから「練習製品ポータル」を選択

左側のペインから「User Profile」を選択

Nameをローマ字で登録
(パスワードは入力不要)

Saveをクリック

右上のアイコンから「練習製品ポータル」を選択
SOA模試を選択し、ラボを開く。

## まとめ
AWS Summitの特典で模擬のクーポンをもらい、期限が短いのにラボが開かない・・・!と焦ってサポートへ連絡し、上記の方法を教えてもらいました。

お役に立ちましたら幸いです♪

元記事を表示

AWS SAP on AWS(PAS)合格記(2022/05/24投稿)

# はじめに
この度AWS認定のSAP on AWSを受験してきましたので、勉強した内容と受験した感想を書いておきます。
これから受験される方の参考になれば幸いです。
尚、SAP知識は勉強開始時点で全くのゼロです。

今回でAWS認定は12冠を達成しました。

* [2019-07-04 AWS Certified Cloud Practitioner](https://qiita.com/handy-dd18/items/c2b62ad58206e47f1345)
* [2019-07-24 AWS Certified Solutions Architect – Associate](https://qiita.com/handy-dd18/items/96a9f374a64663b10e24)
* 2021-02-25 AWS Certified Data Analytics – Specialty (DAS)
* [2021-07-23 AWS Certified Developer – Associate (DVA)](https://qiita.com/handy-dd18/

元記事を表示

Amazon SageMakerのQuotaはエラーメッセージで確認する(しかない)

SageMakerのQuotaの調べ方が分からなくて、ちょっと調べるのに手間取ったのちに「調べられない」というのが結論だったので、繰り返さないで済むようにメモ。現時点では、現在のQuota値はエラーメッセージにしか出てこないようです。

# SageMakerのQuotaはエラーメッセージで見る

SageMakerのQuotaを調べるための情報を探していくと「[Amazon SageMaker で ResourceLimitExceeded エラーを解決する](https://aws.amazon.com/jp/premiumsupport/knowledge-center/resourcelimitexceeded-sagemaker/)」が見つかりました。この中では、次のように説明されています。

> 増加が必要なリソースを決定した後、要求する増加の量を決定します。**この情報はエラーメッセージにあります**。たとえば、 us-east-1 リージョンに 18 個の ml.m5.2xlarge ノートブックインスタンスを持つエンドポイントを作成するとします。次のエラーが表示されま

元記事を表示

Vue 3.0 composition apiによるAWS サーバーレス開発 シリーズ① 環境設定

# フロント:Vue.js-cli 3.0 + axios + vue-datepicker + json server

まずフロント側から着手、なんせまず動かすことが大事。
## 事前作業
Node.js , Vue.js 3.0 cli,Git,json_sever,vs_codeのインストール(いずれ最新のもので良い)
## コマンドプロンプトで環境設定
“`
mkdir vue-app
cd vue-app
vue create develop
“`
Manually select featuresを以下のように選択
>select Babel,Router,Vuex,CSS Pre-processors,ESLint+error only,Unit Testing:Jest,E2E:Cypress;

残りはすべてEnterキーで完了させる。
“`
cd develop
npm install axios –save
npm install –save sass-loader node-sass
npm install @vuepic/vue-datepic

元記事を表示

【AWS】【CloudWatch/Lambda】ログ監視のメール通知

# この記事でやったこと
CloudWatch のログ監視でメールを飛ばした際、ログメッセージを記載して飛ばす。
以下は「error」を2件検知して、メールを飛ばしたメールの本文。
“`
検知したメッセージは以下

May 20 09:33:21 ip-10-0-1-121 ec2-user[1786]: 2022年 5月 20日 金曜日 09:33:21 JST error
May 20 09:33:25 ip-10-0-1-121 ec2-user[1789]: 2022年 5月 20日 金曜日 09:33:25 JST error
“`

# 目次
1. [この記事でやったこと](#この記事でやったこと)
1. [実装背景](#実装背景)
1. [LambdaのPythonスクリプト](#lambdaのpythonスクリプト)
1. [Pythonスクリプトの補足1](#pythonスクリプトの補足1)
1. [Pythonスクリプトの補足2](#pythonスクリプトの補足2)
1. [Pythonスクリプトの補足3](#pythonスクリプトの補足3)
1. [Pytho

元記事を表示

AWS + Redmine 5.0.0 AMIで環境構築

# はじめに
Redmineをもっと便利にするべくいくつかプラグインを入れてみたんですが、
そのプラグインを現在のRedmineのバージョンに合わせてインストールすると、使いたい機能がサポート対象外で意味がありませんでした。。
確かに最新バージョンって5.0.0なんですよ。今使っているのが3.4.3なので、だいぶ古いということで、
AWSでお手軽に最新バージョンのRedmineを構築して移行しようというお話です。

バージョンの差分が大きいので、地味に大変そうですが、頑張ります(´ー`)。。
今回はとりあえず、最新のバージョンでRedmineが動くところまで確認します。

# 環境
AWS EC2

## AWSでRedmineのAMIを使ってサーバーを起動する

AMIカタログで、「redmine」と検索し、「AMI Marketplace AMI」に表示される「Redmine packeged by Bitnami」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58

元記事を表示

【AWS】13章 boto3道場「S3道場」(後編)

# 13章「boto3道場」「S3道場」(後編)
 こんにちは、k_ukiです。現在「AWSではじめるクラウド開発入門」という書籍の13章を進めています。
 この章では、PythonからAWS APIを操作するためのライブラリ「boto3」の理解を「S3,DynamoDB」のハンズオンで深めていくということを行いました。その中でも今回は「S3」のハンズオンで学んだことをまとめていきます。
 なお、こちらの記事は後編となるのでまだ前半をご覧になられていない場合は[こちら](https://qiita.com/k_uki512/items/ccfb7344eb439669ef31)を先に見てください。
## 概要
– 空のバケットをデプロイ
– 【LEVEL1】Jupyter notebookを使用し、ローカルのディスクに保存されているデータを操作する。
[前編](https://qiita.com/k_uki512/items/ccfb7344eb439669ef31)はここまで

– 【LEVEL2】ディスク上ではなくメモリ上に保存され

元記事を表示

【初心者】AWSを使ったサーバー学習

はじめに

全くの初心者からAWSを使い始めて1か月ほど経過しました。
具体的にこれまで何をしたのかを紹介します。

同じように初心者で何をすればいいのか
困っている人はぜひ参考にしてみてください。

実践した結果は随時紹介しますので、
上手く出来ない方はのそちらの記事も
参考にしてみて下さい。

実践したこと

上から順番に実施していきました。

1. EC2を使ってインスタンスを立ち上げよう
2. apatchのインストールしてみよう
3. ユーザーの作成とパスワードの設定をしよう
4. 2台目のインスタンスを立ち上げてpingで疎通確認してみる
5. SSH接続(パスワード認証)をしよう。(インスタンスを2台起動しておく必要あり)
6. SSH接続(公開鍵認証)をしよう
7. ファイルの転送をしよう
8. ログイン制限をしてみよう
9. ansibleってなんだろう。調べてみる
10. ansibleのインストールしてみよう
11. playbookをつかってディレクトリを作成しよう
12. playbookをつかってユーザー作成とパスワード設定をしてみよう
13. pla

元記事を表示

AWSのサブネット一覧と使用中IP一覧を見るコマンドラインツールを作った

AWSの環境内にあるVPCとサブネットの一覧、そしてその中にあるIP一覧をコマンドラインで見るツールを作りました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/d41db186-3cef-d315-e4bc-e8a62bf9d404.png)

Python製です。boto3でAWSのリソースを見にいっています。

https://github.com/suzuki-navi/aws-list-subnets

# インストール

“`sh
$ pip install aws-list-subnets
“`

# 使い方

使い方はコマンド名を打つだけです。これで上のスクショのような表示がされます。

“`sh
$ aws-list-subnets
“`

AWSのprofileが複数あるならawscliと同じくオプションで指定します。

“`sh
$ aws-list-subnets –profile PROFILE_NAME
“`

`–simple

元記事を表示

Pulumi で AWS ELBv2 (ALB) で ACM発行の証明書を用いた Listener を作成する際に “UnsupportedCertificate” が出たときに疑うこと

## はじめに

– Pulumi で AWS Elastic Load Balancing v2 (type は ALB) (以下ALB) を AWS Certificate Manager で発行する証明書を用い Listener の作成を試みたところ “UnsupportedCertificate” のエラーが発生しました
– 最初 “UnsupportedCertificate” だけでは何が原因かわからなかったため調査した結果を記載します

## 先に結論を…

– 私の場合 AWS Certificate Manager (ACM) の証明書発行(認証)が終わっていないため “UnsupportedCertificate” が発生していました

## 実行環境

“`zsh
% pulumi version
v3.33.1
% ag -A1 “@pulumi/aws@” yarn.lock | grep -o “version .*”
version “4.38.1”
“`

## 作成しようとした resource について

:::note warn
説明に関連

元記事を表示

AWSのEC2インスタンス(AmazonLinux2)にJava8 + Tomcat8.5 + Apacheの環境を整える。

今回、仕事で同環境が必要になったので、忘備録がてらに書きます。

# 1. AWS側でEC2インスタンスを作成・起動する。
まずは、AWS側でEC2インスタンスを作成・起動します。
ステータスが2/2チェックでOKになれば、接続の準備OKです。
WindowsPCからの接続であれば、TeratermやPuttyなどのツールでSSHで接続します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/304058/2ddd1c8b-301d-b8cb-60fe-78ab7518cde3.png)

AWS側でEC2インスタンスを作成し、OSには、デフォルトで設定されているAmazonLinux2を選択し起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/304058/b9a1c443-99a7-d4ad-f1fe-7f0b37097328.png)

:::note warn
注意!

元記事を表示

【AWS】SageMakerStudioでノートブックをスケジュール実行する

# 概要
本記事では、**SageMakerStudio**というAWSのサービスにおいて、Notebookに記述した処理をスケジュール実行する方法について説明していきます。

普段の業務でモデルの学習時間に7時間ほどかかってしまうので、「業務時間外に実行、始業時間以降に結果を確認」というフローを実現したかったのです。そこで**sagemaker-run-notebook**という便利なライブラリがあることを知り、使い勝手がよかったので記事を書いてみました。

普段SageMakerで開発を行なっている方で、「実行時間が長いので夜中に実行しておきたい」「毎日同じ処理を決まった時間帯に実行したい」といった悩みを持っている方の参考になれば嬉しいです。

# 目次
[1.SageMakerStudioとは](#1-SageMakerStudioとは)
[2.全体像](#2-全体像)
[3.手順の説明](#3-手順の説明)
[4.拡張機能の使い方](#4-拡張機能の使い方)
[5.最後に](#5-最後に)

# 1. SageMakerStudioとは
>Amazon SageMaker S

元記事を表示

【Aurora PostgreSQL】メジャーバージョンアップ時に CloudFormation で管理する DB パラメータグループを更新する

# 初めに

Aurora PostgreSQL のメジャーバージョンアップの際、CFn で管理している DB パラメータグループの更新がうまくいかなかったのでどうするか考えました。

# DB パラメータグループの更新

## DB パラメータグループ更新に関する CFn のドキュメント

パラメータグループの Family はスタック更新では更新できないことが記載されています。

> The DB parameter group family can’t be changed when updating a DB parameter group.

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html#cfn-rds-dbparametergroup-family

クラスターパラメータグループについても同様です。

> The DB cluster parameter group family can’t be ch

元記事を表示

AWSでEC2を作成してみた

# 無料枠の契約
 まず初めにAWS 無料枠の契約を行う
 [AWS無料利用枠](https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all)
※クレジットカードの登録が必要だが課金は発生しない

# とりあえずEC2を立ててみる
 無料利用枠でLinuxサーバを立てることができる
 ①インスタンス起動 → インスタンスタイプは無料利用枠を選択
 ![インスタンスタイプ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2667683/5bbaf5f5-05f9-d950-8100-e99984e580d6.png)
 ②新しいキーペアを作成する
  #LinuxサーバにSSH接続するため、キーベアを作成する

元記事を表示

OTHERカテゴリの最新記事