- 1. 【AWS re:Invent】現地参加のクラウド女子必見!持ち物チェックリスト
- 2. VPC LatticeのログをAthenaで見よう
- 3. EC2のメモリ使用率が常に高いときの対策
- 4. AWS CloudFormationを利用してGuardDutyを構築する #EventBridge
- 5. 【コスパ最強】たった8ステップ!Next.js静的サイトをAWS Amplifyでデプロイする方法
- 6. mysql.general_log2がINNODB_SYS_TABLESに存在するがTABLESに存在しない
- 7. EC2からS3へVPCエンドポイント(インターフェース型)経由でアクセスすることを試す
- 8. EC2インスタンスストアはRAMではない?その正体を知ろう
- 9. LambdaもAPI GatewayもDynamoDBも画面が激変してるので、ハンズオンの動画を勝手に再収録したよ
- 10. 【AWS】リソースタグ名について整理してみた
- 11. 【AWS】Athenaで1日の使用量の閾値を超えたらSlackに通知する流れ
- 12. EC2 インスタンスにEBSボリュームは必要?使わないケースもある?
- 13. CloudShellを使用して、CloudFormationスタックを削除する方法とAWS Infrastructure Composerについて
- 14. AWS CloudFormation 新機能 [タイムラインビュー(デプロイタイムラインビュー)]
- 15. CloudFormation で管理している AWS リソースを Terraform に移行する
- 16. Amazon Aurora Cluster のリーダーエンドポイントに騙されないで!
- 17. Microsoft Sentinel を用いて、Amazon SQS サービス経由で AWS CloudTrail ログを収集、分析してみよう
- 18. 【AWS】EventBridgeSchedulerでCreateExportTaskを実行し、S3へログ転送を行った際にはまったこと
- 19. 【AWS】AIFを通してAIの基礎を学んでみた
- 20. 【2024年版】Rundeckのジョブ結果をSlackに通知する方法
【AWS re:Invent】現地参加のクラウド女子必見!持ち物チェックリスト
# はじめに
AWS re:Invent開催まであっという間に後1ヶ月を切りましたね!
もう今年も終わりか・・と、年々1年が終わるスピードが早く感じています:innocent:笑私は今年もre:Inventに参加させて頂けることになり、そろそろ出国にむけて荷物の準備を少しずつ始めています!(ちょっと早い)
主観ではありますが、心配性な私が現地に持参予定のものを紹介したいと思います!
また、事前のMeetUpで現地での服装について何度か質問を受けたので服装についても触れたいと思います👕
”クラウド女子”とタイトルを銘打ってますが、多くの今年参加される皆さんや、来年以降参加される皆さんの参考になれば幸いです:bouquet::star2:
# AWS re:Inventとは
AWS 最大規模のラーニングカンファレンスで、世界中から約5万人の参加者が集まります。会期中は、新サービスやサービスアップデートの発表が大量に行われます。re:Inventに参加することでAWSの最新情報を入手する事が出来ます!
つまり、約1週間 AWSにずっぷり浸かることが出来るカンファレンスになりま
VPC LatticeのログをAthenaで見よう
## はじめに
VPC LatticeのログをS3に出力して、Athenaで見られるようにしたときのメモです。
## Latticeログの種類
以下2つのログを出力させることができます。
– サービスのログ
– サービスネットワークのログ細かい違いは以下に書きますが、**ログファイルの内容は同じもの**でした。
### サービスのログ
Latticeサービス固有のログです。
S3上の保存先のパスは以下のようになっていました。
`s3://{バケット名}/AWSLogs/{アカウントID}/VpcLattice/AccessLogs/{リージョン}/svc-xxxxxxxxxxx/`### サービスネットワークのログ
紐づくサービスすべてのログが含まれます。
S3上の保存先のパスは以下のようになっていました。
`s3://{バケット名}/AWSLogs/{アカウントID}/VpcLattice/AccessLogs/{リージョン}/sn-xxxxxxxxxxxx/svc-xxxxxxxxxxx/`## Athenaでのテーブル作成
以下の DDL でテーブ
EC2のメモリ使用率が常に高いときの対策
## 使用率や詳細を見る
Datadog 期間は1ヶ月 増えては解放されないまま80%台になっている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760274/1bf1a598-6210-865c-9ff0-8a836da96b44.png)
freeコマンド usedが80%程度
“`
$ free
total used free shared buff/cache available
Mem: 3965164 3197448 113704 22128 654012 503072
Swap: 0 0 0
“`
topコマンド→shift+mでメモリ使用率順 メモリ占有しているプロセスが見当たらない
![image.png](https://qiita-image-store
AWS CloudFormationを利用してGuardDutyを構築する #EventBridge
# はじめに
AWS GuardDutyは、AWSアカウントやワークロードを自動的に監視し、潜在的な脅威を検出するマネージド型の脅威検出サービスです。セキュリティ監視に役立つこのサービスは、AWSでのセキュリティ管理を効率化します。今回は、GuardDutyの構築をAWS CloudFormationを使って自動化し、さらにEventBridgeと連携することでイベント管理もシームレスに行えるようにします。AWS CloudFormationを利用して、GuardDutyを構築するテンプレートのサンプルです。
当時、@kikutch と作業した際の内容を改良しました。
テンプレートの概要が分からない場合は、[はじめてのAWS CloudFormationテンプレートを理解する](https://qiita.com/miyabiz/items/eb7b0fa1675b5199b9b7)を参考にしてください。
今回は、akane というシステムの dev 環境を想定しています。
同じ構成で違う環境を作成する場合は、{環境名}-parameters.jsonを別途作成します。`
【コスパ最強】たった8ステップ!Next.js静的サイトをAWS Amplifyでデプロイする方法
# はじめに
このチュートリアルでは、Next.jsの**App Router**と**TypeScript**を使用して静的にコンテンツを生成し、それをAWS Amplifyでホスティングする手順を解説します。
動的なデータ取得を必要とせず、ビルド時に全てのコンテンツを生成する形式で進めます。—
## 1. 前提条件
以下の環境が整っていることを確認してください。
– **Node.jsとnpmのインストール**: [Node.js公式サイト](https://nodejs.org/)から最新のLTSバージョンをインストールしてください。
– **Gitのインストール**: [Git公式サイト](https://git-scm.com/)からGitをインストールしてください。
– **AWSアカウント**: AWS Amplifyを使用するために、[AWSアカウント](https://aws.amazon.com/)を作成してください。
– **GitHubアカウント**: GitHubにリポジトリを作成するために必要です。まだ持っていない場合は、[GitHub公式サ
mysql.general_log2がINNODB_SYS_TABLESに存在するがTABLESに存在しない
TL;DR
RDSであれば、Troubleshootingをやめて、新規クラスターを作成しデータ移行するか、AWS Supportに連絡かをしましょう。
## 症状
MySQL8 にアップグレードする時、Precheckで下記のエラーが検知。文面通り、mysql.general_log2というTableがないのに、INNODB_SYS_TABLESに存在している。
“`json
{
“id”: “schemaInconsistencyCheck”,
“title”: “Schema inconsistencies resulting from file removal or corruption”,
“status”: “OK”,
“description”: “Error: Following tables show signs that either table datadir directory or frm file was removed/corrupt
EC2からS3へVPCエンドポイント(インターフェース型)経由でアクセスすることを試す
# はじめに
本記事は以下記事を実際にやってみたことを記録した記事ですhttps://qiita.com/AWS11077/items/8332bd476124bc534c52
この構成を作って、S3にアクセスしてみます。この画像は転載なのでIPは違うかもしれません。他は同じだと思いますが、自分の解釈が入っているの少し違うかもしれません
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131136/e9deb607-446a-cf7a-f9c1-cd3be4a2b4b8.png)# 環境構築
# S3作成
なんか適当に作っておきましょう## VPC作成
VPC名: `test-vpc-endpoint-interface-type`
後の設定は画像の通り
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131136/8f0960cb-9f16-4951-f8d4-07c72c32
EC2インスタンスストアはRAMではない?その正体を知ろう
**EC2インスタンスストア(Instance Store)** は **RAM(ランダムアクセスメモリ)** ではありません。EC2インスタンスストアは、EC2インスタンスに直接接続された一時的な**ローカルディスクストレージ**です。簡単に言うと、インスタンスストアはインスタンスに付属する物理的なストレージ領域であり、通常は **SSDまたはHDD** ベースのストレージです。
### インスタンスストアの特徴
– **一時的なストレージ**: インスタンスストアに保存されたデータは、インスタンスが停止または終了すると消失します。つまり、インスタンスストアは永続的なストレージではなく、データの永続性を保証しません。
– **高パフォーマンス**: インスタンスストアはインスタンスと直接接続されており、ネットワーク越しにアクセスするEBS(Elastic Block Store)よりも高速にデータを読み書きできます。これにより、非常に高速なローカルストレージが必要なワークロード(例えば、データベースのキャッシュや高性能計算など)に適しています。
– **容量の制限**: インスタン
LambdaもAPI GatewayもDynamoDBも画面が激変してるので、ハンズオンの動画を勝手に再収録したよ
AWSをこれから始める方に超おすすめなAWSコンテンツに「AWS Hands-on for Beginners」というシリーズがあります。
AWSアカウントの作り方から始まり、マルチAZやサーバーレス、コンテナ、IaC、分析、IoTなど、様々なハンズオンコンテンツが用意されています。
https://aws.amazon.com/jp/events/aws-event-resource/hands-on/
ひとつずつが3時間ぐらいでできるので、手を動かして体験するにはとても良いきっかけになると思います。
すべてのコンテンツがハンズオンの実演動画付きなので、超絶わかりやすいのですが、**マネジメントコンソールが最新のものに追いついていません。。** 日々変化するので、これは仕方がありません。。
今回、「AWS Hands-on for Beginners 〜Serverless #1〜」を久しぶりに行ったのですが、せっかくなので画面を録画しながら実施しましたので、これからハンズオンを実施される方はぜひ参考にしてください。
## AWS Hands-on for Beginne
【AWS】リソースタグ名について整理してみた
いつも記事を読んでいただきありがとうございます!
エンジニアのMasaki(@MASAKIOKUDA-eng)です👍今回取り上げるテーマとして**より良いAWSリソースタグ名戦略**について、私の頭の整理を含めて記事として言語化してみました!
需要があるか分からないですが、最後まで読んでいただけますと幸いです。
:::note info
本記事を執筆するにあたり、AWSから公開されている**AWS リソースのタグ付けのベストプラクティス**を参考にいたしました。また、筆者の理解不足で認識相違などがありましたら、コメントいただけますと幸いです。https://docs.aws.amazon.com/ja_jp/whitepapers/latest/tagging-best-practices/tagging-best-practices.html
:::
# 目次
1. 本記事を読んでもらいたい読者層
1. (前置き)リソースタグ付けをしないとどうなるのか?
1. リソースタグのベストプラクティスとは?
1. 結局どういったリソースタグ名をつければいいのか?## 本記
【AWS】Athenaで1日の使用量の閾値を超えたらSlackに通知する流れ
# 概要
AWS Athenaを利用して、S3にあるELBのアクセスログを調査するとき、スキャンするデータ量が多すぎると予期しないコストが発生してしまうかもしれません。
Athenaでは、クエリごとのデータ制限と1日の閾値を設定できるので、その方法を紹介いたします。## 準備手順
Athenaの準備手順は以下を参考にしてください。https://dev.classmethod.jp/articles/application-load-balancer-athena-202306/
基本的には、S3、ELBのアクセス設定に問題がなければ、
ワークグループを作成し、その中にデータベースを作成、これで準備OKです。
あとはクエリ実行するだけです。## アラート設定方法
Athenaは、「実行したクエリでスキャンされたデータに対してのみ支払う」という課金体系です。
「USD 5.00 per TB of data scanned」
とあります。ただし、「クエリごとに最小 10 MB が課金されます」とあるので、10MB未満は10MBとして扱われるよう。
https://
EC2 インスタンスにEBSボリュームは必要?使わないケースもある?
Amazon EC2 インスタンスにおいて、**EBS (Elastic Block Store) ボリューム**は必須ではありませんが、ほとんどのケースで **EBSボリュームを使用することが推奨されます**。理由とともに、EBSボリュームの役割や、必須でないケースについて説明します。
### 1. **EBSボリュームとは?**
Amazon EC2 インスタンスにアタッチする **EBSボリューム**は、永続的なストレージを提供します。これにより、インスタンスが停止したり終了したりしても、データは保持されます。EBSボリュームはインスタンスのOSディスクとしても、データディスクとしても使用できます。### 2. **EBSボリュームが必須でないケース**
実際には、EBSボリュームは必須ではありません。例えば、以下のような場合はEBSを使用せずにEC2インスタンスを運用することも可能です。#### a. **インスタンスストアを使用する場合**
EC2インスタンスには、**インスタンスストア**(または「エピソディックストレージ」)と呼ばれる、一時的なローカルディスクが
CloudShellを使用して、CloudFormationスタックを削除する方法とAWS Infrastructure Composerについて
## はじめに
AWS CloudFormationは、AWSインフラをコードで管理できる便利なサービスです。今回は、不要なCloudFormationスタックを削除する方法について説明します。
普段はAWSのマネジメントコンソールを使用して削除していることが多いですが、自分の備忘録として、この記事に記録しておきます。
## コマンド概要
CloudFormationスタックを削除するには、“aws cloudformation delete-stack“ コマンドを使用します。これにより、指定したスタックおよびそのリソースを削除できます。
**コマンド:**
“`bash
aws cloudformation delete-stack –stack-name
“`ここで、“
“は削除したいCloudFormationスタックの名前に置き換えてください。 ![スクリーンショット 2024-11-12 21.51.11.png](https://qiita-image-store.s3.ap-northe
AWS CloudFormation 新機能 [タイムラインビュー(デプロイタイムラインビュー)]
# CloudFormation タイムラインビュー/デプロイタイムライン (deployment timeline view)
2024/11/12に AWS CloudFormationでタイムラインビュー(デプロイタイムライン ビュー deployment timeline view) が新しく提供されましたhttps://aws.amazon.com/about-aws/whats-new/2024/11/x-ray-vision-cloudformation-deployments-timeline-view/
:::note info
説明文に”x-ray”とありますが、単に「見通すことができる」位の意味で使われており、AWS X-Rayとは関係ないようです。
:::## 概要
CloudFormationスタックのリソース作成・更新イベント(ログ)を時系列グラフで表示します。
![182848.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3832079/f8206eb4-1b9
CloudFormation で管理している AWS リソースを Terraform に移行する
# はじめに
これまで CloudFormation で管理していた AWS リソースを Terraform 管理下へ移行するケースが参画プロジェクトで何度かあったので備忘として残します。
# TL;DR
CloudFormation Stack 削除前に実体が削除されないように `DeletionPolicy: Retain` を設定してから Stack 削除して、その後 Terraform で import する。
# サンプルユースケース
今回のサンプルは VPC リソースを移管するユースケースシナリオです。
以下のテンプレートで作成された VPC の Stack があります。
シンプルにしたかったので Stack は VPC リソースのみで構成しています。
“`terraform
AWSTemplateFormatVersion: ‘2010-09-09’
Resources:
SampleVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.1.0.0/16
“`
実体
![1.p
Amazon Aurora Cluster のリーダーエンドポイントに騙されないで!
# はじめに
最近はクラウドに触れる時間が減少気味の [@\_\_\_nix___](https://twitter.com/___nix___) です。# 背景
みなさん、Amazon Aurora を利用されている方も多いかと思います。https://aws.amazon.com/jp/rds/aurora/
更新系のエンドポイント(Writer Endpoint)と参照系のエンドポイント(Reader Endpoint)が分かているのは非常に嬉しい機能の一つですね。
# 概要
今回、この参照系エンドポイント(Reader Endpoint)の落とし穴をご紹介しようと思います。
既に常識になっている方もいるかと思いますが、この Reader Endpoint 経由で接続してもデータの更新が出来てしまうケースがあります。
「DBユーザーは更新権限を与えているが、 Reader Endpoint に接続しているので安心!」という方は注意です。
# 詳細
## 一般的な Aurora Cluster
Writer Instance と Reader Insta
Microsoft Sentinel を用いて、Amazon SQS サービス経由で AWS CloudTrail ログを収集、分析してみよう
# 1. はじめに
Microsoft Sentinel では、コネクターを用いて様々なログを収集することが出来るのですが、AWS Cloud 向けに S3 Bucket の Amazon SQS 経由によるデータコネクターがリリースされていました。Microsoft の [Document](https://learn.microsoft.com/ja-jp/azure/sentinel/connect-aws?tabs=s3) では分かり難いところもあるので、手順について整理も含めて記事にしてみました。# 2. 環境について
Microsoft Sentinel と AWS Cloud のデータ収集の接続構成図は次のようなイメージです。
– AWS 側で対象のデータソースを Amazon S3 Bucket に保管収集する(本記事では CloudTrailを対象にしています)
– S3 Bucket の通知設定を用いて、新規分のデータを Amazon SQS のキューに転送する
– Azure 側では、AWS 側の IAM ロールを用いて、Amazon SQS のキューをポーリ
【AWS】EventBridgeSchedulerでCreateExportTaskを実行し、S3へログ転送を行った際にはまったこと
## はじめに
CloudWatchLogsにたまったログをS3に保管する必要があったため、EventBridgeSchedulerを利用しログの転送を行おうと考えた## 設定
基本的には以下の記事通りの設定しました。Eventbridge Schedulerによる Cloudwatch LogsのS3への出力について考えてみる
https://qiita.com/s-niim/items/ef5a4ac4b19696386d17Inputのみ以下のように設定します。
(CloudWatchLogs側でログはローテーションするため、あるログすべてを転送する仕組み)
“`
{
“destination”: “s3name”,
“from”: 0,
“logGroupName”: “loggroupname”,
“to”: 253402300799000
}
“`
0:1970/01/01 00:00:00(UTC)を表すミリ秒
253402300799000:9999/12/31 23:59:59(UTC)を表す未利用## 何が起こったか
以
【AWS】AIFを通してAIの基礎を学んでみた
# はじめに
NTTデータの西川です。
普段は公共部門の技術集約組織でクラウドの導入支援に従事しています。最近は一般的なAIの知識、AWSのAIサービスを体系的にインプットしていました。インプット内容の整理も兼ねつつ、他の方の役に立てればと思ったので、合格体験記としてまとめてみました。
試験を受けない方も役に立つように、有益な書籍、Black Belt、セミナ資料もあわせて紹介しています。
# 試験概要
– 試験名:AWS Certified AI Practitioner(以降、AIF)
– 受験日:2024/11/11
– バージョン:AIF-C01
> 参考:AIFとは
AWS Certified AI Practitioner は、人工知能 (AI)、機械学習 (ML)、生成 AI の概念とユースケースに関する需要の高い知識を実証します。https://aws.amazon.com/jp/certification/certified-ai-practitioner/
**※最新バージョンは、最新の試験ガイドを参照ください。**
:::note
AWSに限
【2024年版】Rundeckのジョブ結果をSlackに通知する方法
Rundeckでジョブ実行の結果をSlackに通知するために、Slack Incoming Webhookプラグインを使って設定する方法を解説します。
## 前提条件
– Rundeck バージョン: 5.7.0
– Slack バージョン: プロダクション 4.41.96 64-bit
– rundeck は EC2(amazon_linux_2)にinstall## 手順
### 1. SlackのWebhook URLを取得
1. [Slack API](https://api.slack.com/apps)のページにアクセスし、「Create New App」から新しいAppを作成します。
2. 「Incoming Webhooks」を有効化します。
3. 「Add New Webhook to Workspace」をクリックし、通知先のチャンネルを選択します。
4. Webhook URL(例:`https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX`)が生成される