- 1. AWS 操作練習 ElasticIPの登録
- 2. Firehoseのレコード出力の設定をCDKで構築する(改行の区切り文字/動的パーティショニング)
- 3. qiita2review をインストール
- 4. SageMaker TrainingにおけるDockerイメージとConda環境の最適化
- 5. 【AWS】EventBridgeがEC2を自動停止しなくなった
- 6. Windowsで作成したLambdaレイヤーで”Unable to import module”エラーが発生した場合の対処(の一つ)
- 7. 【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part3
- 8. 2021年頃に設定していたCloudWatchの請求アラームが動かなくなっていた
- 9. AWS CLIを使用するためのconfigure設定方法
- 10. CloudFormationでElastiCache Serverlessのエンドポイントを取得する
- 11. 【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part2
- 12. AWS 上に Re:VIEW 環境を構築する (Ubuntu22.04 + Re:VIEW5.8)
- 13. VPCフローログとは??の備忘録
- 14. TerraformでDocumentDBの初期設定を行う
- 15. troccoを使ってAWS Cost ExploreからBigQueryへデータ連携する
- 16. 【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part1
- 17. 【Amazon RDS】コミュニティサポート終了期間とRDS標準サポート終了期間の違い
- 18. Auroraテストデータ作成
- 19. 【Laravel】マルチパートアップロードを使って動画をS3へアップロードする
- 20. 静的WEBサイトにCloud Frontを設置する
AWS 操作練習 ElasticIPの登録
# 概要
AWS で GitLabサーバーを構築した.
しかしずっと立てているのはもったいない,時間指定で立てることにする.
その時,立てるたびにIPが変わってしまう問題に直面ElasticIPを使用して,その問題を解決しよう.
# 前提条件
Webサーバー等(今回はGitLabサーバー)など,サーバーがAWS上にある.## あああ
ElasticIPをを割り当てる.(とりあえず初期設定でよい)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1505183/ced6f4a5-b2bd-f85a-3a58-ddf70bcdf988.png)割り当てられました!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1505183/dabc89c9-1b13-d8ae-e6b3-3f38951a5efb.png)「ElasticIPアドレスの関連付け」から,EC2インスタンスに関連付
Firehoseのレコード出力の設定をCDKで構築する(改行の区切り文字/動的パーティショニング)
# 背景
Firehoseでは、1行1レコードとして出力したり、Lambdaで1レコードごとに処理するためには、追加での設定が必要です。
画面からだと簡単に設定できますが、CloudFormationおよびCDKでは、設定方法が直感的とは言い難いです。この記事では、CDKのみを使用して、こちらの画像の状態にする方法を紹介します。
![スクリーンショット 2024-01-18 8.52.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3468968/31379ea2-7606-ab85-f8e2-dc3593f89f88.png)
## 設定項目解説
### New line delimiter/改行の区切り文字
設定することで、各レコードが1行ごとに出力されます。“`json
{“id”:1}
{“id”:2}
“`
JSONL形式になるため、後続の処理でS3から取り出した時に処理しやすくなります。#### 設定しない場合に困ること
これを設定しないと、いわゆるJSONL形式では
qiita2review をインストール
# qiita2review
https://github.com/nanbuwks/qiita2review
「qiita2reviewの使い方」
https://qiita.com/nanbuwks/items/5625acb49580084696c5「Re:VIEW を apache で動かす」
https://qiita.com/nanbuwks/items/dd15819ec7798a9eca7bで紹介した、マルチユーザーで記事を執筆してPDF本を作るオンラインシステムをインストールする説明です。
# 環境
– Ubuntu 22.04 LTS
– Re:VIEW 5.8「AWS 上に Re:VIEW 環境を構築する (Ubuntu22.04 + Re:VIEW5.8)」
https://qiita.com/nanbuwks/items/653dda3993ebc23e6081
でインストールした環境です。# 下準備
まず、Webサーバで動作させるために apache と php をインストールします
“`
$ sudo apt insta
SageMaker TrainingにおけるDockerイメージとConda環境の最適化
# はじめに
以前、以下の記事でDockerコンテナ内にConda環境を設定し、Amazon SageMakerでのトレーニングを実行する手順を書きました。https://qiita.com/suzuki0430/items/47228a8af26ccb4a88a2
また、以下の記事では、デバッグ環境(EC2/Deep Learning AMI)とトレーニング環境(SageMaker)で環境を一致させるために、condaの設定ファイル`environment.yml`をデバッグ環境から書き出して、それを使ってトレーニング環境のDockerイメージを構築しました。
https://qiita.com/suzuki0430/items/0bda6a04019cef2eb319
DockerのベースイメージにSageMaker Training用のイメージを選択した結果、ベースイメージと`environment.yml`のライブラリの重複が原因で、11 GBくらいの巨大なイメージが生成されてしまいました。
当時はとりあえず早く学習を回したい!という気持ちだったので、そのコンテナイ
【AWS】EventBridgeがEC2を自動停止しなくなった
## EventBridgeに登録したEC2が自動停止しない!!
EventBridgeにEC2の夜間自動停止をスケジュールしていたはずなのに、停止しなくなっていたことに気づきました。
以前は大丈夫だったのに!無駄金かかっているじゃん!なぜだ!?ハマったので供養のため残しておきます。
## (今回の)結論
ターゲットのInstanceIdsに、終了済(削除済)のインスタンスが含まれていたためでした。
画像の赤枠のインスタンスは存在しませんでした。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620254/f26ab6e9-9756-552a-840e-a1bff8ede633.png)
インスタンスごとにスケジュールを登録するか、エラーを監視するのが良さそうです。
## 調べたこと
* とりあえず目の前で実施し、自動停止が動いていないことを確認
* ターゲットが正しいか
* ロール/ポリシーが正しいか
* CloudTrailのログ確認 ←さらっとエラーコードが出力されて
Windowsで作成したLambdaレイヤーで”Unable to import module”エラーが発生した場合の対処(の一つ)
ローカルのWindows環境で外部ライブラリの動作確認をした後に、脳死で`pip install -t`してLambdaレイヤーを作成したらLambdaで以下のエラーが発生した際の調査メモ。
※他の原因(循環参照)でも同じエラーが発生するようなのでどちらが原因かは適宜判断`[ERROR] Runtime.ImportModuleError: Unable to import module’lambda_function’: cannot import name ‘xxx’ from partially initialized module ‘xxx’ (most likely due to a circular import)
`# 環境
– ローカル環境:Windows
– Lambda:Python# 原因
そのまま書いてありました。
要はライブラリにバイナリを含む場合は、インストール時の環境(Windows)とLambda実行環境(Amazon Linux)の差異でエラーになるようです。> NumPy や pandas などのコンパイル済みコードを含む Pytho
【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part3
# 概要
この記事ではAWS認定DASに出題されるリソースを使った構成をシリーズ化して紹介します。
前回までの内容は以下をご覧ください!
[【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part1](https://qiita.com/mcen/items/24f20be7a3094dfef6a0)
[【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part2](https://qiita.com/mcen/items/7d978203ef22412309f2)# 今回の実施内容
前回Part2の内容を行いました。今回はGlueの設定を行います。
* Part1
* JSONのダミーデータの作成
* S3バケットの作成
* Part2
* Lambda作成
* S3イベントとLambdaの連動
* Part3
* Glueの設定
* Part4
* Athenaの設定
* Part5
* Quicksightでの可視化## AWS Glueとは?
AW
2021年頃に設定していたCloudWatchの請求アラームが動かなくなっていた
## はじめに
私は2021年頃からAWSの個人学習用アカウントを作成してたまに触っているのですが、アカウント作成当時に設定したアラーム設定が動作していなくて焦ったので残しておこうと思います。## 結論
2021年頃にマイ請求ダッシュボードの設定とCloudWatch、SNSから請求アラームを設定していた方は見直しが必要かもしれません。
CostExplorer画面の確認、CloudWatchで過去に作成したアラームの状態を確認しましょう!
そして **予算を設定して請求アラート** 、**CloutWatchで請求アラーム** が出るようにしましょう!## 気づいたきっかけ
先月Amazon Qのハンズオンを行い、リソースが空の場会のAmazon Qの料金が気になったので一か月程度放置してみようと思い放置し、そのまま忘れていたのを思い出してマネジメントコンソールを確認したところ以下のように表示されていました。![スクリーンショット 2024-01-25 175423.png](https://qiita-image-store.s3.ap-northeast-1.amaz
AWS CLIを使用するためのconfigure設定方法
CLIを利用するときにConfigureの設定方法をよく忘れるので備忘で残す。(実施した環境はWindows)
### 0.事前準備するもの
CLIを実行するためのIAMのアクセスキー### 1.初期設定(スイッチロールなし版はこの手順だけでOK)
defaultのままでよいとき
aws configure
プロファイルを利用するとき(IAMが複数ある場合などはプロファイルを作ってわける)
aws configure --profile "プロファイル名"
入力項目。準備したIAMのアクセスキーとシークレットキーを入力する
AWS Access Key ID [****************xxxx]:
AWS Secret Access Key [****************xxxx]:
Default region name [None]: ap-northeast-1
Default output format [None]: json### 2.スイッチロールする場合のconfig修正
手順1でプロフ
CloudFormationでElastiCache Serverlessのエンドポイントを取得する
**2024/1/25時点の現象です。将来的にドキュメントが更新されると思われます。**
# 結論
`Endpoint.Address`で取得できました。
“`
!GetAtt ServerlessCacheCluster.Endpoint.Address
“`# 何が問題だったか
ドキュメントでは一応Addressというプロパティが用意されているかのように記述されていますが、実際にスタックを更新しようとするとエラーになります。“`
Fn::GetAtt
Address
Property description not available.
“`https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#aws-resource-elasticache-serverlesscache-return-values-fn–getatt
【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part2
# 概要
この記事ではAWS認定DASに出題されるリソースを使った構成をシリーズ化して紹介します。
前回までの内容は以下をご覧ください!
[【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part1](https://qiita.com/mcen/items/24f20be7a3094dfef6a0)# 今回の実施内容
前回Part1の内容を行いました。今回はLambda関連の設定を行います。
* Part1
* JSONのダミーデータの作成
* S3バケットの作成
* Part2
* Lambda作成
* S3イベントとLambdaの連動
* Part3
* Glueの設定
* Part4
* Athenaの設定
* Part5
* Quicksightでの可視化## Lambda作成
S3バケット「**transbucket-2024**」のinputフォルダにアップロードしたjsonファイルを
csvファイルに加工後、outputフォルダに格納するLambdaを作成していきます。
AWS 上に Re:VIEW 環境を構築する (Ubuntu22.04 + Re:VIEW5.8)
「AWS上にRe:VIEW環境を構築する」
https://qiita.com/nanbuwks/items/da9136f1b6f789aaffcf
では、Ubuntu 16.04 AMD64 上に Re:VIEW Ver.2系「AWS上にRe:VIEW環境を構築する (Ubuntu20.04 + Re:VIEW5.3)」
https://qiita.com/nanbuwks/items/33bcb7826be567f882f4
では、Ubuntu 20.04 AMD64 上に Re:VIEW Ver.5系今回は、2024年01月25日現在に使える組み合わせで構築を試しました。
特に問題はなかったのだけれど、インストールできたというエビデンス。# 環境
– AMAZON AWS t2.micro
– 1VCPU
– 1GIB
– EBS のみ
– Ubuntu 22.04 AMD64
– Ruby 3.0.2# 事前準備
“`
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install build-
VPCフローログとは??の備忘録
### AWS公式説明
VPC フローログは、VPC のネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報をキャプチャできるようにする機能です。#### 初見の個人的見解
ほ〜ん。VPCを介しているネットワークを監視して、何をしているのかを見てるのね。#### 主な監視対象
トラフィックの送信元と送信先
通信のポートとプロトコル
パケットおよびバイト数
通信の開始および終了時刻
アクション (許可→ACCEPT, 拒否→REJECTなど)#### 監視対象範囲
VPCフローログが監視できる範囲は、
・VPC内部
・異なるVPC間以上となります。
ここは、違う、ここはこうじゃない?等々ございましたらご指摘いただけますと幸いです。[VPC フローログを使用した IP トラフィックのログ記録](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs.html)
TerraformでDocumentDBの初期設定を行う
# 経緯
業務でDocumentDBに触れる機会があったので書いてみます。
インフラ構築はCloud9上でTerraformを使用して行ないました。
DocumentDBはmongoDB互換DBであり、スキーマレスにデータを保存することができます。
ただいくらスキーマレスとはいえある程度の制約を持たせたいユースケースもあります。
(studentsコレクション中のドキュメントには生徒名、学年を必須にする、など)
そのような場合は以下公式ドキュメントを参考に制約を設けることができます。
https://www.mongodb.com/docs/v5.0/core/schema-validation/業務上のユースケースにおいても制約を設けたかったので、DocumentDBの作成後にDB及びコレクションを作成し、制約を持たせる初期設定を行いました
# 結論
踏み台EC2を作成し、SSHトンネリング後、shファイルを実行しました。
というのも今回はVPCも新規作成して、その中にDocumentDBを作成したため、Terraformを実行しているCloud9からはDocumentDBにア
troccoを使ってAWS Cost ExploreからBigQueryへデータ連携する
今回troccoというSaaSを使って、AWS Cost Exploreの情報をBigQueryへ連携する方法について紹介します。
フリーランスでの案件獲得のため、下記の記事を元に実施して見ました。
これらの記事ではtroccoとAWS,GCPを接続する際のAWS,GCP側の設定についての記載が少なかったので、ここではそれらに焦点を当てて説明いたします。AWS Cost Explorerのデータをtrocco®でGoogle BigQueryへ統合し、Looker Studio(旧:Googleデータポータル)で可視化する
https://qiita.com/hiro_koba_jp/items/a7620585cd7e53ed42d5### AWS Cost Explore → trocco → BigQuery
というようにデータの連携を行いますが、そのために必要な手順は以下の通りです。
[手順]
1、AWSにおいてCost Exploreの権限を持つユーザーを作成し、アクセスキーを設定
2、GCPにおいてBigQueryへのデータ転送を行うAPIキーを発行
3、troccoにおいて1
【AWS DAS】S3上のデータをQuicksightで可視化するまでやってみた Part1
# 概要
この記事ではAWS認定DASに出題されるリソースを使った構成をシリーズ化して紹介します。# はじめまして!
AWS認定DASの資格学習として出題サービスを使用した構成を組んでみようと思い
初投稿をしてみました。
私自身の経歴はインフラエンジニアとして2年半設計構築に携わってます。
SAAの資格学習時(昨年取得出来ました!)に実際に携わったことのあるサービスに関しては理解度が格段に上がることを実感したためこのような取り組みを行っております。# 実現したい構成
早速ですが実現したい構成は以下です。
作成リージョンはap-northeast-1とします。
>①JSONファイルをS3(inputフォルダ)にアップロード
②S3にJSONファイルがアップロードされたことをトリガーにLamb
【Amazon RDS】コミュニティサポート終了期間とRDS標準サポート終了期間の違い
AWSのRelational Database Service(RDS)を利用する際、データベースのサポートポリシーを理解することは非常に重要です。
特に、コミュニティサポート終了期間とRDS標準サポート終了期間の違いを把握することは、セキュリティと運用の効率に直結します。## コミュニティサポート終了期間(Community Support End of Life, EOL)
コミュニティサポート終了期間は、オープンソースのデータベースプロジェクト(例:MySQL、PostgreSQL)のコミュニティがそのバージョンのサポートを終了する時期を指します。
この時期が過ぎると、新機能の追加やセキュリティパッチの提供が行われなくなります。
AWS RDSはこれらのバージョンを利用しているが、直接的にはAWSの管理下にはありません。## RDS標準サポート終了期間(RDS Standard Support End of Life, EOL)
RDS標準サポート終了期間は、AWSが特定のRDSデータベースエンジンバージョンに対して提供するサポートの期間です。この期間内、AWSはセキ
Auroraテストデータ作成
# 概要
Auroraでテストデータを作成した際のメモ## 作成方法
pythonで下記を実行
“`
import mysql.connector
from datetime import datetime# MySQL接続情報
db_config = {
‘host’: ‘host名’,
‘user’: ‘ユーザー名’,
‘password’: ‘パスワード’,
‘database’: ‘DB名’
}# MySQLへの接続
connection = mysql.connector.connect(**db_config)
cursor = connection.cursor()# データ生成と挿入
start_time = datetime.now()
insert_query = “INSERT INTO `user` (`user_id`, `huga_id`, `created_at`) VALUES (%s, %s, %s)”for i in range(10001, 100001):
data = (i, i,
【Laravel】マルチパートアップロードを使って動画をS3へアップロードする
## はじめに
この記事が私の初投稿になります。
アウトプットの機会を増やしていくため、継続的に記事を書いていこうと思います。今回は実際の業務で苦戦した「マルチパートアップロードを使用したAWS S3へのファイル保存」についてです。
この辺のトピックはネットの情報が古かったり有益な情報に出会えなかったため、私と同じような状況の方の手助けになれば幸いです。また間違いなどがございましたら、ご指摘のほどよろしくお願い致します。
## 背景
私が業務でS3を使用した背景ですが、以下のような理由から採用することにしました。
※S3の詳細は割愛しますが、サーバーとは別のところにファイルを保存したい場合に使用するドライブみたいなものですかね!(ざっくりしすぎかな、、、)* 容量が1GBを超える動画コンテンツを扱うため
* S3に置いたコンテンツはCloudFront(詳細は[公式](https://aws.amazon.com/jp/cloudfront/)を参照してください)経由で高速でアクセスできるため## 実行環境など
* PHP8.2
* Laravel10
* MySQL
静的WEBサイトにCloud Frontを設置する
# 《目的》
前回S3の静的ウェブサイトホスティングを有効にして、独自ドメインを割り当てたWEBmサイトを公開しました。そこにCloud Frontを追加で設置して、下記の構成にしたいと思います。
![スクリーンショット 2024-01-24 13.09.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570384/e9001430-aed6-eb2b-d33c-f6bd218ea2a3.png)# 《まとめ》
想定していた以上にハマって時間がかかったポイントのみ記載。#### 1. S3バケットの設定
AWS公式には下記の注意事項がありました。
> オリジンアクセスコントロール (OAC) を作成して設定する前に、Amazon S3 バケットオリジンを持つ CloudFront ディストリビューションが必要です。このオリジンは、ウェブサイトエンドポイントとして設定されたバケットではなく、通常の S3 バケットである必要があります。S3 バケットオリジンを使用した CloudFron