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

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

【AWS】便利機能たち

# 主な構築自動化・プロビジョニングサービス
1. Elastic Beanstalk
定番構成の自動構築
1. OpsWorks
Chef環境を提供し、OSより上のレイヤーの自動構築をサポート
1. CloudFormation
JSONあるいはYAMLのテンプレートを作成して、OSより下のレイヤーの自動構築をサポート

AWS機能を網羅してみよう2.5 EC2編「効率的な管理」

# Cloud Formation
環境構築を自動で作成してくれるツール。
最初はEC2やELBなどの設定をコンソールで一から手作業で入力していくことは大事ですが、パターン化した設定や工数の多いものは自動化した方がミスも少なくなる。
バッチファイル的な感じで簡単なコードを書いておけば、パターン化した環境構築を自動でやってくれるイメージ。

# OpsWorks
>Chef や Puppet のマネージド型インスタンスを利用できるようになる構成管理サービスです
 

ChefやPuppetはオープンソースの構成管理ツールである。
構成管理ツールって何ぞや?という質問に対しては以下のイメージ

元記事を表示

Lambda用コンテナイメージ作成時、コンテナ内でテストする方法

# はじめに
前回AWS Lambdaを、コンテナイメージから作成しました。

https://qiita.com/a_b_/items/d9398fd6efe0f66b6c6f

その中でローカルテストとして、RIEを使ってローカルでLambdaをエミュレートする内容を記載しました。
ですがさらにその前段階の、コンテナ上でコードが動くのかを確認する方法を記載します。

Dockerを使い慣れた方には当たり前のことかもしれませんが、自分のような初学者や、備忘録として記事にしました。

# 結論
– `docker run`の際に、`–entrypoint= `でエントリポイントを無効化
– ホスト-コンテナ間は`docker cp`でファイルをやり取り

# 環境
いつものCloud9だけです。

# やったこと
## イメージ作成まで
イメージ作成までは前回と同じです。
“`bash
# ファイル作成
$ touch app.py
$ touch Dockerfile
“`
“`python:app.py
import json

def handler(event, con

元記事を表示

ほんの一瞬だけ使えたら満足なんです。一瞬だけクレデンシャルを拝借させていただけませんでしょうか

そういったときのワンライナー
CloudShellのクレデンシャルを拝借します。

“`shell:CloudShell
curl -s -H “X-aws-ec2-metadata-token: $AWS_CONTAINER_AUTHORIZATION_TOKEN” $AWS_CONTAINER_CREDENTIALS_FULL_URI \
| jq -r “[\”export AWS_ACCESS_KEY_ID=\” + .AccessKeyId, \”export AWS_SECRET_ACCESS_KEY=\” + .SecretAccessKey,\”export AWS_SESSION_TOKEN=\” + .Token] | .[]”
“`

出力

“`
export AWS_ACCESS_KEY_ID=ASI…..
export AWS_SECRET_ACCESS_KEY=cs5…..
export AWS_SESSION_TOKEN=IQoJb3JpZ2luX2VjEN3//////////…..
“`

これを使いたい環境コピーしたらO

元記事を表示

Amazon Fraud Detector で不正検知をやってみた

# はじめに

[Amazon Fraud Detector](https://aws.amazon.com/jp/fraud-detector/) は、機械学習でオンライン不正をより早く検出するためのマネージドサービスです。機械学習に今まで触れてきてない方でも、データを用意するだけで不正検出を始められることが出来ます。新規のアカウント登録や、クーポンの発行、トランザクションの精査など、様々なユースケースで利用できるといわれています。

概要だけではどういったことがうれしいのか理解しにくいため、Getting Started で実際に触ってみました。ぜひ、みなさんも試してみてください。

# やること

AWS Document に、[Getting Started](https://docs.aws.amazon.com/frauddetector/latest/ug/get-started.html) が公開されているので、内容を理解しながらこれを行ってみます。この Getting Started のシナリオは、「新規アカウント登録が、不正なものかどうかを検知する」ものになって

元記事を表示

herokuとRDSを接続できないときの対処法

herokuとrds繋げるときに色々困ったので備忘録。
最終的な目標はherokuの環境変数であるDATABASE_URLを入力することです。

### RDS側のでやること

– RDSインスタンスのエンドポイントをメモっておく
– 「DBインスタンスの変更」→「接続」にて、セキュリティグループの確認。ここで設定をミスると全くRDSに接続できなくなる
– 「DBインスタンスの変更」→「接続」→「追加設定」にて、パブリックアクセスを許可するかどうかを確認

### herokuのDATABASE_URLの書き方(mysqlの場合)

– `mysql2://username:password@hostname/dbname`
– ここでのusernameとパスワードはmysql内のユーザとパスワードのこと。IAMユーザのことではないので注意
– hostnameはRDSインスタンスのエンドポイントを記入
– dbnameはmysqlに入って`show databases;`コマンドで確認可能

元記事を表示

Microsoft Entra Permissions Management で AWS アカウントの ID リスクを調査可能か試してみた

# はじめに
Microsoft Entra が発表され、Office 365 をはじめとした様々なクラウドサービスの ID 基盤である Azure Active Directory や、顧客 ID アクセス管理 (CIAM) ソリューションである Azure Active Directory B2C を含む新しいブランドの ID およびアクセス管理製品が提供されていくことになった。
Entra の発表前から、Cloud Infrastructure Entitlement Management (CIEM) ソリューションとして注目度の高い新機能の Entra Permissions Management (旧名 CloudKnox Permissions Management) について、記事を書くことにした。
組織のゼロトラスト戦略の推進に関わる者として、ゼロトラストの原則である最小特権アクセスの使用を実装可能な製品を検討する時に、本記事が少しでも役に立てば本望だ。

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

元記事を表示

【AWS】IAMとは

# IAMとは
AWSアカウントのIDやアクセス権の管理ツールのこと。
「Identity and Access Management」の略。
個人で使う分にはそこまで意識する必要もないところではあるが、企業で複数の人が共同でアカウントを利用するときは必要。例えばプロジェクトのリーダーとメンバーで使える機能は違った方がいいし、派遣で参画した人に重要な機能の操作をできるような状態にしておくことは危険。その辺りを制御してくれるのがIAMである。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/c6f39605-d806-7bd5-604b-13cbb3bd2db2.png)

実際にIAMアカウントを作っている様子を見ると一番イメージが湧きやすい。

IAM でユーザーを作成してみた

# IAMユーザー
1つのアカウント(企業アカウントをイメージすると分かりやすい)に対して作成されるユーザーのこと。
週末プロジェクトとかでは1つのアカウ

元記事を表示

自動ビルドが実行されない?CDKでホスティングしたAmplifyに起きた謎現象を追え!!

:::note warn
2022年7月時点の内容になります。
投稿後に原因が改善されている可能性があります。
:::

# 背景
今までAmplifyでホスティングを行いたい時はAmplifyCLIを使ってましたが、今年に入ってAWSの構築をCloudFormatinからCDKに移した事もあって、Amplifyはどっちに寄せようか考える機会がありました。

Amplifyで立てたバックエンドリソースを[エクスポート機能](https://aws.amazon.com/jp/blogs/news/export-amplify-backends-to-cdk-and-use-with-existing-deployment-pipelines/)を使ってCDKでも扱えるようにして、[override](https://aws.amazon.com/jp/blogs/news/override-amplify-generated-backend-resources-using-cdk/)で設定をカスタマイズする方法を取ることも考慮したのですが、その時点でAmplifyCLIの用途がホスティ

元記事を表示

【AWS】各種サービスのスケーラビリティについて

# DyanamoDB
AWSが提供するマネージドNoSQLデータベースサービスのこと。
Firebaseと同じ。Key-Value型のデータベースを提供しており、拡張性に優れている。

1. サーバーレス
>フルマネージドなのでプロビジョニングやパッチ、管理用のサーバーだけでなく、インストール、メンテナンス、または運用するソフトウェアも不要です。DynamoDBではテーブルを自動的にスケーリングして容量を調整し、パフォーマンスの維持ができます。

ちなみにプロビジョニングとは「必要に応じてネットワークやコンピュータの設備などのリソースを提供できるよう予測し、準備しておく」という意味合い。供給や設備等の意味を表すプロビジョン(provision)という単語がもととなって派生した言葉。

2. 高可用性設計
可用性とは「壊れにくい、復旧が早いなど耐障害性に強い、信頼性の高いシステム」といった意味合い。
単一障害点を持たない構成となっているので、サービス面の障害対応やメンテ時の運用を考える必要がない。

# Lambda関数
サーバーをプロビジョニングしなくてもプログラムを実行できるコ

元記事を表示

AWS Cognito ユーザープールにGoogleサインイン連携を設定する

## この記事の目的

– Cognito ユーザープールにGoogleサインイン連携を設定
– これによりGoogleアカウント認証を使って独自サービスのログイン制御を実現できます

## ?これより先は下記記事の内容を前提とします

– [AWS Cognito ユーザープールからの認証トークン取得](https://qiita.com/jun_knd/items/fd70e370153e8cbd8d75)

## Cognitoドメインの取得

– 後で必要になるので、Cognitoの設定画面からCognitoドメインを取得します。
![image](https://user-images.githubusercontent.com/38905609/178088612-7249f843-25c2-4877-9f5e-02e73a5bc1ac.png)

## ソーシャルIDプロバイダーの追加

– [Google クラウドプラットフォームコンソール](https://console.cloud.google.com/home/dashboard)にサインインします。
– プロジ

元記事を表示

IAMユーザーで請求情報を確認する方法

# 概要

IAMユーザーで請求関連の情報を確認しようと思ったら確認できなかったので、
備忘録として書きました。

# アカウント設定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/322b800f-c54f-34eb-dddb-0222b80b4792.png)
まずはアカウントを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/6813fcec-4613-89ca-98bb-b947c8a16364.png)
次に編集を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/15307cb3-508c-a700-14a3-1ff692b82dae.png)
IAMアクセスのアクティブ化にチェックを入れて、更新ボタンを選択しま

元記事を表示

はじめてのAWS CloudFormation -VPC作成編-

# はじめに
前々回の記事:[はじめてのAWS CloudFormation -S3バケット作成編-](https://qiita.com/Mouflon_127000/items/6731e5c5d793341a8906)
前回の記事:[はじめてのAWS CloudFormation -IAMユーザー作成編-](https://qiita.com/Mouflon_127000/items/97e1e4b10a18871d8609)

引き続きCloudFormationを学ぼうという試みと取り組んだ内容の記録です。
今回はCloudFormationでVPC(VPC、サブネット、IGW、ルートテーブル)を作成してみます。

# 方針
作成するVPC環境の方針を考えます。
– 作成するVPCは1つ。
– VPCエンドポイントやEC2間の名前解決に備えDNSホスト名を有効化する。
– サブネットはパブリックとプライベートをAZを分けて2つずつ作成する。
– VPCとサブネットのCIDRは以下の通りとする(デプロイ時にパラメータとして任意に指定できる方式にする)。
– VPC:10

元記事を表示

リザーブドインスタンスでAWS節約!

## はじめに
AWSのサービスって使ってたらいつの間にか結構な金額行きますよね。。。
特に法人で利用すると結構なお値段。
「これからもAWSを使っていきたい。。だけど安く済ませたい。何か簡単に節約できる方法はないのか」と悩みます。
そんなお悩みを解決してくれるのが**リザーブドインスタンス**!
一定期間サービスのサービス使用を先に契約すると、最大72%も割引をきかせてくれる素晴らしいシステムです。
※スポットインスタンスもお安くすみますが、安定稼働させるサーバーには向かないので一旦おいておきます。

本記事では、リザーブドインスタンスの概要から使い方、注意点まで説明していきます。
サーバー代お安く済ませたいという方はぜひぜひ読んでいってください〜

## リザーブドインスタンスとは何なのか?
冒頭でも記載しましたが、リザーブドインスタンス(以下、RI)とは、長くサービスを使うことでインスタンス代を割り引いてくれるサービスです。
現在利用できるサービスは以下の通りです。

“`
EC2, RDS, ElasticSearch, DynamoDB, ElasticCac

元記事を表示

REST API としてAWS Lambda関数を呼び出す

## REST API とは

– APIをインターネットへ公開し、JavaScript等から呼び出すしくみです。
– 呼び出しのパラメータ及び戻り値はJSONが使われる場合が多いです。

## API Gateway とは

– [AWS Lambda関数](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html)をインターネット経由でREST API として呼び出すことができます。
– [Amazon API Gateway の概念](https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-basic-concept.html)

## この記事の目的

– AWS API Gatewayを経由してLambda関数を呼び出すよう構成します。
– Angularのタイプスクリプトから定義したAPIを呼び出します。

## Lambda関数を作成

– 関数を作成します。
![image](https://us

元記事を表示

SSHで踏み台サーバにログインし、VPC内のインスタンスに対するIP到達性を確認する

## Pythonスクリプトで作業を自動化

### ユースケース
+ **Pythonスクリプト** と **シェルスクリプト** を組み合わせる。
+ Pythonの**paramiko**モジュールを使って、AWS VPC内の踏み台サーバに自動ログインする
+ 自動ログイン後に、シェルスクリプトで対象のインスタンスに対して踏み台サーバからpingコマンドを複数回実行する

### 想定する環境
+ AWSのVPCは以下のような構成
+ VPC内はICMPが通るように、セキュリティグループを設定済み
+ K-EC2-ProxyHost-1を踏み台としている

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699739/aa7764bd-4187-d7d6-a071-70cc3af293f0.png)

#### スクリプト実行環境
macOS Montrey (12.4)
Python 3.10.4

#### 踏み台サーバ環境
Ubuntu jammy (22.04 LTS)
Ba

元記事を表示

Microsoft AD にユーザーを追加したときの、WorkDocs 側の挙動を確認する

# はじめに

WorkDocs では、Directory Service (Microsoft AD, Simple AD, AD Connector) と連携してユーザー管理を行います。Directory Service 上で新たなユーザーを作成したときに、WorkDocs 側でどのように認識されるのか、また WorkDocs へのログインを許可したいときに、どういった作業が必要なのかわからなかったので、検証してみました。

次の観点で検証を行いました

– ユーザーは、どの作業を行うと「アクティブ」になるのか。WorkDocs では、東京リージョンだと 1 アクティブユーザー あたり 7.00 USD の費用が発生するが、Directory Service 側のユーザー数がどのように反映されるのか
– 「アクティブ」になったときのユーザーの権限は、どの権限になっているのか

# WorkDocs のセキュリティ設定

Directory Service で新規作成されたユーザーの挙動は、WorkDocs 側のセキュリティ設定によって左右されます。管理者で WorkDocs に

元記事を表示

AWS ParallelClusterを触ってみる

# はじめに

ご覧いただきありがとうございます。

ParallelClusterについて調査をする機会がありました。
備忘録として調査/検証内容をまとめようと思います。

# 概要

1. HPC環境の概観
2. AWS ParallelClusterのアーキテクチャ
3. AWS ParallelClusterを構築

今回の調査にあたり、下記の記事/AWS Black Belt Online Seminar/公式ドキュメントを参考にしました。
[一週間でなれる!スパコンプログラマ](https://kaityo256.github.io/sevendayshpc/)
[AWS ParallelCluster ではじめるクラウドHPC](https://d1.awsstatic.com/webinars/jp/pdf/services/20200408_BlackBelt_ParallelCluster.pdf)
[Amazon FSx for Lustre](https://d1.awsstatic.com/webinars/jp/pdf/services/20190319_

元記事を表示

Terraform を使ってAWSにデプロイする時はaws-vaultが便利という話

# 本記事について
最近、Terraformのデプロイを2段階認証ありで行うと手間だったので、簡単にできる方法はないかと調べたところ、aws-vaultを見つけた。aws-vaultを使ってデプロイするとアクセスキーを毎回取ってくる必要はないので非常に楽にデプロイできる。

# 前提
– 以下インストールされている環境
– `brew`
– `terraform`
– `aws cli`

# 実行環境
“`
% aws –version
aw-cli/2.7.13 Python/3.10.5 Darwin/21.4.0 source/arm64 prompt/off

% terraform –version
Terraform v1.2.4
on darwin_arm64

% sw_vers
ProductName: macOS
ProductVersion: 12.3.1/
“`

# AWS側の設定
#### デプロイをするためのIAMロールを作成する
デプロイ時に必要な権限を付与したIAMロールを作成しましょう。
選択するのは、「AWSアカウ

元記事を表示

NATGWでセッションマネージャー接続する方法

やりたいこと

プライベートサブネットにあるEC2からセッションマネージャーで接続する

使用サービス
NATGW,EC2,INGW,VPC,VPCエンドポイント

参考構成図
https://dev.classmethod.jp/articles/patterns-about-access-ec2-on-private-subnet/

NATとかVPCとかの設定方法
https://qiita.com/fkooo/items/a474db0f3c2e72448d36
https://qiita.com/TK1989/items/5d9bd5d49708c02dff3f

RHEL8 ユーザーデータ
https://aws.amazon.com/jp/premiumsupport/knowledge-center/install-ssm-agent-ec2-linux/

EC2インスタンス

OS:RHEL8

EC2インスタンス セキュリティグループ

インバウンド
SSH,HTTPS,

元記事を表示

【AWS DBS-C01】合格のための知識詰め込み

# はじめに
AWS DBSの試験対策で練習問題を解き、ひたすら知識を詰め込みます。

# データベース設計

## RDS
– マルチAZを有効にしていると、AmazonRDSは別のアベイラビリティーゾーンのスタンバイレプリカに自動的に切り替わる。
– マルチAZでは、エンジンレベルのアップグレードは同期的に行われるのでダウンタイムが発生する。
– パラメータグループを変更した場合、動的パラメータはすぐに適用され、静的パラメータは再起動により適用される。
– リードレプリカを作成するときはスナップショットから読み取り専用インスタンスを作成し、バックアップ保持期間を0以外にし、自動バックアップを有効にする。
– RDSAPIやAWSCLIを使用してインスタンスを作成する場合、バックアップ保持期間は1日、マネコンは7日
– 自動バックアップを無効にすると自動バックアップの全てのデータが削除される。
– プライマリインスタンスを削除する前にリードレプリカを全て削除する必要がある。

## Amazon Aurora
– フォールトインジェクションクエリを使用して、AuroraDBクラスター

元記事を表示

OTHERカテゴリの最新記事