- 1. Lambda で awscli を利用する
- 2. あの人へSESで送ったメールってどうなったんだろう?どうやれば確認出来るのか ~100本ノックしてみたい中堅エンジニア 【AWS】~ 10/100
- 3. Jenkinsインストールのメモ書き
- 4. boto3:PythonでAWSを操作
- 5. TerraformでAWS VPCのサブネットをcidrsubnet関数を利用して作る
- 6. 相手によって変わってくるシステム構成図
- 7. Gradio 5がリリースされたのでBedrockでいろいろやる
- 8. Lambda 実行環境のルート証明書
- 9. AWS CloudTrailのJSON確認とEventBridgeを活用した詳細なイベントキャプチャ手法
- 10. Amazon API GatewayでMock APIを作ってみた
- 11. AWS LambdaとSSMを使用したEC2インスタンスの状態監視とALBの動的切り替え②
- 12. AWS LambdaとSSMを使用したEC2インスタンスの状態監視とALBの動的切り替え①
- 13. 〜AWS初学者の資格日記〜 EBS,FSX編 (ソリューションアーキテクトレベル)
- 14. AWS CDKをWSL2 Ubuntu環境からセキュアに実行してみた
- 15. NestJSでログフォーマットを変更してリクエスト単位のIDを共通でログに記録する方法
- 16. Amazon RDS for Db2: S3経由のバックアップ/リストアでデータ移行
- 17. AWS AIF-Beta,MLA-Beta合格記
- 18. 【AWS Cloud Quest】クラウドプラクティショナー用の無料ハンズオンを通じてAWS初心者を脱する方法
- 19. ReserverdInstance(RI)の割引率を最大にする条件
- 20. 社会人一年目(IT未経験)で当時のAWSのAssociateレベルの資格を網羅したのでまとめてみた
Lambda で awscli を利用する
# はじめに
Lambda でAWS のインスタンスを管理をさせたいとき awscli のインストールが必要になるので、これを利用できるようにする。# 概要
1. awscli を利用する EC2 のインスタンスと同じ OS を用意する (docker)
1. docker container でawscli をインストールして zip でかためる
1. zip にしたファイルを S3 に置く
1. S3 に置いたファイルをLambda のレイヤーで 指定する
1. Lamda の関数を用意して レイヤーを指定
1. bootstrap, hello.sh を用意(編集)# awscli を利用して EC2 に接続する Access キーを用意する
“`bash
# cat /var/lib/aws/aws_cli.key
アクセスキー
シークレットキー
ap-northeast-1 (ゾーン)
text
“`# awscli をインストールする環境 (docker コンテナ) の用意
Amazon Linux 2023 でawscli を動作させたいので、このOSの
あの人へSESで送ったメールってどうなったんだろう?どうやれば確認出来るのか ~100本ノックしてみたい中堅エンジニア 【AWS】~ 10/100
# はじめに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87924/33483ca1-3be3-35ef-3258-ed31f9f3bf6f.png)
多くのシステムでユーザへのメール送信が必要になることがあるかと思います。
AWSで構築してる場合、メール送信には`AWS SES`を使うことになるのですが、メール送信結果を知りたい・分析したいとなった場合、どのようにすればいいのかわからなかったので試してみました。
今回のゴールを`AWS SESを使って送信した各メールの送信結果を、指定した期間でメールアドレス毎に確認する`とします。
アーキテクチャとしては、以下になります。
– `SES`でユーザに対してメールを送信する
– メールの送信ログを`Kinesis Firehose`に一定時間 or 一定量貯める
– 貯めたログをファイルに出力し、`S3`に保存
– S3に保存した複数ファイルに対して、`Athena`を利用してクエリ実行し、送信結果を確認![SESのロ
Jenkinsインストールのメモ書き
だいぶ古いメモ書きです。
## 前提
– Amazon Linux 2上にJenkinsサーバを構築します
– Dockerコンテナ等ではなく直接インストールする手順です# Jenkinsの構築
## Jenkinsのインストール
Amazon Linux 2はRed Hat系のため、[こちら](https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos)のJenkins公式ドキュメントの手順を参考にしています。他のLinuxディストリビューションやOSの場合は公式ドキュメントの該当ページをご参照ください。
インストールする際に、まずパッケージ管理ツールyumにJenkinsの公式サイトが公開しているリポジトリを追加する必要があります。JenkinsにはWeekly releaseとLong Term Support releaseがあります。### Weekly release
[Weekly release](https://pkg.jenkins.io/redhat/)はバグ修正と新機能を提供するため
boto3:PythonでAWSを操作
## boto3とは
boto3は、Pythonを用いてAWSの各種サービスにアクセスするためのライブラリです。
AWSのAPIをPythonコードからシームレスに操作できるようにするツールで、PythonのオブジェクトのようにAWSリソースを扱うことができます。## 基本的な概念
boto3を効果的に利用するためには、「セッション」と「クライアントとリソース」という2つの概念を理解することが重要です。### ・セッション
セッションは、boto3がAWSサービスにアクセスするために使用するコンテキストを提供するオブジェクトです。セッションを使うことで、AWSの認証情報(アクセスキーやシークレットキーなど)や、デフォルトリージョン、使用するプロファイルを設定できます。boto3は、デフォルトでは、環境変数や設定ファイルから認証情報を自動的に取得しますが、セッションを明示的に作成することで、複数のAWSアカウントやリージョンを簡単に切り替えて使用することができます。たとえば、次のようにしてセッションを作成し、特定のプロファイルやリージョンを指定します。
“`python
i
TerraformでAWS VPCのサブネットをcidrsubnet関数を利用して作る
## はじめに
**Terraform**でAWS VPC (Virtual Private Cloud)のサブネットを作る例を紹介します。サブネットのCIDRブロックをTerraformの`cidrsubnet`関数を使って計算します。今回の例では、以下の構成でVPCとサブネットを設計します。
項目|値
—|—
VPC CIDR|10.1.0.0/16
サブネットタイプ|public, private, protected
アベイラビリティゾーン (AZ)|a, c, d
サブネットのネットマスク| /20## Terraformコードの解説
### VPCリソースの定義“`hcl
# VPC
resource “aws_vpc” “main” {
cidr_block = “10.1.0.0/16”
enable_dns_hostnames = true
}
“`
このコードブロックでは、aws_vpcリソースを使用してVPCを作成します。`cidr_block`パラメータでVPCのIPアドレス範囲を指定します。### サブ
相手によって変わってくるシステム構成図
# その資料は誰のため?
どんなプレゼンテーション資料にも言えることですが、何らかの資料を作る以上は、その資料は**誰に**向けたものなのか、**何をどこまで**伝えたいのかは、作成する前に最低限考えるべきポイントです。
– **誰に**向けたものなのか
– 対象者の背景知識や専門性のレベルは?
– 彼らの興味・関心事は何か?
– どのような立場や役割の人々か?– **何をどこまで**伝えたいのか
– 伝えるべき核心的なメッセージは何か?
– どの程度の詳細さが必要か?
– 時間や空間の制約はあるか?ターゲットとなる相手が理解しやすい資料であれば、その先の **「考えてほしいのか」** **「どんなアクションを取ってほしいのか」** などが続くことになりますが、その前提として **「誰宛に」「何を」** がまず大事です。
:::note warn
まじめな書き出しとなっていますが、以下、若干ネタ的な記事になります。
:::## 簡単なシステム構成図を例に
例として、既にお客様がクラウドのオブジェクトストレージを利用しているとします。そのお客
Gradio 5がリリースされたのでBedrockでいろいろやる
Gradio 5がリリースされました🎉🎉🎉
https://huggingface.co/blog/gradio-5
* 見た目を改善
* リアルタイムのストリームに対応
* LLMのプレイグラウドなどが目玉機能のようです。
Bedrockで色々やってみました。
## インストール
“`shell
pip install boto3 gradio
“`## Converse API
まずはConverse APIで話しかけます。
“`python
model_id = “us.anthropic.claude-3-haiku-20240307-v1:0”def converse_fn(message: str, history: list[gr.ChatMessage]):
messages = []
for h in history:
messages.append({“role”: h[“role”], “content”: [{“text”: h[“content”]}]})messages.appe
Lambda 実行環境のルート証明書
# はじめに
Lambda 実行環境で使用されているルート証明書が気になったので確認してみた。# ステップ 1: 実行環境の確認
ひとまず以下のコードで Lambda 実行環境の OS を確認。
“`
def lambda_handler(event, context):
with open(‘/etc/os-release’, ‘r’) as os_file:
os_files = os_file.readlines()
return {
‘body’: os_files
}
“`実行結果は以下の通りで Amazon linux が使用されている。
“`
{
“body”: [
“NAME=\”Amazon Linux\”\n”,
“VERSION=\”2023\”\n”,
“ID=\”amzn\”\n”,
“ID_LIKE=\”fedora\”\n”,
“VERSION_ID=\”2023\”\n”,
“PLATFORM_ID=\”platform:al2
AWS CloudTrailのJSON確認とEventBridgeを活用した詳細なイベントキャプチャ手法
# CloudTrailのJSON確認方法とEventBridgeでのイベントキャプチャ手法
EventBridgeは、AWSサービスやカスタムアプリケーションからのイベントを受け取り、指定したターゲットにルーティングするサービスです。CloudTrailと組み合わせることで、特定のイベントが発生した際に自動的に処理を行えます。
AWSリソースの変更やAPIコールをトリガーとしてEventBridgeで検出する場合、CloudTrailのJSONイベントを使用します。しかし、CloudTrailのコンソール画面での確認だけでは十分でないことがあります。
そこで、より詳細な条件でのイベントキャプチャ方法について解説します### 使用するリソース
1. CloudTrail
1. Eventbridge
1. Lambda
1. CloudWatch Logs## Lambdaの作成
Lambda関数内でイベントデータをログに出力することで、どのようなイベントがキャプチャされているかを確認できます。![image.png](https://qiita-image-store.s
Amazon API GatewayでMock APIを作ってみた
## はじめに
こんにちは。
最近はとにかく[モンハンワイルズ](https://www.monsterhunter.com/wilds/ja-jp/)の発売が楽しみです。
さて、モンハンとかけまして、AWSと解きます。
その心は「どちらもスキルが重要」でしょう。(?)今回は**Amazon API Gatewayを単体で触ってみます**。
まずは、APIを他サービスと連携させず、テスト用のMock APIを作成し、意図したレスポンスが返されるのかを試してみます。本記事は以下記事の続編です。
https://qiita.com/uccy/items/24dba8396bccb7a2684d
↓参考にしたハンズオンはこちら。
https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Serverless-1-2022-confirmation_422.html
## やってみた
マネジメントコンソールにアクセスし、API Gatewayのページに飛び、「APIの作成」をクリックします。
![image
AWS LambdaとSSMを使用したEC2インスタンスの状態監視とALBの動的切り替え②
## はじめに
このブログ記事では、AWS Lambdaを使用してEC2インスタンスのhttpdサービスの状態を監視し、サービスの状態に応じてALB (Application Load Balancer) のリスナールールを動的に変更する方法を紹介します。メンテナンスモードや通常モードへの切り替えを自動化することで、システムの可用性を高めることができます。
## 全体のコード
“`py
import boto3def lambda_handler(event, context):
ec2_client = boto3.client(‘ec2’)
ssm_client = boto3.client(‘ssm’)
elbv2_client = boto3.client(‘elbv2’)# 監視対象のEC2インスタンスIDリスト
instance_ids = [“i-0458be1d8c980e8ec”, “i-0b27db6a9b067f345”]# httpdサービスの状態を確認するためのSSM Run Command
AWS LambdaとSSMを使用したEC2インスタンスの状態監視とALBの動的切り替え①
## はじめに
AWS LambdaとAWS Systems Manager (SSM) を活用し、EC2インスタンスのhttpdサービスの状態を監視して、状態に応じてApplication Load Balancer (ALB) のリスナールールを変更する手法について解説します。具体的には、httpdサービスが停止している場合にメンテナンス用のSorryページを表示し、少なくとも1台のサービスが稼働している場合は通常のページを表示するように設定します。
## コード紹介
### 全体のコード
以下は、Lambda関数で実装されたコードです。SSM Run Commandを使用してhttpdサービスの状態を確認し、サービスの停止に応じてALBのルールを変更する処理を行います。“`py
import boto3
import timedef lambda_handler(event, context):
ssm_client = boto3.client(‘ssm’)
elbv2_client = boto3.client(‘elbv2’)#
〜AWS初学者の資格日記〜 EBS,FSX編 (ソリューションアーキテクトレベル)
こんにちは、つかさです。
今回はEBS,EFXまわりに関して記事を書いていこうと思います。
EBS,EFSは他のサービスと比較して理解しやすいですが、だからこそ試験では絶対に落としたくないですよね:sweat:
確実に取れるよう理解を深めていきましょう!### 基本構成
– 問題文
– 答え
– なぜその答えなのか
– その答えを理解するための周辺知識# EBS
EC2にアタッチして使用するブロックストレージサービス
問題
バックアップソフトウェアをそのままAWSへ移行します。データボリュームはEBSセカンダリボリュームで作成します。数TBのボリュームを扱うのでとにかくコスト下げたいです。最適なEBSボリュームタイプは何ですか?
AWS CDKをWSL2 Ubuntu環境からセキュアに実行してみた
# **AWS CDKをWSL2 Ubuntu環境からセキュアに実行してみた**
## **はじめに**
– 本アカウントでは初記事ですm(__)m
– AWS CDKを絶賛学習中の身なのですが、だんだんとPCのファイル数も増え管理がしづらくなってしまいました
– そこでなるべくPCをクリーンに保ちつつ、セキュリティ面も最低限考慮した環境構築方法を今回調査してみました### **この記事でわかる・できること**
– WSL2(Ubuntu)環境の構築方法
– WSL2(Ubuntu)環境からAWS CDK v2を実行するための環境構築方法
– MFA認証済、特定IPアドレス範囲からのみAWS CDKコマンドを実行可能にする方法## **動作環境・前提条件**
– OS
– Windows 11 23H2
– WSL
– VERSION 2
– Ubuntu 24.04.1 LTS
– AWS(東京リージョン)
– AWS CLI v2 2.18.2
– AWS CDK 2.161.1 (build 0a606c9)
– Node
– nvm 0.
NestJSでログフォーマットを変更してリクエスト単位のIDを共通でログに記録する方法
## ログの標準フォーマット
NestJSの標準で出力されるログは以下のような感じです
“`
[Nest] 227 – 10/09/2024, 2:47:17 PM LOG [NestFactory] Starting Nest application…
“`ただ、運用を考えると以下の点を変更できるようにしたく思いました。
– プロセスIDの前にある`[Nest]`がいらない
– プロセスIDよりリクエスト単位のIDが欲しい
– AWS Lambda上で実行するならAWSが割り振ったリクエストIDを使いたい
– 余計なスペースは削除したい
– 時間はミリ秒まで出して欲しい
– ログレベルのみでログ監視できるようにしたい## NestJSのログ拡張方法について
Loggerは一から`LoggerService`で定義されたインターフェースを実装する方法もありますが、基本的な動きは変更せずに処理を少し変更したいような場合は、`ConsoleLogger`クラスを継承して、変更したいメソッドをオーバーライドすることで対応が可能です。
外部ロガーを
Amazon RDS for Db2: S3経由のバックアップ/リストアでデータ移行
Amazon RDS for Db2は既存環境がLinux上のDb2 11.1 もしくはDb2 11.5 の場合は既存バックアップイメージからのリストアが利用可能です。
当記事ではLinux上のDb2 11.5からS3に直接バックアップファイルを作成し、Amazon RDS for Db2 データベースのテーブルにリストアする方法を説明します。公式ドキュメント[Linux ベース Db2 データベースのほぼゼロのダウンタイムでの移行](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/db2-near-zero-downtime-migration.html)の内容に基づいています。
# 前提
– 「[Amazon RDS for Db2: Amazon S3 にデータファイルを保存するための設定](https://qiita.com/nishikyon/items/e4f6d2113fdb6bf07777)」設定済み
– バックアップイメージを置く Amazon S3 バケットがロード先RDS for
AWS AIF-Beta,MLA-Beta合格記
# はじめに
この度AWS Certified AI Practitioner (AIF-C01)、AWS Certified Machine Learning
Engineer – Associate (MLA-C01) を受験しました。\
双方なんとか合格できましたので、学習内容と受験した感想を書いておきます。\
尚、本記事では、ベータ版を対象とした学習方法や受験した感想が中心となります。# 対象読者
– AI/MLサービスをAWSで実装するうえでの前提となる機械学習の知識やAWSサービスを知りたい
– AIFやMLAをベータ版の期間中に取得したい (Early Adopterのバッジが欲しい!という方)
# 前提
– AWS認定はAWS DEAまで13冠取得済み
– AI/ML領域は自己学習と自社ハッカソンで触った程度。主にAmazon
Bedrock、Amazon Kendra、CodeWhisperer– その他はGoogle セキュリティ プロフェッショナルとGoogle AI
エッセンシャル取得(履修?)済み\
【AWS Cloud Quest】クラウドプラクティショナー用の無料ハンズオンを通じてAWS初心者を脱する方法
## 0.はじめに
NTTデータの鶴ヶ崎です。
公共分野の技術戦略組織に所属しており、普段はクラウド(主にAWS)を用いたシステム構築等を行っています。先日[Cloud Practitioner(CLF-C02)](https://aws.amazon.com/jp/certification/certified-cloud-practitioner/)を受験してきました。受験勉強として使用した[AWS Cloud Quest](https://aws.amazon.com/jp/training/digital/aws-cloud-quest/)が、実際にAWSマネジメントコンソール上でのリソース構築を体験でき、受験勉強以上の価値があったと感じました。
そのため、筆者のようにCLF-C02合格やAWS初心者を脱したいと思っている方の参考になればと思い記事にしようと思います。
## 目次
[1.AWS Cloud Questをお勧めする背景](#1aws-cloud-questをお勧めする背景)
[2.AWS Cloud Questとは](#2aws-cloud-questとは
ReserverdInstance(RI)の割引率を最大にする条件
:::note info
気になった点
:::「RIの最大割引額は72%です!安い!」みたいなお話をよく聞くと思いますが、どういった条件なのでしょうか、、?
:::note info
回答(東京リージョンの場合)
:::①テナンシー:共有
②コミットメント期間:3年
③支払いオプション:全額前払い
④提供クラス:スタンダード
+
⑤特定のインスタンスタイプ(下記参照)
* x2iedn.32xlarge
* x2iedn.8xlarge
* x2iedn.metal
* x2idn.32xlarge
* x2idn.16xlarge
* x2idn.metal
* x2iedn.24xlarge
* x2iedn.16xlarge
* x2idn.24xlarge
* x2iedn.2xlarge
* x2iedn.4xlarge
* x2iedn.xlarge
* u-3tb1.56xlarge
* u-6tb1.56xlarge
* u-6tb1.112xlarge
* x1.32xlarge
* x1e.16xlarge
* x1e.8xlarge
*
社会人一年目(IT未経験)で当時のAWSのAssociateレベルの資格を網羅したのでまとめてみた
# はじめに
`※この記事では私がIT未経験で入社してから~1年目として終わるまで(2023年4月~2024年3月まで)に取得した資格をメインの記事となっております。`
当時のAWSのAssociateレベルの認定資格は3つで以下の資格となります:
– AWS Certified Solutions Architect – Associate
– AWS Certified Developer – Associate
– AWS Certified SysOps Administrator – Associate2024年9月23日現在では上記の資格以外にも2つのAssociate資格が追加されました(又はされる予定)が、今回は上記3つの資格取得する為に役立つ情報を今回の記事にまとめます。
## 目次
– 読書対象
– 経歴
– 受験履歴
– AWS認定について
– 各AWS認定の難易度
– Associateレベルとは
– 学習方法①
-(AWS Certified Solutions Architect – Associate)
– 学習方法②
-(AWS Certified