- 1. AWSソリューションアーキテクトアソシエイト忘備録(2022/10/17日暫定版)
- 2. Amazon Location ServiceとLeafletとAWS Amplifyを組み合わせてマップアプリケーションを構築してみた
- 3. AWS マネジメントコンソールとCLI
- 4. ECS ログ出力カスタマイズ FireLens でログの出力先を分岐させてみた
- 5. 実務に向けたAWSのSAA対策①(基本的なサーバー構築)
- 6. FargateでECSを使用
- 7. ECS on FargateでRedash(v10.1.0)を構築してみた
- 8. AWS CloudFormationでS3のクロスリージョン相互レプリケーションを構築しよう
- 9. 画像を任意のフォーマット&サイズに変換するLambda関数を作成する
- 10. AWS Glue DataBrewで個人を特定できる情報 (PII) の検出と変換処理を試す
- 11. Redshift Streaming Injectionのデータ取得に失敗したときのメモ
- 12. EB CLIのセットアップスクリプトを使ってみた
- 13. AlteryxでAthenaとBigQueryに接続
- 14. 【自分用メモ】goofysでAWSのS3バケットをAnsibleを使ってマウントする
- 15. ISOファイルからVMware Cloud on AWS上に仮想マシンをデプロイしてみる (データストアに手動アップロード編)
- 16. TerraformでVPCを構築しよう
- 17. AWSコンソールでリソースが表示されない時
- 18. APIgateway+Lambda+DynamoDB でのID管理を実装する
- 19. AWS SAM CLIをbrew installしたときに発生したエラーを解決する
- 20. VPCフローログを作成にする
AWSソリューションアーキテクトアソシエイト忘備録(2022/10/17日暫定版)
※ある程度内容が増えた際に随時更新する
目的として
AWSソリューションアーキテクトアソシエイトの資格取得のため、また、知識を蓄えて案件参画時に活かせるようにしたい!!
ということで、いつでも見返せるようにまずは分野ごとに以下にまとめる(完璧に理解できているサービス以外)# ネットワーキングとコンテンツ配信
・VPC Endpoint
⇒VPC内のEC2などからAWSの各サービスにアクセスする際にインターネットへのアクセスを制限したい場合に利用することによりインターネットへのアクセス無しでAWSサービスを操作可能
・PrivateLink
⇒VPC Endpointのインターフェイスエンドポイントであり、専用のENIが作製されることによりプライベートアドレスが割り振られる
・VPC Peering
⇒VPC間の通信を確立するサービス
・AppMesh
⇒コンテナ化によってマイクロサービス化されたアプリケーションを可視化し、トラフィックを制御するサービスで、サービスメッシュによるサービス内のエラー発生時のトラフィックの再ルーティングの困難を可視化により回避できる
・G
Amazon Location ServiceとLeafletとAWS Amplifyを組み合わせてマップアプリケーションを構築してみた
![img](https://day-journal.com/memo/images/try-095_01.gif)
![img](https://day-journal.com/memo/images/try-095_02.png)
### Amazon Location ServiceとLeafletとAWS Amplifyを組み合わせてマップアプリケーションを構築してみました :tada:
事前準備
– AWS Amplifyのインストール
[AWS Amplify #001 – インストール](https://day-journal.com/memo/aws-amplify-001)
– Leafletを手軽に始めるビルド環境を利用
[leaflet-starter](https://github.com/dayjournal/leaflet-starter)実行環境
– node v18.1.0
– npm v8.8.0詳細として下記について説明します。
– [環境構築](https://qiita.c
AWS マネジメントコンソールとCLI
# 前提条件
この記事は、最初の一歩用となっております。
わかりやすくするため、説明不足な点がありますので、
詳しくは、他の記事を参照してください。# マネジメントコンソールとCLI
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883811/90b037dd-ab9b-f0c6-f1d0-cc51c6bece43.png)
ECS ログ出力カスタマイズ FireLens でログの出力先を分岐させてみた
# はじめに
[前回の記事 : FireLens の設定方法をわかりやすく整理してみた](https://qiita.com/sugimount-a/items/975dbee1478d8cf2981b) では、FireLens からログ転送を指定する方法を整理しました。ログ転送先が、1 種類で十分なときは、Amazon ECS の Task 定義の設定を変えるだけで、簡単に転送先の指定が可能です。
このように JSON で `logConfiguration.options` を指定することで、Kinesis Data Firehose 経由で S3 に保存が出来ます。
“`json
省略
“logConfiguration”: {
“logDriver”: “awsfirelens”,
“secretOptions”: null,
“options”: {
“Name”
実務に向けたAWSのSAA対策①(基本的なサーバー構築)
# この記事の対象者
AWSの認定試験を受ける方向けの記事です。
特にSAA(AWS Certified Solutions Architect – Associate)を受ける方向けの記事です。https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/
# AWSの仕組み
インフラやアプリ開発に必要な機能がオンデマンドのパーツに
サービスとして提供されています。ex)
オンプレミスがEC2サーバー
ストレージがS3サーバーの構築には時間や手間、コストがかかる
オンプレミスと比べたら数分で無料で立ち上げることができます。# サーバーを起動
まずはコンソールのホーム画面にいきます。
リージョンは東京にしてください。下の画像からサービスの横から“`EC2“`と検索してください。![スクリーンショット 2022-09-15 13.17.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com
FargateでECSを使用
#初めに
コンテナ経験がなかったが、初回ウィザードだとデフォルトの設定でECSの作成の仕方が簡単に作れるので、初歩的な内容だが備忘録として記載させていただく。# タスクの定義
タスクの定義を行う。
初回実行ウィザードだと好きなコンテナイメージでサンプルを作ることができる。
今回は`sapmple-app`を選択した。あとはデフォルト通りで作成まで進む。
※2回目以降はこのウィザードは出てこないようだ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449478/a64782ee-7695-70ab-ae05-f1f30165eb95.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449478/9e1db313-729b-86b8-9029-898d08754760.png)
![image.png](https://qiita-image-store.s3.ap-nort
ECS on FargateでRedash(v10.1.0)を構築してみた
# はじめに
Redashとは、データソースに接続・クエリ結果の抽出ができ、目的に沿ってデータやクエリ結果をダッシュボード上で自由に可視化することができるBIツール。
データソースは広くサポートしている。AWS周りでは、下記サービスがサポートされている。
– Amazon Athena
– Amazon CloudWatch
– Amazon CloudWatch Logs Insights
– Amazon DynamoDB
– Amazon Redshift# アーキテクチャ
下記コンポーネントを使い構築する(コード管理はterraformを使用)
– Redash (Web)Server/Worker -> ECS on Fargate (image: AWS CloudFormationでS3のクロスリージョン相互レプリケーションを構築しよう# はじめに
AWS CloudFormationを利用してS3のクロスリージョン相互レプリケーション構築のテンプレートのサンプルです。
東京リージョンと大阪リージョンにS3バケットを作成し、相互レプリケーションの設定をします。
S3バケットのARNを相互参照するため、一度作成した後に、変更セットでレプリケーションルールを設定します。テンプレートの概要が分からない場合は、[はじめてのAWS CloudFormationテンプレートを理解する](https://qiita.com/miyabiz/items/eb7b0fa1675b5199b9b7)を参考にしてください。
コードは[GitHub](https://github.com/miyabiz-room/CloudFormation-Template/tree/s3-02)にもあります。
今回は、akane というシステムの dev 環境を想定しています。
同じ構成で違う環境を作成する場合は、{環境名}-parameters.jsonを別途作成します。“`text:ディレクトリ構成
akane (システム)
├─
画像を任意のフォーマット&サイズに変換するLambda関数を作成する
任意のBase64にエンコードされた画像をリクエストで送るだけで、フォーマットとサイズを変換してレスポンスで返してくれるLambda関数を作成する方法です。
こういう汎用的なAPIが欲しくなる場面って割とあると思うので、すぐに作成できるように手順を残します。
## 例
変換前
![3ce943ff-a81f-45bd-ab74-6560e0d33faf.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227791/dada9250-3380-4a0f-315a-85dc1e4efd58.jpeg)変換後(100×100に収まるように設定)
![4f3654ed-8706-4854-8d5d-255548a126b3.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227791/2131673c-0a38-04fd-de63-34da1e831f50.jpeg)## ユースケース
– 画像形式もサイズも
AWS Glue DataBrewで個人を特定できる情報 (PII) の検出と変換処理を試す
GUIでデータプレパレーションができるサービス AWS Glue DataBrew を使って、個人を特定できる情報 (PII) の検出とデータマスキング変換をできます。
GitHubのaws-samplesに、S3にデータセットをアップロードすると自動的に個人を特定できる情報 (PII) を検出して、データマスキング変換した結果をS3に出力するCloud Formationsテンプレートが公開されています。
https://github.com/aws-samples/automating-pii-data-detection-and-data-masking-tasks-with-aws-glue-databrew-and-aws-step-functionsざっくりポイントをメモ
# Solution概要
– INPUTファイルとOUTPUTファイル(変換済み)はS3を利用
– S3の指定バケットにファイルをULすると、EventBridgeが検知してStep Fnctions(以下SFn)を起動する(イベント駆動)
– SFnはGlue DataBrewを利用して、PI
Redshift Streaming Injectionのデータ取得に失敗したときのメモ
# 背景・目的
RedshiftのStreaming Injectionを試していたときに、データが取得できない場合があったので検証したときのメモを残しておきます。:::note info
2022年10月15日現在、Redshift Streaming Injectionはパブリックプレビューです。
本件は、将来的に解消される可能性があります。
:::**オチとしては、[こちら](https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/materialized-view-streaming-ingestion.html)のドキュメントにかかれているとおり、KPLで集計されたレコードの解析をサポートしていないことが原因でした。**(以下に、該当箇所を載せています。)
> Redshift ストリームの取り込みでは、Kinesis プロデューサーライブラリ (KPL の重要なコンセプト) によって集計されたレコードの解析をサポートしていません. 集計されたレコードは取り込まれますが、バイナリプロトコルのバッファデータとして格納
EB CLIのセットアップスクリプトを使ってみた
eb-cliはawsのElasticBeanstalkのプロジェクトをコマンドラインから操作できるツールになります。
以前はマニュアルでインストールしたのですがインストールスクリプトが用意されていたので使ってみた記録です。
このセットアップスクリプトを使うとeb-cliを仮想環境にインストールする形になるので
他のpythonスクリプトとの競合を防ぐことができるようになるとのこと。
個人的な印象では事前準備が結構あるので手動インストールに比べて楽という印象は薄かったです。以下のサイトをベースに進めていきます。
https://github.com/aws/aws-elastic-beanstalk-cli-setup
※MacOSベースでの解説になります。
M1Mac,MacOS12.5### 参考
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/eb-cli3-install.html
# 事前準備
セットアップする前にGit,pyenv,virtualenvの3つをインストールしなければならな
AlteryxでAthenaとBigQueryに接続
# はじめに
前回はAlteryxを使ってストレージに接続しました。https://qiita.com/a_b_/items/4c58e6bf7f4761273b36
今回はAWSのAthenaと、GCPのBigQueryと接続を試してみました。
# 概要
試してみた結果は以下でした、BigQueryがどうにも芳しくなかったです。– Athena
– 入力
– 専用ツールで接続:ごく普通に取得可能
– 中身はODBC経由
– 出力
– 専用ツール
– Athenaのテーブルを都度作成
– 既にテーブルがあった場合にエラーor再作成かは選択可
– 全データ差し替え
– BigQuery
– 入力
– 専用ツール:うまくいかず…
– ODBC経由で接続可能
– 出力
– 専用ツール:うまくいかず…
– ODBC経由も、うまくいかず…# Athe
【自分用メモ】goofysでAWSのS3バケットをAnsibleを使ってマウントする
## 前提
* 環境
* AWS
* RHEL8.6
* ansible 2.9.27## やったこと
### ポリシー
“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Action”: [
“s3:GetAccessPoint”,
“s3:PutAccountPublicAccessBlock”,
“s3:GetAccountPublicAccessBlock”,
“s3:ListAllMyBuckets”,
“s3:ListAccessPoints”,
“s3:ListJobs”,
“s3:CreateJob”
],
“Resource”: “*”,
“Ef
ISOファイルからVMware Cloud on AWS上に仮想マシンをデプロイしてみる (データストアに手動アップロード編)
# 1. はじめに
セットアップしたVMware仮想環境にVMware仮想マシンをデプロイする際、ピュアなISOイメージからデプロイすることもあるかと思います。VMware Cloud on AWS環境においても、通常のオンプレミスVMware仮想環境と手順は同じです。今回は後続のブログへの参照用のためにいったんまとめてみます。
似たような手法としてコンテンツライラブリを作成する方法もあり、それについては次のブログもご参考ください。https://qiita.com/sanjushi003/items/2870c8feced5fd367604
# 2. 早速やってみる
## (1) ISOファイルの入手
#### (1)-1 まずはISOファイルを入手します。
今回はMicrosoft社のEvaluation Centerから、Windows Server 2019(評価版)をダウンロードしました。5.5GBほどのサイズだったのでダウンロードは気長に待ちます。![image.png](https://qiita-image-store.s3.ap-northeast-1.a
TerraformでVPCを構築しよう
# はじめに
Terraformを利用して、VPCを構築するテンプレートのサンプルです。Terraformのバージョンは “`v1.1.6“`とする。
コードは[GitHub](https://github.com/miyabiz-room/Terraform-Template/tree/vpc-01)にもあります。
今回は、akane というシステムの dev 環境を想定しています。
同じ構成で違う環境を作成する場合は、{環境名}のディレクトリを別途作成します。“`text:ディレクトリ構成
akane (システム)
├── common (共通テンプレート)
│ ├── network.tf (スタック)
│ ├── outputs.tf (リソースのアプトプット生成)
│ └── variables.tf (パラメータ型定義)
└── dev (dev 環境)
└── main (dev 環境のテンプレート)
├── locals.tf (dev 環境の共通パラメータ)
├──
AWSコンソールでリソースが表示されない時
# はじめに
プログラミング学習中の[@kat_log](https://twitter.com/kat__log “Twitter”)と申します。AWSコンソールにアクセスした際に、存在するはずのインスタンスなどのリソースが表示されず、何か間違って全部消えた!?と戸惑ったのですが、解決したため共有です。
![image.png](https://soco-st.com/wp-content/themes/socost/upload/11813_color.svg)
# 結論
リージョンの切り替えが必要でした。# 設定前
リソースが何も表示されていません…!
![Screenshot 2022-10-16 120549AWS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1455073/7b12a101-bf2b-f09b-3241-83844348d248.png)# 設定
右上から設定できます!
どのリージョンにリソースが存在するかは、リソースの作成段階?に指定しているのではと思い
APIgateway+Lambda+DynamoDB でのID管理を実装する
# 目的
AWSでよくある構成として APIgateway+Lambda+DynamoDBのサーバレスな構成があります。
ただこの時に、DynamoDBでは連番の管理ができない(id1の次は2のidをつけるみたいな)
そのため、DynamoDB側でテーブルを二つ用意してあげる必要があります。
+ データを格納テーブル(例: id,名前,email,時刻など)
+ 連番を管理するテーブル(上記のidの部分をカウントするようのテーブル)そのためLambdaでカウントするようなコードの書き方になってきます。
前提としてLambda,APIgateway,DynamoDB間のAMIの権限周りは既にクリアした前提とします。
# やったこと
今回は、Lambdaのコード周りでハマりまくったので
備忘録的な感じでコードだけとりあえず貼っておきます。
“`ruby:
import json
import boto3
import base64
import time
import decimal# DynamoDBオブジェクト
dynamodb = boto3.resource(‘dynam
AWS SAM CLIをbrew installしたときに発生したエラーを解決する
# 前提
以下のURLの手順に沿ってAWS SAM CLIをインストールしたときにエラーでハマりました。https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install-mac.html
# 環境
– macOS: 12.6# エラー内容
実行したコマンドはこちらです。
“`console
brew install aws-sam-cli
“`そしてこれがエラー内容です。
“`console
Error: python@3.8: the bottle needs the Apple Command Line Tools to be installed.
You can install them, if desired, with:
xcode-select –installYou can try to install from source with:
brew install –build-fro
VPCフローログを作成にする
# CloudWatchのロググループを作成する
AWSマネジメントコンソールにログインしてください。
CloudWatchのダッシュボードを表示してください。左メニューの[ログ]-[ロググループ]をクリックしてください。
![スクリーンショット 2022-10-16 5.50.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/cecd4264-e84d-5df9-fe0e-04dbc1f4a361.png)ロググループのページが表示されます。
[ロググループを作成]をクリックしてください。
![スクリーンショット 2022-10-16 5.54.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/1f26a63d-a5ed-78fd-c767-6c2bb34647b5.png)ロググループを作成ページが表示されます。
[ロググループ名]にお好きな名前を入力し、[作成]をクリックして