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

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

AWS環境設定(料金アラート設定)

# AWSで料金発生時に通知を出す方法
###### 今更感はありますが私が最近AWSの勉強を始めたので許してください。

まずはAWS公式サイトを見ていただくのがいいかと思います。

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html

では、実際に作業した工程を画面キャプチャと一緒にお見せします。
###### ステップ1:まずはルートユーザーもしくは請求情報の設定権限のあるユーザーでAWSマネジメントコンソールにログイン

###### ステップ2:マイ請求ダッシュボードを開く
docker-composeのBTCPay環境をAWSに構築してみた

# やりたいこと

– AWSにLightningNetworkのノードを構築したかった
– Ride The Lightningでグラフィカルに操作したかった
– BTCPayを使えばまとめてdockerで環境構築できそうなのでやってみた

# 環境
自宅環境: AWS上に環境を構築するので、ブラウザが使えればOKだと思います。あとはTera termとかsshを使えるツールがあればよいと思います。(macははじめからはいっていると思います)
OSも別になんでもいいと思いますが、僕はWindows環境で作業しました。

他には独自ドメインを持っていれば、IPアドレスを指定せずにBTCPayにアクセスでき便利です。
(費用のかかることが多いですが、無料で取得できるところもあるようです)

## BTCPayとは
ビットコイン等の仮想通貨で支払いができるOSSのペイメントプロセッサーです。無料で使えます。
1ユーザーだけですが、Lightning Networkでの支払いも対応しています。

# AWS環境構築
それではAWSコンソールにアクセスして環境を構築していきます。
AWSは一部

元記事を表示

ECS FargateからS3へのアクセス

# はじめに
ECS Fargate上で動作するコンテナからS3などのリソースにアクセスする場合、ECS Fargateに設定されているAWSロールを利用することができます。
AWSクレデンシャルを別途作成してコンテナに記載しても良いのですが、Fargateにロールを持っているのであればそれを利用した方がシンプルかと思います。

# ポイント
ECSタスク定義の**タスクロール**を設定することで、上記が環境変数が実行環境に設定されます。
**タスクロールは、コンテナの中身を実行するときに与えられるロールです。**
下に記載の**タスク実行ロールは、コンテナを実行(起動する)ときに必要なロールです。**
![ecs_def_task.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668866/e9267dd1-71d9-3db9-624f-c7836096ee29.png)

# FargateからS3アクセスの実行
Pythonサンプルスクリプト(sample.py)

“`Python
impor

元記事を表示

AWS ECS コンテナ追加の仕方

##状況
現在AWSにサービスをデプロイしている途中です。そこでECSでサービスを動かそうとしているのですが、うまく動かなかったので、まずはRDSに接続せずにECS + mysqlコンテナの組み合わせで動かそうとしています。

##手順①
新しいリビジョンの作成をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1361918/2f341e2c-1579-e6a2-bce3-030a553662a2.png)

##手順②

コンテナの追加をクリックし、コンテナ名、ポート番号、環境変数を記入し、追加をクリック。最後に一番下の”作成”をクリックするとコンテナが追加されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1361918/bda5ef83-e2dd-a5b3-b5cc-70f9d1e7180c.png)

元記事を表示

経験が偏ってるAWS3年生がソリューションアーキテクトアソシエイト(SAA)を取得するまで

# はじめに
SAA取得にあたってどんなことをやったのか、どんな気分だったのかを書いていきます
これから受けようとしている方、勉強中の方に少しでも参考になれば嬉しいです!

# 受験を決めたときの状態
* AWSを使用した業務経験3年(くらい)
* といっても触ってるのはEC2, RDS, S3程度
* 他のサービス(ECS, Kinesisなど)は全く触ってないか個人でほんの少し触った程度
* 受験歴はなし
* 他のAWS認定資格もなし
* 勉強苦手

AWS経験はありますが、このまま受けても合格する確率は天文学的に低いぐらいの知識量です

# 勉強期間
**1ヶ月**くらいです
だらだらと続けても引き伸ばし続けるだけになりがちなので、短期集中でやるのがいいと思います

自分の場合は試験を受ける日を先に決めてから勉強を開始しました
1週間前とかになると、夏休みの課題に追われていた学生時代を思い出しました

# 使用した教材
#### 参考書
[徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書 徹底攻略シリーズ](https://www.amaz

元記事を表示

ECS Fargate環境のredashをv8からv10にした話

# はじめに
当社ではBIツールredashを活用しておりますが、そのバージョンは長らくv8のままでした。v9betaが出ていたのは認知していたのですが、一向に正式版にならないままであった為、なかなかアップデートに踏み切れずにいました。そのような中で2021年10月頭になんとv10が登場しました。意気揚々と[release notes](https://github.com/getredash/redash/releases)を読みアップデートを行うも、**発行したクエリが返ってこない**という症状が発生、原因不明・解決不能のまま泣く泣く切り戻しを行いました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570763/0de6383a-11f8-43bd-10af-893180fd3900.png)
*クエリが返ってこず、Queuedだけがどんどん増えていく。

その後調査を続ける中で[**Redash SaaSサービスから自前ホス

元記事を表示

AWS Lambdaからsuds-py3を使ってSOAP API連携をしてみた

RESTにとって変わられがちですが、ちょっと触る機会があったので、
表題の件を簡単かつざっくり解説していきます。

なお連携対象はOracle B2C ServiceのSOAP APIの想定です(http://documentation.custhelp.com/euf/assets/devdocs/unversioned/Connect_KFAPI/Default.htm)

##環境
Python3.8
AWS Lambda プロキシ統合あり

ライブラリ
suds-py3 1.4.4.1

##準備

まずはライブラリをインストール

“`
$ pip3 install suds-py3
“`

##実装

内容は連携するAPIに準じて読み替えてください。
インポート関係はこんな感じです。

“` python3
import os
import json
from suds.client import Client
from suds.wsse import *
from suds.sudsobject import asdict

WSDL = os.environ[

元記事を表示

インフラコード化(aws cloudformation編)

## [CloudFormation:その1]インフラ編

## インフラコード化するメリット
– 以前の会社でインフラコード化とpipeline化が必要だったのでメモ
– 利点
– インフラの管理を簡略化
– 一度テンプレートからスタックを作成しておくと変更が簡単
– インフラを簡単に複製可能
– テンプレートを使い回すことで、複数リージョンへのインフラ展開が簡単
– インフラの変更管理が可能
– 人的ミスの軽減
– 気をつけること
– 目的に応じてコード化が必要か検討しないと、後で面倒なことになる

## インフラ構成
– 今回は、マネージドリレーショナルDB(MySql)と、コンテナ(Fargate on ECS)を使うことが前提。要件は割愛します。
どのリソースを使用するかは基本AWSの人と話をして決めるのが一番早いと思ってます。

– 以下構成図
– リソースと機能
1. Waf -> セキュリティ的な欠かせないサービ

元記事を表示

DynamoDB を適切な料金で利用したい

私が現在関わっているシステムの DynamoDB では現在、予想される最大負荷に十分に耐えられるキャパシティを設定しておけばいいだろうという設定が横行しています。
もちろん、システムのアクティブユーザー数や毎日の負荷状況などがわかっていればそれでよいのでしょうが、このシステムは Twitter キャンペーンと合わせて利用されることが多く、負荷状況はキャンペーンの内容などによって結構まちまちなので少し読みにくいです。

また、毎日〇〇時に高負荷状態になるといった感じではなく、稼働直後に最大負荷を迎えて以降はそれに比べるとかなり低い負荷で安定稼働という状況がよくあります。安定稼働を始めたらキャパシティを下げるなどの対応はしていますが、どうにも札束で殴っているような状況です。

というわけで、一度 DynamoDB の料金体系を理解して安定性は損なわず、よりお得に利用できる方法を探ってみたいところ。

料金に関しては基本的に **バージニア北部 region** のものを記載します。

# 料金体系
とりあえずAWS公式の提供している料金体系に関する情報はこちらです。
https://aws

元記事を表示

AWS 用語解説!(EC2,EBS,Route53,RDS,S3)

##AWSの専門用語が多い件
私は現在、AWSにポートフォリオをデプロイしようとしているエンジニア志望の者なのですが、AWSを触ってみた所感として、VPCとかEC2とか略語が多すぎて理解しづらい。そしてudemyで講座を受けても、すぐに忘れてしまうので一度、主要な機能の略語を整理して把握しておきたいと思いまました。(AWSはサービスの種類が豊富で書ききれないため)

エンジニア初心者なので間違いがあれば指摘していただけると幸いです。

##AWSとは?
ちなみにAWSはAmazon Web Serviceの略でAmazonが提供するクラウド型Webサービスの総称のことです。
モール型ECサイトで有名なAmazonですが、AWSもAmazonの収益の柱の一つで、CEOのジェフ・ベゾスは将来の主力事業として見ているそうです。

##EC2
EC2は「Elastic Compute Cloud」の略称で、AWSに仮想サーバを作るサービスのことです。AWSでデプロイ(インターネットにサービスを公開する)する場合は必ず使います。そして立てたサーバのそれぞれをインスタンスと言います。
昔はサイトを

元記事を表示

【AWS SAP】Route53

#はじめに
このページはAWS Solution Architect Professional(SAP)の資格を取得するため、重要ポイントを絞って記載していきます。分かりづらいところ、間違っているところがあれば是非ご指摘ください。

#今回の説明対象
AWS Route53

# サービスの内容

## 機能説明
ドメインの名前解決を行うDNS権威サーバの仕組みを提供するマネージドサービス

## 主な利用方法
名前解決とは端的に言うと「ドメインをIPアドレスに変換する」のこと。単純なドメインの名前解決としての利用方法は試験にて出てくることはほぼない(当たり前すぎて…)。Route53が試験に出る内容としては耐障害性や冗長性を目的とした特殊な名前解決である

### ①特殊なルーティング
ルーティングというとどうしてもネットワークの経路という意味で捉えがちなのだが、Route53でも名前解決で通信経路を変えられるという意味で「ルーティング」という言葉を使っている(と思う)。そしてRoute53には利用用途に応じてルーティングを変える特殊な仕組みがある。つまり、**条件によって返答内容

元記事を表示

【AWS SAP】VPCエンドポイント

# はじめに
このページはAWS Solution Architect Professional(SAP)の資格を取得するため、重要ポイントを絞って記載していきます。分かりづらいところ、間違っているところがあれば是非ご指摘ください。
**太文字の部分を覚えてくれると嬉しいです。**

#今回の説明対象
VPCエンドポイント

# サービスの内容

## 機能説明
AWSの各サービスとVPCにあるEC2インスタンス等が「**インターネットを通らず**」「**AWSのネットワーク内だけで**」通信を行うことが出来る

## 主な利用方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2262212/3a5c05aa-ee4b-52e0-5f4b-126d95ca2cbe.png)

S3やDynamoDBなどデータを大量に集める場所をフルオープンにするとデータ漏えい等が心配になる。一方で、一つ一つセキュリティ設定を行うのも大変だし、管理も面倒である。

こういう時VPCエンドポイントが使え

元記事を表示

【AWS SAP】NAT Gateway

# はじめに
このページはAWS Solution Architect Professional(SAP)の資格を取得するため、重要ポイントを絞って記載していきます。分かりづらいところ、間違っているところがあれば是非ご指摘ください。
**太文字の部分を覚えてくれると嬉しいです。**

#今回の説明対象
NAT Gateway

# サービスの内容

## 機能説明
インターネットと通信ができない**プライベートサブネット**に設置してあるEC2インスタンスやAWSサービスがインターネットと通信を行いたい場合に利用されるサービス。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2262212/167d2ff5-0fca-2438-2e91-c9f2e3e21749.png)

## 主な利用方法
世の中おっかない攻撃者ばかりのせいで、システムが外部と直接通信が出来る環境にあると攻撃に晒される危険性がある。そのために要件でサーバは外部インターネットと”直接”通信してはいけないという

元記事を表示

【AWS SAP】VPCピアリング

#はじめに
このページはAWS Solution Architect Professional(SAP)の資格を取得するため、重要ポイントを絞って記載していきます。分かりづらいところ、間違っているところがあれば是非ご指摘ください。

**太文字の部分を覚えてくれると嬉しいです。**

#今回の説明対象
VPCピアリング

# サービスの内容

## 機能説明
VPCとVPCをつなぐことが出来るサービス。**「インターネットを介さず」**、**「AWSネットワーク内で」**通信が可能。

## 主な利用方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2262212/0c43dbba-0fb1-b238-07c8-96dd63b5fe2e.png)

そもそもVPCはAWS構築時において一番最初に作るネットワークのベースである。よってVPCが異なれば、それぞれ違うネットワークの世界であると言ってもいい。つまり異なるVPC間の通信は基本的に**インターネット**を通る。しかしどうしても

元記事を表示

AWS Quicksightの整数表示制限

TLDR: QuickSightの仕様で整数を表示するとき、長くなりそうなものは文字型に変えよう

###修正する前に表示されたデータ
![スクリーンショット 2021-11-17 16.40.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/546130/5b8a3c0a-0810-1cd4-51ab-bddf1ecba7aa.png)

###修正後に表示するデータ
![スクリーンショット 2021-11-17 16.40.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/546130/08e1fc8f-0afb-3d8d-6883-a457f331eea3.png)

SQLで以下のように文字型に変換すればおk

“`
select
{column名}::varchar
from
{table名}
“`

https://docs.aws.amazon.com/quicksight/latest/use

元記事を表示

AWS MFA(多要素認証 / 二段階認証)の設定

#### 前提
Google Authenticatorをインストールしていることを前提とします。

#### 手順

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/664818/7398ea3d-c46f-c5e5-8b10-ac3c7f3e013f.png)

AWSにサインインします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/664818/ace92b92-c047-59a7-daf8-2a98ec2a5d21.png)

右上のユーザー名をクリックして「マイセキュリティ資格情報」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/664818/a39c0607-004a-e76e-ee32-0e3d6ff90196.png)

多要素認証(MFA)の「MFAデ

元記事を表示

LambdaでWindows インスタンスの Nitro 世代移行を自動スケジューリング化してみた

# はじめに
r4からr5など、XenベースからNitroベースの最新世代へのEC2インスタンスタイプの変更時には
ドライバーのアップグレード等ダウンタイムが生じるOS内部作業が伴います。

必然的にダウンタイムが長くなるため平日日中帯を避けたいケースも多いのではないでしょうか。
Lambda(python)で自動スケジューリング化に挑戦してみました。

# 環境
EC2インスタンスタイプ:r4.largeからr5.largeへ変更
EC2のOS:Windows server 2012 R2
Lambdaで使うランタイム:Python3.9

#作業全体像
今回の作業は以下ドキュメントに沿って行います。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/migrating-latest-types.html#auto-upgrade

1. AWS PV ドライバーのインストールとアップグレード
1. ENA のインストールとアップグレード
1. AWS NVMe ドライバーをアップグレード
1. EC2Con

元記事を表示

Simple Storage Service(S3) の設定の注意点・レビュー観点

## はじめに

今年はS3バケットに関わる仕事に多く関わらせてもらったので、得た知見を共有します。
設定項目が多いので、分かっていてもレビュー時に見落としてしまうことがあると思います。
レビュー時のチェックリスト的に使ってもらえることを目指してます。

修正点あったら指摘していただけると嬉しいです。追記要求なども大歓迎です。

また、CORSなど、ここに書いてない設定については筆者が疎いので深く言及しません(できません)
なるべく使ってみるようにして、追記していきたいと思います。

## バケット名から用途を推測できるか

変数の命名と同じですが、名前が適当だとバケット名を見た時に何に使われているか分からないと確認の手間が発生します。

本番用のバケットには `production` を含めるなどと決めておくと、オペミスも減らせると思います。

NG例
![Screen Shot 2021-11-16 at 21.33.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187545/63c18

元記事を表示

踏み台サーバー経由のEC2へのSSH接続

# この記事の対象者
AWSでの踏み台サーバーとは何かを知り、それがどんなメリットデメリットがあるかを知りたい方
接続方法にはどんな種類があって、その接続方法をざっくりと知りたい方
ここでは、OSは、MACを扱っていきます。

#踏み台サーバーでのアクセス
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/697228/8e4a55b7-ffbd-6949-42e7-d3f3d072028a.png)

ローカル環境やインターネット環境から、直接プライベートサブネット内にあるEC2サーバーにアクセスするのではなく、**パブリックサブネット内にあるEC2サーバー経由**でプライベートサブネット内EC2サーバーにアクセスすることです。

一旦、パブリックサブネット内のEC2サーバーにアクセスするのがポイントですが、このサーバーのことを**踏み台サーバー**と言います。中継サーバーのことですね。

| メリット | デメリット|
|:-|:-|
| 直接インターネットにさらされないので、セキュアなアクセ

元記事を表示

AWSで基本的なブログサービスを構築する(シングル構成)

#■はじめに
AWS無料利用枠を利用して基本的なブログサービスを構築し、その際の手順をまとめました

#■対象者
– AWSの勉強始めたてでとりあえず何か作ってみようかなという人
– 自分用の手順メモ

#■構成図
![課題1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1864204/281e7a76-e41c-10b0-7cd6-b9f74882647a.jpeg)

userはブラウザからIPを入力しhttp通信でEC2にアクセスする。
EC2にはmysql、wordpressをインストールし、SQL発行でRDSにアクセス、データを取得し画面表示を行う。
ssh接続はteratermでEC2に接続する際に利用する。

EC2は外部のユーザからのアクセスを受けるが、RDSにはアクセスさせない。
そのためEC2はパブリックサブネットに配置し、RDSはプライベートサブネットに配置する。

#■作業内容
大まかに以下。

1. VPCを作成する
* EC2を配置するパブリックサブネット作成
* RDSを

元記事を表示

OTHERカテゴリの最新記事