- 1. AWS IAM実験記。aws-cloud-tech課題
- 2. 【AWS】CloudWatchでログ監視し、アラーム状態となったらメール送信を行う
- 3. LINEで送った画像をS3に保存する(LINE Messaging API x AWS )
- 4. DatabricksにおけるAmazon Kinesisの活用
- 5. 【AWS】EC2とRDSを冗長化しALBで通信を振り分ける
- 6. 【AWS SAP】Direct Connect
- 7. Amazon SES バウンスメール対策(通知、収集、監視)
- 8. CircleCIを使ってコンテナイメージをAWS LambdaへデプロイするCI/CD環境を構築してみた
- 9. AWS環境設定(料金アラート設定)
- 10. docker-composeのBTCPay環境をAWSに構築してみた
- 11. ECS FargateからS3へのアクセス
- 12. AWS ECS コンテナ追加の仕方
- 13. 経験が偏ってるAWS3年生がソリューションアーキテクトアソシエイト(SAA)を取得するまで
- 14. ECS Fargate環境のredashをv8からv10にした話
- 15. AWS Lambdaからsuds-py3を使ってSOAP API連携をしてみた
- 16. インフラコード化(aws cloudformation編)
- 17. DynamoDB を適切な料金で利用したい
- 18. AWS 用語解説!(EC2,EBS,Route53,RDS,S3)
- 19. 【AWS SAP】Route53
- 20. 【AWS SAP】VPCエンドポイント
AWS IAM実験記。aws-cloud-tech課題
私はIAMがわかっていない。
I am not friendly with IAM.
ということで実験しよう。くろかわさんのIAM講座でなんとなくイメージはできてるぞよ。
# 1. IAMユーザの巻
– 1.1 ユーザAを作成し、S3のAll権限付与
– 1.2 ユーザBを作成し、S3の読み込み権限付与
– 1.3 ユーザAでログインしてS3バケット作成&アップロード
– 1.4 ユーザBでログインしてS3バケット作成できないこと&アップロードできないことを確認### 1.1 ユーザAを作成し、S3のAll権限付与
まずはとりあえず ユーザAを作成してみよう。
tech-testA で作成。
![スクリーンショット 2021-11-17 12.55.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82730/3833e8a0-de70-e19f-6494-52109dd5b0e2.png)次、付与する権限はAmazonS3FullAccessでGOGO
![スクリーンショット 20
【AWS】CloudWatchでログ監視し、アラーム状態となったらメール送信を行う
#■はじめに
CloudWatch、SNSトピックを利用してログに特定文字列が出力されたらアラーム発報し、メールを送信するところまで試しに構築してみたので手順をまとめました。#■対象者
本記事は以下のような方を対象として記述しました
– AWSの勉強始めたてでとりあえず何か作ってみようかなという人
– 自分用の手順メモ#■構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1864204/9d6b1cb5-9c74-a065-c1cb-75240dc59a4d.png)EC2からCloudWatch logsへ/var/log/messagesを送信し監視対象とする。
CloudWatchは”ERROR”文字列を検知した場合、アラーム発報する。
アラーム発報すると関連付けられたSNSトピックは指定の宛先にメール通知を行う。#■作業内容
大まかに以下。1. EC2にCloudWatchエージェントのインストール
2. EC2にCloudWatch logsへログを送信
LINEで送った画像をS3に保存する(LINE Messaging API x AWS )
LINEで送った画像をS3に保存したい。
# 動機
・AWS rekognitionでいろいろ遊べたら良いなあ
・そのためにはまず画像を用意せねばなあ
・一番使いやすいプラットフォーム(⊃LINE)でできたら良いなあ# LINE公式アカウントとAWSの連携
LINE公式アカウントの登録、およびLINEとAWSとの紐付けに関しては以下の記事を参考にさせていただきました。
[API GatewayとLambda(Python)でLINE BOT(Messaging API)開発 [前編]](https://qiita.com/w2or3w/items/1b80bfbae59fe19e2015)構成は下記の通りです。
![line_to_s3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1989761/5b3ff3c6-edd3-19a7-39d9-a67ba8d16bea.png)# S3に画像を保存するLambda
実際に、S3に画像を保存するためのコード(python)をAWS Lambd
DatabricksにおけるAmazon Kinesisの活用
[Amazon Kinesis \| Databricks on AWS](https://docs.databricks.com/spark/latest/structured-streaming/kinesis.html) [2021/4/29時点]の翻訳です。
構造化ストリーミングにおけるKinesisコネクターがDatabricksランタイムに含まれています。
# Amazon Kinesisの認証
Kinesisの認証を行うためには、デフォルトでは[Amazonのデフォルトクレデンシャルプロバイダーチェーン](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default)を使用します。Kinesisにアクセスできるインスタンスプロファイルが設定されたDatabricksクラスターを起動することをお勧めします。アクセスのためにキーを使いたいのであれば、オプション`awsAccessKey`と`awsSecretKey`を指定することができます
【AWS】EC2とRDSを冗長化しALBで通信を振り分ける
#■はじめに
AWSでEC2(wordpress),RDSシングル構成を構築したので、そこから冗長化する際の手順をまとめました
AMIによるEC2複製手順、MultiAZ機能によるRDS冗長化手順、ALB作成手順となります。#■対象者
本記事は以下のような方を対象として記述しました
– AWSの勉強始めたてでとりあえず何か作ってみようかなという人
– 自分用の手順メモ#■構成図
まず、冗長化していない構成図は上記。
userはブラウザからIPを入力しhttp通信でEC2にアクセスする。
EC2にはmysql、wordpressをインストールし、SQL発行でRDSにアクセス、データを取得し画面表示を行う。
ssh接続はteratermでEC2に接続する際に利用する。EC2は外部
【AWS SAP】Direct Connect
#はじめに
このページはAWS Solution Architect Professional(SAP)の資格を取得するため、重要ポイントを絞って記載していきます。分かりづらいところ、間違っているところがあれば是非ご指摘ください。
#今回の説明対象
Direct Connect# サービスの内容
## 機能説明
Dicrect Connectはオンプレミス環境とAWSの**VPC**を繋ぐ専用線サービス## 主な利用方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2262212/f0efb9dd-7910-9918-2eda-9531722fbaba.png)Direct Connectは**1Gもしくは10Gbps**の専用線サービス。以下の流れで接続される
① オンプレミス環境のルータと**Direct Connectロケーション**と呼ばれるAWS側環境と**物理的に結線する**
② 仮想インターフェイス(VIF)と呼ばれる仮想NICを作成
③ VirtualP
Amazon SES バウンスメール対策(通知、収集、監視)
# 概要
Amazon SES のバウンスメールについて、インフラ観点の対策を3つ取り上げ、設定方法を紹介します。
また、AWS 側で実施している対策についても軽く紹介します。<目次>
* 前提情報
* 実施したバウンス対策
* Slack 通知
* DynamoDB ログ格納
* Datadog モニター
* AWS による対策
* サプレッションリストによるバウンス抑制
* ブラックリスト (DNSBL) 対策# 前提情報
前提情報が不要な方はスキップしてください。### バウンスとは
> バウンスメールとは、何らかの原因でメールが相手まで到達できなかったメールのことです。 バウンスメールには以下の2種類があります。
一時的なエラーによるソフトバウンス(例:メールボックスの容量がいっぱいだったなど)
恒久的なエラーによるハードバウンス(例:メールアドレスが存在しないなど)
https://tech.connehito.com/entry/2020/09/17/152126### AWSによる送信停止
> 最良の結果を得るには、バウンス率を 2%
CircleCIを使ってコンテナイメージをAWS LambdaへデプロイするCI/CD環境を構築してみた
# 1.はじめに
2020年12月にAWS Lambda はコンテナイメージのサポート開始を発表しました。
ECSやEKSといったコンテナ系のサービスだけでなく、Lambdaでもコンテナネイティブな開発環境を作ることができます。これまでのLambda関数のデプロイ方法は下記の通りです。
– マネージメントコンソールからソースコードを編集する
– ZIPファイルをアップロードする
– Amazon S3に配置したZIPファイルをデプロイする上記の3つに加えてECRに配置したコンテナイメージをデプロイする方式が利用可能になりましたので、
こちらを利用した開発ワークフローをCI/CD環境をCircleCIで構築してみました。—
# 2.本記事の対象者
– CircleCIを利用したい方
– コンテナイメージをLambdaにデプロイしたい方—
# 3.CircleCIとは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2295139/97c71d13-8ce
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 asdictWSDL = 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エンドポイントが使え