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

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

AWS IAM 別のアカウントから自分のアカウントのリソースにアクセスしてほしいとき

# 初めに

**アカウントA**のリソースを使用したい**アカウントB**がいるとします。
そのための手順は以下の通りです。

1. **アカウントA**は、**アカウントB**にリソースの使用を許可するためのポリシーを作成する
2. **アカウントA**は、信頼されたエンティティを**アカウントB**としたロールを作成し、1 で作成したポリシーをアタッチする。
3. **アカウントB**は、2 で作成されたロールを引き受けるためのポリシーを作成する
4. **アカウントB**は、ロールを作成し、3 で作成したポリシーをアタッチする
5. **アカウントB**は、2 で作成されたロールを引き受ける

# 手順

**アカウントB**にロールを割り当てることで、**アカウントA**で作成した以下のバケットが**アカウントB**から見ることができるか検証します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/1ab0a29b-7ca5-47d1-d04c-09be05583

元記事を表示

AWSソリューションアーキテクト―アソシエイト用語集まとめ

## それぞれの用語集サイト
– [AWSソリューションアーキテクト―アソシエイト用語集①データベース編 – Qiita](https://qiita.com/tatsumicro/items/7f7154b661c7e1983066)
– [AWSソリューションアーキテクト―アソシエイト用語集②ストレージ編 – Qiita](https://qiita.com/tatsumicro/items/34894aef100d148a8163)

元記事を表示

AWSソリューションアーキテクト―アソシエイトに合格するための用語集②ストレージ編

– [AWSソリューションアーキテクト―アソシエイト用語集まとめ – Qiita](https://qiita.com/tatsumicro/items/55c191eea8553a52463c)

## ❒ ストレージってなに?
AWSのストレージには、ファイルストレージ、ブロックストレージ、オブジェクトストレージの3種類ある。
(※あとでまとめる)

## ❒ EFS
NFSv4プロトコル
###### Q. どんな時に使用する?
> → インスタンス間のデータ共有に使用する
> (インターネット経由の共有はできない)

## ❒ FSx
SMBプロトコル

## ❒ S3
SFTPプロトコル

| ストレージタイプ | 特徴 |
| —- | :—-: |
| Standard | アクセス頻度が高い、アクセス効率が良い |
| Glacier | 長期用 |
| Glacier deep archive | 長期用 |
| RRS (Reduced Redundancy) | 冗長性が低い、安い、可用性重視 |
###### Q

元記事を表示

AWSソリューションアーキテクト―アソシエイト用語集①データベース編

– [AWSソリューションアーキテクト―アソシエイト用語集まとめ – Qiita](https://qiita.com/tatsumicro/items/55c191eea8553a52463c)

## ❒ データベース
| サービス名 | Fully Managed | SQL | NoSQL |
| —- | :—-: | :—-: | :—-: |
| RDS | 〇 | 〇 | |
| Aurora | 〇 | 〇 | |
| Redshift | 〇 | 〇 | |
| DynamoDB | 〇 | | 〇 |
| EMR | 〇 | | 〇 |
| Elastic Cache | 〇 | | 〇 |
| EC2 | | 〇 | 〇 |
###### Q. 自社内でデータベースを管理したい場合は?
> → EC2内にデータベースを構築する

### ❒ RDS
###### 読み込み処理のパフォーマンスを上げるには?

元記事を表示

GitOpsとは

## GitOpsとは

![45c76cd2b539bc4e8389e10d1b24b66c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407956/d74775b4-8dd8-f6d7-4946-6a1f3c8dd0e3.png)

GitOpsはWeaveworks社が提唱し始めたCDの手法です。
GitOpsとについてGitLabの公式の記事では以下のように紹介されています。

> GitOpsは、バージョン管理、コラボレーション、コンプライアンス、CI/CDなど、アプリケーション開発で使われているDevOpsのベストプラクティスを、インフラの自動化に適用した運用フレームワークです。
参照: https://www.gitlab.jp/blog/2020/09/03/is-gitops-the-next-big-thing-in-automation/

もう少し噛み砕くと、「インフラとアプリケーションの両方を含めたシステム全体のコードをGitを使って管理する」、この考え方や手法がGitOp

元記事を表示

AWS Client VPN 接続承認で接続元IPアドレスを制限する

# 初めに

クライアント VPN では、不特定多数からアクセスされる危険がある。この記事ではクライアント VPN の接続承認という機能を使って IP アドレスでクライアントに制限を課す。

# 接続承認

クライアント接続ハンドラーで Lambda 関数を指定することで、デバイス、ユーザー、および接続属性に基づいて、新しい接続を許可するカスタムロジックを組み込むという機能。

## 要件と考慮事項

– Lambda 関数の名前は、 `AWSClientVPN-` という名前で始めなければならない
– Lambda 関数は、クライアント VPN エンドポイントと同じ AWS リージョンおよび同じ AWS アカウントに存在しなければならない
– Lambda 関数は 30 秒後にタイムアウトし、この値は変更できない
– Lambda 関数は同期的に呼び出される。デバイスとユーザーの認証後、および承認ルールが評価される前に呼び出される
– 新しい接続に対して Lambda 関数が呼び出され、クライアント VPN が関数から期待されるレスポンスを取得しない場合、クライアント VPN は接続

元記事を表示

AWS SaaS Boost がオープンソースとして公開されたのでさっそくいじってみよう

# はじめに

ちょっと前に AWS さんのブログを漁ってたら「AWS SaaS Boost がオープンソースとしてリリースされました」っていう記事が目に入ってきたんですよね。

https://aws.amazon.com/jp/blogs/news/aws-saas-boost-released-as-open-source/

普通は AWS SaaS Boost をサービスとして利用すればいいだけですし、へー、コードが公開されたんだ、でスルーしようとも思ったんですが、なんとなく気になったんです。もしかするとリポジトリをフォークして魔改造して使うときが来るかもしれない。いや、来ないだろうけど、、、

ということで、そんな時に備えるためにちゃちゃっと改造して、改造したものを動かしてみるところまで試せたらいいなーと思って筆をとってみた次第です。

# そもそも「AWS SaaS Boost」って何者よ?

AWS SaaS Boost というのは、自分の持っているアプリケーションを SaaS 化したいなー!というときに強い味方になってくれるサービスです。

https://aws.a

元記事を表示

素で『なにもしてないのにふぁいるがひらけなくなった…?』時の調査メモ:S3+CloudFrontによるコンテンツ配信時のcors対応

## この記事は何
– トラブル対処結果の備忘録
– ちまちま運営しているwebサービスでは、こちらの図のように静的コンテンツ配信用にS3+CloudFrontを使っていますが、ある日突然、本当に、何もしていないのに、コンテンツが表示されなくなるトラブルが発生しました…?

https://qiita.com/foxtail88/items/1a8626d3e76f82eceaee

– 開発者ツールのコンソールを見るに、苦手意識を刷り込まれているcorsさんが原因じゃないですか…。うわぁ…。過去に一度躓いて、調査して対処→解消したと思ったのに…。
– 数カ月後の自分のために、トラブルシューティングをまとめておきます。

## 前提
– S3のcors設定は済。(設定は[こちら](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ManageCorsUsing.html))

## 私の処置の時系列は置いておいて結論
勉強不足なので、全部~~のようですに置き換えてください…。

– CloudFrontにはcorsに関係する設定

元記事を表示

【AWS】プレイスメントグループを完全に理解する

#プログラミング勉強日記
2021年5月28日
[以前の記事](https://qiita.com/mzmz__02/items/50ef91a89c4d4897fa0d)で簡単にどんなものかを紹介したが、今日はプレイスメントグループについてきちんと理解する。

#プレイスメントグループとは
 複数のインスタンスを論理的にグループ化して、パフォーマンスの向上・耐障害性を高める機能のこと。クラスタープレイスメントグループ、パーティションプレイスメントグループ、スプレッドプレイスメントグループの3つの種類がある。

 クラスタープレイスメントグループは主にパフォーマンスを向上させるためのもので、パーティションプレイスメントグループとスプレッドプレイスメントグループが耐障害性を高めるもの。
 クラスタープレイスメントグループは、1つのAZ内のインスタンスを複数のグループにまとめる。パーティションプレイスメントグループはインスタンスをグループにまとめるときに、いくつかのパーティションに分ける。(9台のインスタンスを3つのパーティションに分けるような感じ)スプレッドプレイスメントグループは、パー

元記事を表示

【AWS】ターゲットが返す500エラーをALBのCloudWatchメトリクスでカウントしない理由

## 経緯
下記の記事でロードバランサーのモニタリング画面で確認できる「ELB 5XXs」と「HTTP 5XXs」がそれぞれ何を示しているのか調べました。

https://qiita.com/sasa_muku/items/218bf0447afa3fd8c03e

結論としては、次の通りでした。

* ELB 5XXs
* ロードバランサーが返す 5XXエラーがカウントされる
* HTTP 5XXs
* ターゲットが返す 5XXエラーがカウントされる

ここでさらなる疑問が生まれます。

**「ターゲットとロードバランサーのステータスコードってどうマッピングされているんだろう?」**

「まぁ、普通に、ターゲットが返したコードをロードバランサーがそのまま返すんやろな」(← 後から振り返ると正解だった)
![image-cw-00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/619762/29ea0858-2576-79bb-5a29-214222580eea.png)

ところが、

元記事を表示

AWS Kinesis

#Kinesis
ストリーミングデータをリアルタイムで処理できるサービスです。
Kinesis を利用すると、機械学習、分析、その他のアプリケーションに用いる動画、音声、アプリケーションログ、ウェブサイトのクリックストリーム、IoT テレメトリーデータなどさまざまなデータをリアルタイムで取り込む事が出来ます。
 **・Kinesis Video Streams**
 **・Kinesis Data Streams**
 **・Kinesis Data Firehose**
 **・Kinesis Data Analytics**

もし週末にまとめてデータをS3に送る設定の際に、
データレコードはKinesisストリームに加えられてから**デフォルトで24時間以内までアクセスできるように設定されています。**現行のアーキテクチャ構成では、ストリームデータは処理のために週末にS3に送信されます。そのためS3に即時に送信していないため24時間超過したデータはアクセスできず、全てのデータが送られていない状況が発生してしまっている可能性が高いです。

##Kinesis Data Fireh

元記事を表示

Config → EventBridge → SNS → Chatbot → Slack

#構成#

Configで設定変更を検知 >> Event Bridge をトリガーに SNSトピックに通知 >> SNSトピックに設定されているChatbotに情報送信 >> ChatbotがSlackに通知

というのを CloudFormation でデプロイしていこうと思います。

#パターン1#

1アカウント1つのリージョンにのみ、Configで設定変更を検知した場合に、Slackへ通知するようにしてみたいと思います。

##Chatbot##

###ワークスペースID###

チャットクライアントで、`Slack`を選択し、「クライアントを設定」をする。
![スクリーンショット 2021-05-08 13.39.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/7f9d960c-e068-2933-bbc6-956e8ed9ea71.png)

AWS Chatbot が XXX Slack ワークスペースにアクセスする権限をリクエストするので、「許可する」。
![スク

元記事を表示

パッケージ mysql-server は利用できませんの解決(EC2にて)

表題ですが、mysqlを新規でインストールしようとした際に発生したエラーであり、それを解決した方法を記載します。

まずmysqlのインストールコマンドを入力したところ、表題のエラーが発生しました。

“`
[ec2-user@ip-10-0-0-110 ~]$ sudo yum -y install mysql-server mysql-devel mysql
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
227 packages excluded due to repository priority protections
パッケージ mysql-server は利用できません。
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> パッケージ mariadb.x86_64 1:5.5.68-1.amzn2 を インストール
–> 依存性の処理をしています: mariadb-libs(x86-64) = 1:5.5.68-1.amzn2 のパッケージ: 1:ma

元記事を表示

未経験からのAWS SAA受験記

[link-1]:https://www.udemy.com/share/101XFiAEMecFZXRX8F/
[link-2]:https://www.udemy.com/share/101rfMAEMecFZXRX8F/
[link-3]:https://aws.koiwaclub.com/
[link-4]:https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/

##**■はじめに**
AWS ソリューションアーキテクトアソシエイト(SAA)を取得したので、
勉強方法や試験の概要、アドバイスなど記載しようと思います。

※投稿テストも兼ねています。

##**■前提**
・未経験エンジニアとして入社後、業務未経験の段階で取得(研修期間中に取得)
・学歴は国立大文系卒
・プログラミング経験は大学の授業Pythonを使ったWEBサイトの構築のみ
 (ほとんど先生のコードをコピペしていた程度)
・前職もIT関係だったこともあり、サーバクライアント構成はなんとなくわかる程度
・研修期間中にL

元記事を表示

troccoで冪等性を考慮しつつスナップショットを取得する設定の話

# はじめに
データ分析基盤において冪等性の問題は避けて通れないものではないかと思います。

当社では[troccoを導入](https://qiita.com/t_odash/items/9ba5bb24a7ab07603ec1)し、分析対象データのBigQueryへの集約を進めているのですが、集約にあたり細かなニーズが出てきました。一部のテーブルでスナップショットを取得したい(過去時点のデータを日別に保存しておきたい)というもので、これの取得時に冪等性を考慮する必要がありました。当初はBigQueryのシャーディング機能で実現しようかとも考えたのですが、troccoの機能で実現できました。

# 0. troccoについて
troccoはSaaS版Embulkといったサービスで、各種データ転送をGUIで設定できるだけでなく、Redshift/BigQueryへのクエリ発行やジョブ管理等の便利機能も提供されています。詳細は[公式ページ](https://trocco.io/lp/index.html)をご確認下さい。

# 1. 冪等性を担保する話
## 1.1 概要

![imag

元記事を表示

コードを書けないインフラエンジニアがLambda+Pythonで米国株価のグラフを作って通知するツールを作る

#1.はじめに
これまでのITインフラエンジニアはコードとはあまり縁がなかったのですが、近年Infrastructure as Codeというキーワードも登場し、コードを使いこなすことも必要な時代になっています。
ITインフラエンジニアとしてこれまで従事してきた私もその潮流に乗るため、コツコツとコードの個人学習を行っておりますがなかなかはかどらず、**「好きこそ物の上手なれ」**ではありませんが、今回は趣味である米国株に関する役に立つツールを作れないかということで考えたのが今回のツールです。
#2.完成したもの
##2-1.概要
指定した複数の米国株銘柄の直近2週間(この期間は変更可)の株価をグラフにしてS3に保存し、メール通知するツール。
EventBridgeで指定した時間(市場の終了後に設定)にLambdaが起動し、指定した米国株のティッカーシンボルの株価をUS Yahoo Financeより取得してグラフを作成。作成されたグラフをS3上に保存し、SNSにてそのURLを通知するツールです。
![完成したもの.png](https://qiita-image-store.s3.ap

元記事を表示

駆け出しエンジニアのAWS クラウドプラクティショナー学習記録1日目

## そもそもクラウドとは?

コンピューターやデータベース、ストレージなどを使いたいときに使いたいぶんだけ使えるサービス

###  オンプレミス

クラウドが導入される前のコンピュター環境の手法。
サーバーやネットワークなどの設備をハードで用意する(=固定費)

### オンプレミスの欠点

ハードを用意する必要があるので交換が効きにくい
→予想されるトラフィック量などに応じて事前にキャパシティを予測してから設備投資しないといけない。
→予想がはずれれば余剰リソースや過剰なトラフィックによるキャパシティアウトが起こる

### クラウドのメリット

使いたいときに使いたい分だけ使えるので

– キャパシティの予測が不要
– スタートアップ企業からすれば小さく始められ理
– サービスの状況に応じて柔軟にリソースを調整できる→コスパがいい
– モノを設置しなくてもいいので世界中に一瞬でデプロイ可能
– オンプレミスの際に発生していた電気代、ネットワーク代などを一括で管理できる

## サーバーアーキテクチャの設計原理

### Design for Failure…障害が起こる前提で設

元記事を表示

AWS ECS Fargate × Rails でアプリケーションを指定した日時に固定する方法

# 概要

期間指定のある処理をデバッグするためにサーバー側のアプリケーションの日時を任意の日時に固定したいときがあります。

現時点での実現方法を共有します。

他に良いやり方があれば教えてもらえれば幸いです。

# 結論

`Fargate` の制約でサーバーマシンの日時を固定することができなかったので `Rails` のアプリケーションコードで固定するしかありませんでした。

タスク定義でデバッグ用の環境変数を設定してサービスをそのタスクに切り替えるという方法です。

“`ruby:config/initializer/datetime_debug_mode.rb
# DATETIME_DEBUG_MODE には “2021-01-01 10:00:00” のような Time.zone.parse でパースできる日時の文字列が入る
if ENV[‘DATETIME_DEBUG_MODE’].present?
require ‘active_support/testing/time_helpers’
include ActiveSupport::Testing::Time

元記事を表示

AWS主要サービスまとめ

## EC2(Amazon Elastic Compute Cloud)

### 必要な時に必要なだけの量を使用することができる

オンプレミスでは、ピーク時に合わせてサーバーを常時稼働させていますが、この場合、実際には使われていない余剰が発生している。EC2では必要な時に必要なだけのインスタンスを稼働することができる。

### 使用した分だけコストが発生

1. EC2稼動に対しての料金・・・従量課金(時間〜秒単位)

2. データ転送料・・・リージョンの外にデータを転送した際に料金が発生する。料金はリージョンによって異なる。インには転送料金発生しない。

3. ストレージ料金・・・EBSの料金です。EBSに対しての課金は、1GBあたりの、プロビジョニングした料金です。プロビジョニングとは、ボリュームのサイズとして確保した量です。EC2を停止中にするだけではEBSの料金がかかります。AMIを作成しておきましょう。

また、インスタンスストアは物理

元記事を表示

【AWS】EBSスナップショットについて

#プログラミング勉強日記
2021年5月27日
 EBSはスナップショットを使ってバックアップを取得する。スナップショットを復元することで別のEBSとして新たに同じ内容のEBS構成を複製ができる。このスナップショットついてまとめる。

#スナップショットの特徴
 基本的にはRDSのスナップショットと同じ性能を持つ・

– スナップショットでバックアップを取得
– EBSを復元するときは別のAZでも可
– S3に保存される
– 2世代目以降は増えた分のデータを保存する増分バックアップになる(1世代を削除しても復元できる)
– 作成時にブロックレベルで圧縮して保管するので、圧縮後の容量に対して課金される
– 作成時でもEBSは利用可能

#スナップショットの管理
 スナップショットの作成時にはデータの整合性を保つために静止点を設けることが推奨されている。(しかし、いつでも実行可能でEBS操作に影響を与えない。)
 保存期間や世代数は無制限で、世代管理が必要な場合はAWS CLIやAPIで自動化する。DLMという機能を使ってスナップショットの取得をスケジューリングできる。

#スナップショッ

元記事を表示

OTHERカテゴリの最新記事