- 1. [AWS]データベースサービスのエンドポイントまとめ
- 2. 【試験対策/SAA-C03】ソリューションアーキテクト-アソシエイト取得までのロードマップ
- 3. ゼロETLについて調べてみた
- 4. AWSを使ってると出てくる様々なログを整理して分析したい
- 5. 【Django x AWS】Codebuildの環境変数を使ってビルドを行う方法
- 6. Amazon Linux 2023を手元のHyper-V上で起動してみた
- 7. モノリシック(monolithic)とは??
- 8. 階層型ストレージとは ?? の備忘録
- 9. 管理者不在な AWS Cloud9 環境への権限付与を依頼されたら
- 10. CloudScapeとReactでAWS風のWebサイトを作ってみました
- 11. 【aws cli】cloudformationスタックの作成と更新
- 12. AWS EC2でNode.jsを自動起動
- 13. AWS SAP-C02 にSpecialtyを受けてから挑戦するメリット
- 14. 【aws cli】lambda関数の作成とデプロイ
- 15. Fargate上のGitLab起点でGitOpsを実現するパターンのまとめ
- 16. AWSロードバランサーとターゲットグループの制御方法
- 17. AWS EC2インスタンスの自動起動停止の制御手法
- 18. CloudWatchアラームの状態変化でLambdaアクションが実行できるようになりました
- 19. AWS認定ソリューションアーキテクト – プロフェッショナル更新時の記録
- 20. 新年なのでLLMとのチャットアプリをイチから作ってみた③仕上げ
[AWS]データベースサービスのエンドポイントまとめ
# はじめに
AWSの各種DBサービスには接続用のエンドポイントを複数持つものがあります。本記事で一番にお伝えしたいのは、**適切なエンドポイントを接続先に指定しないと、サービス停止などのリスクがある**ということです。
例えば書き込みオペレーションが発生するアプリケーションの接続先を **”プライマリインスタンスのインスタンスエンドポイント”** に指定した場合、何が起こるでしょう。
指定した当初はアプリケーションからの書き込み処理はプライマリインスタンスにルーティングされるため正常に実行されます。
しかし、なんらかの理由でフェールオーバーが発生しプライマリとレプリカが入れ替わった場合、アプリケーションは書き込み処理をレプリカインスタンスにリクエストしてしまうことになります。
その結果、書き込み処理は失敗しアプリケーションエラーが発生、サービス停止といった事態になりかねません。
どのDBにどのようなエンドポイントがあるか、よく確認しておくようにしましょう。# 各DBサービスのエンドポイントタイプ
※インスタンス、ノードが1台のスタンドアロン構成の場合は省略します#
【試験対策/SAA-C03】ソリューションアーキテクト-アソシエイト取得までのロードマップ
# 今回のお話
AWSの知識を身につけるために、
ソリューションアーキテクト-アソシエイトを取得したので、
取得までどのような勉強をしたか記録として残しました。AWSの経験としては、
データエンジニアとしてデータパイプラインを構築するのに、
半年ほど実務経験がある程度でした。参考にしていただけると幸いです。
# 学習方法
色々な教材を組み合わせて学習をしました。
書籍やUdemyの模擬テストや、無料で公開されている教材を活用しました。
## メイン教材紹介
主に以下の教材を使用して、学習しました。### 書籍
まずは、下記の書籍を一読してインプットを行いました。そして、付属の模擬試験を2回ほど解きました。
1回目は半分も正解できませんでしたが、2回目は7~8割程正解することができました。https://book.impress.co.jp/books/1122101088
### Udemy
次に、試験問題に慣れるためにUdemyの以下の模擬問題集に挑戦しました。
模擬問題集の中の以下の模擬問題を繰り返し解きました。* SAA-C03版模擬試験①
* S
ゼロETLについて調べてみた
# はじめに
こんにちは。
先日、AWSの最新情報について調べることがあり、そこで「ゼロETL」に関する情報が多くありました。
ゼロETL…?恥ずかしながら初めて聞いた単語でした…
ただ調べるだけだと味気ないのとアウトプットしたほうが頭に残りやすいと思うので、記事にしました。
※個人的な備忘録に感じに近いですがご了承ください。# ETLとは?
ゼロETLの話をする前にそもそもETLとは何なのかも知らなかったので、ETLのことから調べてみました。
ETLとはExctact(抽出)、Transform(変換)、Load(格納)の略語で、データ統合時に行う各工程の頭文字をとったものです。* Exctact(抽出):様々なデータソースからデータを抽出する。取り出すデータの構文を解析して、対象データかどうか判別する。
* Transform(変換):抽出したデータをターゲットに書き出すために変換する。
* Load(格納):変換したデータを書き出して格納する。![スクリーンショット 2024-01-07 111902.png](https://qiita-image-s
AWSを使ってると出てくる様々なログを整理して分析したい
# はじめに
この記事はDevOps on AWS大全 実践編の一部です。
DevOps on AWS大全 実践編の一覧は[こちら](https://qiita.com/tech4anyone/items/c27e74f9ae569ced259f)。この記事ではAWSを使ってると出てくる様々なログを整理して分析するアーキテクチャを決める流れを解説しています。
具体的には以下流れで説明します。
– 解決したい課題の整理
– 今回使うAWSサービスの整理
– アーキテクチャの策定
– 策定したアーキテクチャで達成できたことAWSの区分でいう「Level 400 : 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル」の内容です。
# この記事を読んでほしい人
– DevOpsエンジニアがアーキテクチャを決めるときにどのような思考フローを踏んでいるか知りたい人
– AWSを使ってると出てくる様々なログを整理して分析するアーキテクチャを知りたい人
– AWS Certified DevOps Engineer Professionalを目
【Django x AWS】Codebuildの環境変数を使ってビルドを行う方法
# 概要
AWS Codebuildで設定できる環境変数を使って、ビルド時にDjangoアプリ側へ変数を渡してあげる方法を紹介します。# 前提
まず、Codebuild関連では環境変数の設定方法が2つあります。①AWS CodePipelineのBuildステージでの環境変数
“`
CodePipeline -> 編集する -> ステージを編集する -> 鉛筆マーク -> 環境変数
“`②AWS CodeBuildプロジェクトでの環境変数
“`
CodeBuild -> ビルドプロジェクト -> ビルドの詳細 -> 「環境」編集 -> 追加設定 -> 環境変数の追加
“`今回は①の方で設定しています。
※上記設定手順について、以前書いた詳細な記事はこちら:
[【AWS】CodePipelineからCodeBuildの環境変数を設定した場合の確認方法](https://qiita.com/Ryo-0131/items/d9cf7004567952e69cb9)AWS CodepipelineのBuildステージの環境変数は以下の通りです。
![imag
Amazon Linux 2023を手元のHyper-V上で起動してみた
こんなニュースを目にしました。
https://aws.amazon.com/about-aws/whats-new/2023/12/amazon-linux-kvm-vmware-images-al2023-3/
Amazon Linux 2023のKVMとVMWareのイメージをアップデートしたよ という内容です。
Amazon Linux 2でVMイメージが提供されていることは知っていたのですが、Amazon Linux 2023でも用意されていたのですね。
## いつ使う?
Amazon Linux 2023はコンテナイメージも提供されているので、最近は仮想サーバーの出番は減ってきています。ただ、どうしてもEC2で動かさないといけないアプリもまだまだありますので、検証環境としての活用できると思います。
—
私の普段Windows環境を使っているのですが、Hyper-V向けのイメージは提供されていません。
形式を変換することで起動させることができましたので、方法を紹介します。## 手順
1. VMイメージをダウンロードする
バージョン20
モノリシック(monolithic)とは??
### ITにおける意味
ソフトウェア設計の際、部分的に分割をせず、全て同一のモジュールとして作り上げることをモノリシックな設計と言います。### 雑学
モノリシックの対義語はマイクロです。
モノリシックアーキテクチャーになっています。っという使い方をする。
階層型ストレージとは ?? の備忘録
### 階層型ストレージとは?超簡単にいうと、、
よく利用されるデータは高性能なストレージで利用。(例えばSSD)
利用頻度が低いデータは低性能かつ低コストなストレージ(例えばHDD)に移動させることによってコスト効率よく運用するストレージのこと。#### 階層型ストレージ詳細説明
階層型ストレージでは、利用頻度やアクセスパターンに基づいてデータを異なる階層のストレージに配置することで、コストとパフォーマンスを最適化します。頻繁にアクセスされるデータは高性能なかつ高コストなストレージに配置し、アクセス頻度が低いデータは低性能かつ低コストなストレージに移動させることで、リソースを効果的に利用できます。#### AWS Systems Manager のパラメーターストア
パスワードやAMIの設定データ管理と機密管理のための安全な階層型ストレージを提供しています。
管理者不在な AWS Cloud9 環境への権限付与を依頼されたら
# はじめに
皆さんの会社で AWS Cloud9 は活用されていますでしょうか。
弊社でも幾つかのシステムで AWS Cloud9 を開発環境として採用しています。
便利ですよね。AWS Cloud9。ところで、そんな中に **管理者不在の AWS Cloud9 環境** は存在していないでしょうか。
ここでいう管理者不在とは…– 環境を作った人が既に退職している :scream:
– 環境を作った人が休職中ですぐに連絡がつかない:cold_sweat:
– 環境を作ったIAMユーザを削除してしまった :ghost:といった開発環境の事を指しています。
今回はそんな AWS Cloud9 に対して権限を付与して欲しいと依頼され、
少し困った際の対応方法について記載していきます。# 管理者不在の AWS Cloud9 環境とは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1734719/f5ef0481-908d-8ac7-9894-53b01bacd058.pn
CloudScapeとReactでAWS風のWebサイトを作ってみました
# やりたいこと
AWSのマネジメントコンソールのような、サイト画面を作りたい~前回は以下の記事通り、CloudScapeを入れてみたが、
https://qiita.com/curlneko/items/c062eed59e2f077f8915
今回は画像のように、もっとまじめな画面レイアウトを作りたいと思います~
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538617/77af1426-35b1-aefe-c899-a2169b2a8ba4.png)# ディレクトリ構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538617/5fee6c57-03a5-466b-a4ee-a8aeaddfd423.png)主にReactアプリ生成時に作られたディレクトリとファイルですが、
今回ディレクトリを変えずに、index.jsの修正とLayout.jsの作成、機能別
【aws cli】cloudformationスタックの作成と更新
## aws cliを使用したcloudformationスタックの作成手順
こんにちは。今回は、aws cliについて初心者エンジニアに向けて、cloudformationスタックの作成と更新方法について解説します。
aws cliとは、aws command line interfaceの略で、コマンドラインからawsの各種サービスを操作するためのツールです。cloudformationは、awsのサービスの1つであり、インフラストラクチャをコードとして扱うことができるサービスです。このcloudformationスタックをaws cliを使用して作成および更新する方法について説明していきます。
### 手順1: cloudformationテンプレートの作成とパラメータの設定方法
まずは、cloudformationテンプレートを作成しましょう。cloudformationテンプレートは、スタックを作成するための設計図のようなもので、yamlまたはjson形式で記述します。
以下のサンプルコードは、ec2インスタンスを作成するcloudformationテンプレートの一
AWS EC2でNode.jsを自動起動
# はじめに
Node.jsで作成したWebRTCのSignaling ServerをAWS EC2(Amazon Linux 2023)で自動実行する際に課題に直面しました。
その解決手順を以下にまとめました。
読んでいただいた方が少しでも参考になれば幸いです。# こんな人に読んでほしい
– EC2+Node.jsを使った環境を構築したい方
– AWSを学びたい方# 前提条件
– EC2+Node.js環境が作成済であること# やりたいこと
~~~php:Node.jsの手動実行の例
$ node signaling_server.js
~~~
これをEC2インスタンス起動時に自動実行する。# EC2のユーザーデータ作成手順
①EC2インスタンスを停止する。②EC2インスタンスから「アクション」-「インスタンスの設定」-「ユーザーデータを編集」を実行する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3659381/2283633d-e7f1-b235-bc6c-
AWS SAP-C02 にSpecialtyを受けてから挑戦するメリット
# AWS SAPに受かりました。
2023/12/26 SAP-C02に合格しました。
一方で、夏ごろ受けた際は落ちていて、**Specialtyをいくつか受けてからSAPを取る**と戦略を変えての成果です。
結論として、この戦略は効果的でした。
SAPに挑戦する方の参考になれば幸いです。
本Qiitaでは、どのようにSAP取得にSpecialty取得が役立ったかを説明します。一言で言うと、**直前の対策範囲を特定の分野にフォーカスできる**、ということにあります。
また、**関連して、エラーバジェットという考え方や、他のメリットについても紹介していきます。**# 夏はどのようにして挑んでいたか。
SAPの対策本の問題を全て解き、暗記する。
公式の過去問を解いて挑む。
→落ちました敗因は以下でした。
**対策が浅い**。広く深い対策が必要ゆえに、
時間がない直前、広さも深さも中途半端になり敗北しました。# DBSに受かる
DBSの対策本を全て解き、暗記する。
公式の過去問を解いて挑む。
→受かりました。これは狭く、深くなので、深さが合格の深さに届きました。
【aws cli】lambda関数の作成とデプロイ
## aws cliを使用したlambda関数の作成手順
こんにちは。今回は、aws cliについて初心者エンジニアに向けて、lambda関数の作成とデプロイについて解説します。
### aws cliとは
aws cli(command line interface)は、awsのリソースやサービスをコマンドラインから操作するためのツールです。aws management consoleを使用せずに、ターミナル上でawsの操作が行えるため、効率的にawsリソースを管理することができます。
### aws cliのインストール
まずは、aws cliをインストールしましょう。インストール方法は、公式ドキュメント(https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)を参考にしてください。
### lambda関数の作成
aws cliを使用して、lambda関数を作成する方法を説明します。
#### ステップ1: 関数の作成
以下のコマンドを実行して、lambda関数
Fargate上のGitLab起点でGitOpsを実現するパターンのまとめ
# はじめに
この記事はDevOps on AWS大全 実践編の一部です。
DevOps on AWS大全 実践編の一覧は[こちら](https://qiita.com/tech4anyone/items/c27e74f9ae569ced259f)。この記事ではFargate上のGitLab起点で起動するCICDパイプラインのアーキテクチャのまとめを解説しています。
具体的には以下流れで説明します。
– 解決した課題の整理
– アーキテクチャの策定
– 策定したアーキテクチャで達成できたことAWSの区分でいう「Level 400 : 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル」の内容です。
# この記事を読んでほしい人
– DevOpsエンジニアがアーキテクチャを決めるときにどのような思考フローを踏んでいるか知りたい人
– Fargate上のGitLab起点で起動するCICDパイプラインのアーキテクチャを知りたい人
– AWS Certified DevOps Engineer Professionalを目指している人
AWSロードバランサーとターゲットグループの制御方法
## 概要
AWSで動的な拡張環境を構築した経験があります。Pythonを使用して、AWSロードバランサーとターゲットグループを制御するためのモジュールを作成しました。EC2の動的な制御に関する詳細は、以下の記事をご参照ください。
[AWS EC2インスタンスの自動起動停止の制御手法](https://qiita.com/SimonLee/items/6123e8d88b4e71b363c6)
## ソース
“`
import sys
import os
import traceback
import boto3def to_exception_detail(exception, includes_trace=False):
“””
概要: 例外の詳細情報を整形して返す関数
引数:
– exception: 例外オブジェクト
– includes_trace: トレースバック情報を含むかどうかのフラグ
戻り値: 整形された例外詳細情報の文字列
“””
exc_type, exc_obj, exc_tb
AWS EC2インスタンスの自動起動停止の制御手法
## 概要
AWS EC2インスタンスを利用しています。費用を節約するために、PythonでEC2インスタンスを自動起動停止のモジュールを作成しました。
## ソース
以下のスースを作成しました。
“`
import boto3
import os, sys, tracebackec2_instances = None
dict_instance_names = {}
dict_instance_ids = {}def to_exception_detail(exception, includes_trace=False):
exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
lineno = exc_tb.tb_lineno
trace = traceback.format_exc() if includes_trace else ”
return ‘at [{0}]({1}:
CloudWatchアラームの状態変化でLambdaアクションが実行できるようになりました
# ■概要
CloudWatchアラームのステータス変更が起きた際の地味アプデを見かけたので書いてみます。
アラームの状態が変移した際にAWS Lambdaを指定できるというものです。Amazon CloudWatch alarms adds AWS Lambda as an alarm state change action
https://aws.amazon.com/about-aws/whats-new/2023/12/amazon-cloudwatch-alarms-lambda-change-action/# ■CloudWatchアラームのアクションについて
cloudWatchアラームを設定する際、閾値に引っかかった時の動作を決定できます。
アクションとして、例えばよく使いそうなものだと、前もってSNSトピックにメールアドレスのリストを設定していて、そのリストにメールを送付する等です。# ■コンソールからアクションを確認する
実際にコンソールから見てみましょう。
今回は現在設定済みのCPUアラートを編集する形で調べてみます。
アラーム編集の画面にてア
AWS認定ソリューションアーキテクト – プロフェッショナル更新時の記録
## この記事の概要
2024/01/07
**AWS認定ソリューションアーキテクト – プロフェッショナル**
(AWS Certified Solution Architect – Professional (SAP-C02))
を受験したので、その時の記録です。**SAP-C01**の取得から約3年が経過したため、更新のために再受験しました。
https://qiita.com/aminosan000/items/f172b7add8303926bddc2022/11/15にバージョンがC01からC02に上がったようです。
## 試験の概要
![aws_sap.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140013/bf1a17ea-445d-cc49-5dd0-3470e691d1c7.png)
AWS認定の中で一番スタンダードな「ソリューションアーキテクト」の上位資格です。
AWSの公式ガイドには
– 「この試験では、AWS WellArchitected フレームワーク
新年なのでLLMとのチャットアプリをイチから作ってみた③仕上げ
前回までで、Bedrockと会話ができるチャットアプリを公開することまでできました。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/bbeae2d0-09b6-5551-2e19-d38311cc2a71.png)
まだまだ機能的に不十分なところがあるので、開発していきます。
## 目次
* [新年なのでLLMとのチャットアプリをイチから作ってみた①](feb2875d2059b9074ce8)
* [新年なのでLLMとのチャットアプリをイチから作ってみた②](6fa9c5ceb28feac3f741)
* 新年なのでLLMとのチャットアプリをイチから作ってみた③ ←このページ## 会話の履歴を覚えてやり取りがしたい
BedrockのAPI呼び出しはステートレスでそれぞれ独立しています。そのため、直前までのやり取りを保持して会話がしたい場合は、過去のやり取りをすべてプロンプトに含める必要があります。
例として一回会話したあとのプロンプトは以下のような内容を送ります。
“