- 1. データ分析基盤をRedshiftからPySpark on Glueに移行した話
- 2. Amazon Transcribe とは
- 3. AWS Certified Advanced Networking – Specialty(ANS-C01)を、心機一転初心にかえり取得したやったことまとめ
- 4. ソリューションアーキテクト対策_Lambda, Kinesis, Athena篇
- 5. Kinesis Data Streams から Kinesis Data Firehose の Dynamic Partitioning を使って S3 に格納してみた
- 6. ソリューションアーキテクト_PCI DSS篇
- 7. AWS Support App 導入してみた
- 8. SPやRIを購入するためのIAMポリシー
- 9. AWSのEC2(Amazon Linux 2)にWindows10からIAMユーザーでSSH接続するときにハマったところ
- 10. zabbix AutoScaling
- 11. ソリューションアーキテクト対策_ECS,EKS篇
- 12. AWSのec2でstable-diffusionを動かすスマートな方法のTips
- 13. ソリューションアーキテクト対策_BIツール篇
- 14. AWSコンソールを開くとキーボード入力が出来なくなるとき
- 15. ソリューションアーキテクト対策_DR篇
- 16. 【AWS】 list-user-policies が動かないとき
- 17. AWS S3に画像をアップロードできない
- 18. AWS Cognitoを導入し、認証画面を作成してみた!
- 19. ソリューションアーキテクト対策_EC2のAutoScalling篇
- 20. AWS EC2で既存のインスタンスのネットワークインターフェイスにもう1つのグローバルIPアドレスを割り当てる
データ分析基盤をRedshiftからPySpark on Glueに移行した話
## はじめに
在庫を予測、分析し、”見える化”するSaaSサービスを提供しているフルカイテンでは、Redshiftを使用してデータ分析基盤を構築しています。当初はアカウント数やデータ量が少なかったので正常に稼働していましたが、アカウント数やデータ量が増えるにつれて、バッチ処理に掛かる時間が長くなり、速度の改善が必要になりました。
## マルチテナント構成による大規模顧客の影響
データ量が大きいアカウントが増え、他のアカウントの処理に影響を与えてしまうビックデータ特有の問題が発生していました。下記のグラフはアカウント毎のデータ量を一部抜粋したものです。大きいアカウントと小さいアカウントの間には100倍近くデータ量に違いがあります。当社のRedshiftは、同一クラスター内に複数のアカウントが同居するマルチテナント構成になっているため、データ量が大きいアカウントの処理の重さによって、データ量の小さいアカウントの処理に時間がかかっていました。
![pyspark_cap.png](https://qiita-image-store.s3.ap-northeast-1.amazona
Amazon Transcribe とは
## 勉強前イメージ
音声をなんかってサービスだった気がする・・・
最近似たようなサービス調べてるから。。## 調査
### Amazon Transcribe とは
AWSのサービスで自動で文字起こしができるサービスです。
Amazon Transcribeは音声・動画ファイルをアップロードしてASRという音声認識の技術を使って音声をテキストに変換します。Transcribeを使うことで音声データの文字起こしはもちろんのこと、会議の議事録や動画の字幕を作ったりもすることが出来ます。
もちろん他のAWSサービスと連携させることができ、
Amazon Connect(コールセンターシステム) と組み合わせて通話記録の文字起こしをしたりすることも出来ます。Amazon Transcribeの使い方としては以下を行うことで文字起こしが完了します。
Transcribeで作成したファイルはJSONで出力されるようです。1. s3バケット作成
2. バケットに音声・動画ファイルのアップロード
3. Amazon Transcribeのjobを作成## 勉強後イメージ
AWS Certified Advanced Networking – Specialty(ANS-C01)を、心機一転初心にかえり取得したやったことまとめ
# はじめに
AWS Certified Advanced Networking Specialty は、2022年7月12日に、改訂版(ANS-C01)がリリースされました。
今回、改訂版(ANS-C01)で新たに追加されたトピックに着目し、心機一転初心にかえり取得できた試験準備のコツなどについてまとめてみました。改訂版(ANS-C01)に関わる、AWS関連サービスのイメージを掴んでいただければ幸いです。
# 本記事の主な対象者
– 旧版(ANS-C00)は取得済みで、今回新たに 改訂版(ANS-C01)の受験を検討している方
– 取得に向けて有効な学習方法などの情報収集したい方# 筆者について
– [2020 APN AWS Top Engineer](https://aws.amazon.com/jp/blogs/psa/2020-apn-aws-top-engineers-announcement/)
– [2021 APN AWS Top Engineer / APN ALL AWS Certifications Engineer ](https://aws
ソリューションアーキテクト対策_Lambda, Kinesis, Athena篇
## 1.はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:## Lambda
### Lambdaが他のサービスにアクセスしたい場合は
IAMロールをを設定する。ポリシーじゃないよ。### Lambdaの特徴
– ステートレスである
システム上のやりとりの状態情報が不要なため、セッション情報が与えられていないアプリケーションのこと。
どのエンドユーザーに対しても同じ応答を提供する。### Lambdaのタイムアウトについて(暗記)
デフォルトは3秒。最大は900秒(15分)。### Lambda関数が取り扱えるデータの最大値(暗記)
512MB。
例えばDynamoDBストリームのメタデータをS3に転送する時にLambdaを咬ますなら一度に転送できるデータ量の最大値は512MBとなる。### LambdaとDynamoDBの連携
認識通りでおk。連携する時はIAMでLambdaからDynamoDBへのアクセスをIAMポリシーで許可する。### Lambdaレイヤー
複数
Kinesis Data Streams から Kinesis Data Firehose の Dynamic Partitioning を使って S3 に格納してみた
# はじめに
AWS でストリームデータを活用する一つの方法として、Kinesis Data Streams → Kinesis Data Firehose → S3 → Athena → QuickSight という組み合わせがあります。受け取ったストリームデータを S3 に格納し、Athena と QuickSight で可視化をする構成です。Athena では S3 上に格納された、JSON, CSV, Parquet といったデータをスキャンして集計のクエリーを発行できます。Athena の料金の考え方のひとつとして、スキャン料金があります。S3 上に格納されたデータをスキャンした容量によって料金が発生します。たとえば、毎日の単位でディレクトリを分けることで、特定の期間に限定したスキャンが出来るパーティションと呼ばれる機能があります。
利用のイメージはこんなかんじです。
– https://www.slideshare.net/AmazonWebServicesJapan/20200617-aws-black-belt-online-seminar-amazon-athe
ソリューションアーキテクト_PCI DSS篇
## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:## PCI DSSって何
PCI Security Standards Councilによって管理される、機密情報のセキュリティ標準のこと。
PCI DSSはクレジットカード所有者のデータや機密性の高い認証データを保存・処理・転送するエンティティに適用される。
これらのエンティティには、販売店・処理業者・取得者・発行者・サービスプロバイダが含まれる。らしいです。公式。
https://aws.amazon.com/jp/compliance/pci-dss-level-1-faqs/
## 具体例
### CloudFrontを使用しているサービスの場合
CloudFrontを使用してアプリケーションをAWSにホストしているWeb配信サービスを展開しているとする。このアプリケーションがPCI DSSに準拠しているか・コンプライアンス目標が満たされているかを監査される場合は、以下の設定が確実に実装されていることが必要となる。
・Cl
AWS Support App 導入してみた
# はじめに
※本記事は2022年9月20日時点の内容です。
2022年8月にAWSからAWS Support Appが発表されました。
Slackからサポートケースの作成や検索等ができるようになるとのことで、導入してみました。https://aws.amazon.com/jp/blogs/aws/new-aws-support-app-in-slack-to-manage-support-cases/
# 前提条件
– AWSサポートのBusiness、Enterprise On-Ramp、または Enterprise Support プランを利用している。
– Slack ワークスペースの管理者であるか、その Slack ワークスペースにアプリを追加する権限を持っている
– 必要な権限を持つIAMユーザーまたはロールとして、AWSアカウントにサインインできる。
– AWS Support App用IAMロールが作成できる。
※以下ページをグーグル翻訳し抜粋https://docs.aws.amazon.com/ja_jp/awssupport/latest/user/pr
SPやRIを購入するためのIAMポリシー
# はじめに
SPやRIの購入だけを行う担当者向けのポリシーが必要になったので覚書します。
更新するだけのために強力な管理者権限を付与するのはよろしくない、というのがきっかけです。# SPを購入できるPolicy
SPの操作ポリシーはビルトインで備わっていますので付与しましょう。| # | ポリシー名 | 説明 |
|:-:|:-:|:-:|
| 1 | AWSSavingsPlansFullAccess | Provides full access to Savings Plans service |
| 2 | AWSSavingsPlansReadOnlyAccess | Provides read only access to Savings Plans service |# RIを購入できるPolicy
RIの購入はビルトインではありませんがそのまま利用できるポリシーが公開されています。
“`json:RIを購入できるポリシー
{
“Version”: “2012-10-17”,
“Statement”: [{
“Eff
AWSのEC2(Amazon Linux 2)にWindows10からIAMユーザーでSSH接続するときにハマったところ
# ハマったところ
結論から言うと、EC2コンソールで作った鍵ファイル(~.pemファイル) の権限でアクセスできずハマりました。また、やってて思ったのは、SSHについて「リモート接続するためのプロトコル」くらいのざっくりしたことしか知らなかったので、初心者の人は何をやるべきかがドキュメントだけでは分からないと思います。
# 環境
Windows 10 21H2
SSHクライアント:TeraTerm 4.105
インスタンス:Amazon Linux 2# SSHの流れ
まず何をすればSSHということができるか、という流れです。* 接続元のクライアント(Windows)が持っておく鍵ファイルを作成する。
* クライアントはそれを使って公開鍵を作る。
* ホストのLinux でSSH 接続用のユーザーを作る。
* ホストのユーザーに公開鍵を追加する。(クライアント側で作った公開鍵の文字列をファイルにコピーするだけ)
* あとは TeraTerm などでSSH 接続用のユーザーで接続。以下、大まかなやり方です。ネットを探すとこの辺りは出てくるので詳細は割愛します。
##
zabbix AutoScaling
https://miyalog.hatenablog.jp/entry/20180728_zabbix_autoscaling
https://www.kabegiwablog.com/entry/2019/10/11/100000#cloud-util%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B
https://www.fl-ops.com/mori-dojo/archives/68
ソリューションアーキテクト対策_ECS,EKS篇
## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:## ECS
### コスト最適化について
ECSではタスク定義を分けることでコスト最適化が可能。
具体的には以下の通り。・クリティカルなジョブを実行するコンテナはリザーブドインスタンスを使用
・簡単だったり一時的なジョブ実行など、ミッションクリティカルではないタスクにはスポットインスタンスを用いるちなみにEKSでも同じことができる。
## おわりに
引き続き追記します!簡単ですが以上です。
AWSのec2でstable-diffusionを動かすスマートな方法のTips
2022.9.20時点で一番公式に近く、かつ、シンプルな方法をまとめました。
## EC2のAMI
EC2のAMIはこれを使いましょう。GPUを使うのに必要なドライバなどはすべて入っております。
`Deep Learning AMI GPU PyTorch 1.12.0 (Amazon Linux 2) 20220913`
## EC2のインスタンスタイプ
`g4dn.xlarge` または `p3.2xlarge` 以上を使ってください。
### GPUデバイスの確認
“`g4dn.xlarge
[ec2-user@ip-10-0-0-232 my-stable-diffusion]$ lspci | grep -i nvidia
00:1e.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)
“`## EC2のインスタンスストレージを使うこと。
rootデバイスはEBSなので、巨大なモデルファイルなどをpythonがメモリに読み込むだけで果てしなく時間がかかります。インスタンスに付属
ソリューションアーキテクト対策_BIツール篇
## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:## Amazon QuickSight
クラウド型のBIツールを提供する可視化ツールで、ML Insightを含むインタラクティブなダッシュボードを簡単に作成して公開できる。
ダッシュボードはあらゆるデバイスからアクセス可能で、アプリケーション・ポータル・ウェブサイトに埋め込むことができる。![スクリーンショット 2022-09-20 18.57.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278897/738ce360-68c4-2d89-266d-d4367a65d7c8.png)
### 類似のサービス
#### Redshift
AWS上にDWHを提供するデータベースで、QuickSightなど様々なツールと連携することで可視化を行うが、BIツール自体ではない。#### EMR
ApacheのHadoopやSparkを使用して膨大な量の
AWSコンソールを開くとキーボード入力が出来なくなるとき
## カスペルスキーの設定を変えたら動作しました。
カスペルスキー>設定マーク>詳細>「物理キーボードの入力をキーロガーから保護する」>「除外リストの管理」>コンソールのURLを追加
ソリューションアーキテクト対策_DR篇
## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:## 他リージョンのバックアップに切り替える場合(ホット&ウォーム)
### 要件
アプリケーションは事前に作成されたAMIを利用して東京リージョンにEC2を起動している### 要件に対応するための方法
・AMIを別リージョンにコピーして、アプリケーション構成に利用可能にする・Route53のフェールオーバー設定(アクティブ/パッシブ)によって、東京リージョンと別リージョンをルーティングする
→これによりプライマリ構成とセカンダリ構成をルーティングすることが可能になる
→ルーティング先の振り分けはRoute53のヘルスチェックに基づくアクティブ/アクティブだと複数リージョンでアプリケーションを常に利用することになるため注意すること。
・AMIの代わりにスナップショットを用いるのは要件を満たさない。スナップショットはあくまでEBSのコピーであるため。
AMIにはEBSのコピーとインスタンスの設定両方が含まれているため、AMIを利用する
【AWS】 list-user-policies が動かないとき
## ハマって悔しかったので書きます
解決方法は、似て非なる「list-attached-user-policies」を使う事。
違いは、こちらは管理ポリシーを表示するのに対して、タイトルのコマンドはインラインポリシーを表示する。今からでもいいので、「list-user-managed-policies」に変更してくれ!
~以上~
AWS S3に画像をアップロードできない
# はじめに
PHP Laravelを使ってwebアプリを開発しようとしてたところAWS S3に画像をpublicで保存をしようとしたところエラーが出てきてしまいました。
S3の設定の方で変更をすることで直すことが出来たので、そちらの方法を説明いたします。# AWS S3に画像をアップロード(エラー)
LaravelのControllerに以下のコードで保存をします。
“`
public function store(PlanRequest $request, Plan $plan) {
$input = $request[‘plan’];
$input += [‘user_id’ => $request->user()->id];
$image = $request->file(‘image’);
// S3に画像を保存
$path = Storage::disk(‘s3’)->putFile(‘/’, $image, ‘public’);
$input += [‘image’ =
AWS Cognitoを導入し、認証画面を作成してみた!
## はじめに
社内アプリを社外からでも接続できるようにしたいと要望があり、工数をあまり掛けず、簡単にAWSのサービスで認証画面を導入した際の手順を紹介します。## 環境
Amazon Cognito
>Amazon Cognito は、ウェブおよびモバイルアプリの認証、承認、およびユーザー管理機能を提供します。ユーザーは、ユーザー名とパスワードを使用して直接サインインするか、Facebook、Amazon、Google、Apple などのサードパーティーを通じてサインインできます。## 前提条件
ALBとEC2を構築済み## 手順
**1.Cognitoのコンソールを開き、「ユーザープールを作成」を押下します。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1078172/2a48e661-7c36-17ae-e9bf-924063dc5b4a.png)**2.Step1:サインインエクスペリエンスを設定**
Cognito ユーザープールのサインインオプションの「
ソリューションアーキテクト対策_EC2のAutoScalling篇
## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:## EC2のAutoScalling
### AutoScallingのプロセスについて
閾値を超えてAutoScallingが起動すると、24hはスケーリングプロセスが動作する。
24hを超えるとプロセスは停止する。### AutoScallingの種類
#### 動的スケーリング
・簡易スケーリングポリシー
通常の設定。アラーム設定に基づいて1段階のスケーリングを行う・ステップスケーリングポリシー
アラーム超過のサイズに基づいてインスタンス数を動的にスケーリングする。
1つ以上のステップ調整値を指定して、複数回の段階的なスケーリングを実施。・手動スケーリング
希望する容量を調整して、手動でスケーリングを実施する・スケジュールされたスケーリング
スケーリングをする日時を指定して、スケーリングを実行する。そのままの意味### スケーリングアクティビティ(抽象的なのでもっと調べる)
スケーリングアクティビティは、グループ
AWS EC2で既存のインスタンスのネットワークインターフェイスにもう1つのグローバルIPアドレスを割り当てる
前回はS3を使ってWebページの公開まで実施しました。
https://qiita.com/sa125sa/items/f1f22fc81e4977bfbae4しかし、前回のままだとWebページにIPアドレスが割り当てられていないため、S3の静的ウェブサイトホスティングに記載されている「エンドポイント」のURLでしかアクセスできない。
![静的URL.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684763/6ca75fe8-10a6-f901-a279-8d31424f692e.png)そこで、IPアドレスを割り当ててIPアドレスからアクセスできるようにする。
しかし、運用するWebページは同一のため、管理するインスタンスは少なくしたい。
じゃあ既存のインスタンスに複数のIPアドレスを割り当てられないのか?と考えました。### 結論から言うと、可能でした!
下記にはその経緯を記載していきます。# ElasticIPアドレスの取得
まず初めにIPアドレスを取得します。
下記の記事の「