AWS関連のことを調べてみた

AWS関連のことを調べてみた
目次

AWS IaC環境(Terraform版)構築

# 前提
AWS IaCをTerraformで実行する環境を作るための手順です。
## 利用ソフトウェア
– AWS CLI
– Git
– Terraform
– VSCode
::: note warn
VSCodeのみ既にインストールしている前提で進めます。
VSCodeのインストールは[以前投稿した記事](https://qiita.com/furu38/items/6776acba6621012ee475)を参考ください。
:::
# AWS CLIのインストール

  1. コマンドプロンプトを開き、以下のコマンドを実行する。

    “`
    msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
    “`

  2. インストーラーが起動するため、指示に従いインストールを実施する。
  3. インストール完了後、コマンドプロンプトで以下のコマンドを実行し、バージョンが表示されることを確認する。

    “`
    aws –version
    “`

  4. AWS Credentialの設定をする
元記事を表示

Application Load Balancer入門:AWS ALBで複数EC2インスタンスを負荷分散する手順

## はじめに
この記事では、AWSのEC2インスタンスを起動し、Application Load Balancer (ALB)を設定する手順について説明します。

ALBを使用することで、複数のEC2インスタンスにトラフィックを分散させ、可用性を高めることができます。

また、ヘルスチェック機能を利用することで、インスタンスの稼働状況を監視し、異常時には自動的にトラフィックを切り替えることが可能です。

この記事を通じて、基礎的な知識を整理し、忘れがちな自分への備忘録として記録を残していきます。

## 知識整理
今回のアーキテクチャを実装する上で、以下の知識が必要です。

:::note
**EC2 (Elastic Compute Cloud):**
AWSが提供する仮想サーバー。必要に応じてスケールアウト/スケールインが可能。

**ALB (Application Load Balancer):**
トラフィックを複数のEC2インスタンスに分散するためのサービス。HTTP/HTTPSプロトコルに基づくリクエストのルーティングを行う。

**ヘルスチェック:** ALBがタ

元記事を表示

AWS サクッと EventBridge のハンズオン。EventBridge が動かない、、、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680230/f3090d5c-cb9c-08ca-33f2-a9b91059293d.png)

# はじめに
今回は社内の勉強会向けにハンズオン資料です。

毎週木曜日にAWS勉強会をしているのですが、前々回の話題に「S3 -> EventBridge -> SageMaker」が有り、EventBridge と SageMaker を使ったハンズオンを企画する事にしました。
ただ、SageMaker はサクッと 30 分の勉強会では、できそうにないので別の勉強会にしたいと思います。

今回は、AWS 初心者向けで「S3 -> EventBridge -> SNS」のサービスでハンズオンを行います。
1. S3 : バケット作成
1. EventBridge : S3のファイルアップロードをキャッチして、SNSへ通知
1. SNS : アップロードされたファイルの情報をメールで通知

# 事前準備
– ハンズオン参加者は、AWS 勉強会

元記事を表示

【Next.js App Router&Cognito】Google認証を独自UIで作ってみた【日本語化対応】

# はじめに
Next.jsとCognitoを使ったGoogle認証を実装する際、デフォルトのCognitoのUIでは認証画面が英語で表示されるという課題がありました。
また、日本語化の解決策としてAWS Amplifyを使う方法が紹介されていますが、最新のバージョンでは対応していない可能性がありました。
本記事では、これらの課題を踏まえ、NextAuth.jsとAWS SDKを用いた認証の実装方法を紹介します。

↓デフォルトだとこういう画像が表示されます
![スクリーンショット 2024-10-26 7.01.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840696/ffd89c1f-7216-e694-ce6d-cc9e4087d7fb.png)

# 目次
– [はじめに](#はじめに)
– [サンプルリポジトリ](#サンプルリポジトリ)
– [前提事項](#前提事項)
– [Cognito設定](#cognito設定)
– [環境構築変数確認](#環境構築変数確認)
– [フロントエン

元記事を表示

物件カードエラー対処メモ

# amplify

| Command | Error | Solution |
|:-:|:-:|:-:|
| amplify pull –appId d2bv4pi66mnlc8 –envName develop | Amplify appId mismatch. Resolution: You are currently working in the amplify project with Id dmba37fhdrvrw | https://qiita.com/mmkpp/items/cd281fa3abcdbb787fd5 |
| | | |
| | | |

# sam deploy

| Command | Error | Solution |
|:-:|:-:|:-:|
| aws ecr get-login-password –region ap-northeast-1 | An error occurred (UnrecognizedClientException) when calling the GetAuthorizat

元記事を表示

AWSのインフラをコード化:Terraformで簡単にEC2インスタンスを構築する方法

## はじめに
Terraformは、インフラストラクチャをコードとして管理できるツールで、AWSやAzureなど複数のクラウドプロバイダで利用されています。

この記事では、Terraformを使って米国東部リージョン(“us-east-2“)に最小限の構成でEC2インスタンスを構築する手順について説明します。

:::note warn
Terraformのインストールが完了していることを前提に進めます。
:::

## Terraformとは

Terraformは、インフラストラクチャをコード(Infrastructure as Code, IaC)として管理するためのツールです。

![スクリーンショット 2024-10-26 8.26.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/a1531ea9-3a09-2a88-6aae-c6ee8c04baae.png)
引用画像:https://sdpf.ntt.com/services/docs/fic/tutorial

元記事を表示

上級者向け:Amazon Bedrockを使用して独自の生成系AIを作成する方法

## はじめに
近年、生成系AIの発展により、さまざまなアプリケーションでの活用が進んでいます。Amazon Bedrockは、開発者がこれらのAIモデルを容易に利用できるプラットフォームです。

私自身、職場では生成系AIの使用が基本的に禁止されているため、主にインターネット上の文献などを参考にしながら、日々の手順書作成や障害対応を行っています。

本記事では、Amazon Bedrockを使用して生成系AIを作成する手順を詳しく説明します。

## 知識整理
### Amazon Bedrock
Amazon Bedrockは、さまざまな基盤モデル(FM)にアクセスできるサービスです。

![スクリーンショット 2024-10-25 23.49.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/000e3b01-a867-096c-5081-756cc89eec2b.png)
引用画像:https://businessnetwork.jp/article/16662/

これにより

元記事を表示

東大の「コードで学ぶAWS入門」を読んで理解したことのまとめ#3

## 2章の「クラウド概論」を理解する#3

#### 「クラウド」が提供する3つのサービス形態その2

##### Platform as a Service (PaaS)とInfrastructure as a Service (IaaS)を理解する。
前回のSaaSに引き続き、クラウドのサービス形態の残り2つを理解していく。どうやらこの2つを別々で理解するのは難しそうなので、2つを比較しながら進めていく

##### 「分かりそう」で「分からない」でも「分かった」気になれるIT用語時点によると、、、
IaaS はサーバや回線などのいわゆる「インフラ」に分類される部分を、インターネット越しに使えるようにしてくれるサービス
PaaS はサーバやOS、データベースなどのいわゆる「プラットフォーム」と呼ばれる部分を、インターネット越しに使えるようにしてくれるサービス

ん?サーバーって結局どっちなの?

#### ChatGPTに聞いてみた

##### サーバはIaaSとPaaSどちらですか?

🗒️ Answer
サーバは主にIaaS(Infra

【AWS】APIコールで疎通できていてもECSタスクが自動起動されない理由

# 概要
EC2 on ECSで構築したアプリについて、APIコール(エンドポイントへのコール)はできていたのに、デプロイ時や再起動時のECSタスク起動では失敗する、というケースがありました。

こちらの原因と解決方法を紹介します。

# 前提
・EC2 on ECSを利用。EC2はプライベートサブネットに配置
・サブネットは`ap-northeast-1a`、`ap-northeast-1c`の二つのAZに配置
・AutoscalingGroupでは、上記どちらのサブネットも選択している状態
・`ap-northeast-1a`ではNAT Gatewayを介してインターネット接続ができる状態

# 原因
前提を見ると原因は察しがつきやすいと思いますが、今回の原因は、

・EC2インスタンスが`ap-northeast-1c`で起動してしまうことがあったため

でした。

最初これに気づかず、`ap-northeast-1a`で起動したECSタスクでは疎通確認ができていたので、問題なしと勘違いしてしまいました。

ただし、デプロイ作業などでECSタスクを一度落とした際に、`ap-nor

【AWS】TerraformでECRの差分解消!state rmとimportで再作成を防ぐ方法

TerraformでECRを管理している際に、リソースに変更がないにもかかわらず再作成が求められる場合があります。ECRリポジトリの再作成は、既存のイメージ削除や意図しない影響を引き起こすため、事前に差分が出るはずのない状態を確認した上で、`state rm`と`import`を使って解決する方法を解説します。

## 前提条件の確認

ECRに差分が出る理由を確認するため、以下のようなログでECRの状態やTerraformの状態を確認します。これにより、差分が出るはずがない状態であることを確認します。

### 1. ECRのPlanのログ例

Terraformで`plan`を実行した際のログを確認します。差分がないにも関わらず、`create`アクションが出てしまう場合があります。

#### Planログ

“`
# module.main.aws_ecr_repository.admin will be created
+ resource “aws_ecr_repository” “admin” {
+ arn = (known

EC2で起動する Windows Server 2022 初期設定

Windows Server 2022 を起動した後に必要そうな初期設定を記載します。
初期設定後、停止してAMIを取得しておきマスターイメージとして使い回すことを想定しています。

:::note info
日本語版のWindows Server 2022を起動したい場合は、
Amazon マシンイメージ (AMI) を選択画面で、“`Windows_Server-2022-Japanese-Full-Base“`と検索すると、
AWSが公開しているAMI(所有者IDが801119661308)から起動できます
:::

### 1. コンピューター名変更
必要があれば変更する

### 2. タイムゾーン変更
[Windows キー]+[R]を押下し、“`control“`と入力し、OKをクリック
コントロールパネルを開き、[時計と地域] – [タイムゾーンの変更] – [タイムゾーンの変更] を開く
タイムゾーンを“`(UTC+9:00) 大阪、札幌、東京“`に変更し、OKをクリックする

![Cursor_と_13_115_222_238.png](https://

踏み台EC2を無くすためにAmazon Aurora MySQLのRDS Data APIとCloudShellを使ってみた

# はじめに
VPC private subnetに置かれたRDS Aurora MySQLに対して接続しようとした時、
古くからある手段としては、public subnetに置かれた踏み台EC2を経由してRDSに接続するという方法だと思います。

しかし、以下問題があります。
– EC2のサーバーは稼働しっぱなしでお金がかかる
– サーバーが存在するという事は管理コストがかかる

これをなんとかしたいです。

# 解決策
現状では、以下が良さそうだと思っています。

– クエリを実行したい場合はRDS Data APIを使う
– mysqldumpコマンドなどのコマンドを実行したい場合はCloudShellを使う

RDS Data APIは、以下参考ください。

https://aws.amazon.com/jp/about-aws/whats-new/2024/09/amazon-aurora-mysql-rds-data-api/

※現状ではRDS Data APIはAmazon Aurora PostgreSQLとAmazon Aurora MySQLのみサポートとなります

【緊急!AWSを守れ!】知らなきゃ危険なDDoS攻撃の対策法

## はじめに
こんにちは、uiroleです!
今回は、AWS SCS認定試験でも頻出の DDoS攻撃 について、その危険性と対策法を詳しく解説します。
この記事を読んで、AWSを守るための知識を身につけましょう!

## DDoS攻撃とは?

DDoS(Distributed Denial of Service)攻撃 とは、複数のマシンからターゲットのサーバーやサービスに対して過剰なリクエストを送り、サービスをダウンさせる攻撃手法です。
この攻撃によって、**正常なユーザーがサービスを利用できなくなり、企業に多大な損失をもたらす**可能性があります。

## DDoS攻撃の主な種類

| 種類| 特徴|
|:———–|:————|
| ボリュームベース攻撃 | 大量のトラフィックを生成し、ターゲットの帯域を圧迫します。|
| プロトコル攻撃| TCP/IPスタックの脆弱性を突き、サーバーやネットワーク機器のリソースを消費させます。|
| アプリケーション層攻撃| 特定のアプリケーションに対して大量のリクエストを送り、サービスをダウンさせる攻撃です。|

OpenShift Data Foundation (ODF) – 4.16 Installation

### OpenShift Data Foundation (ODF)

Red Hat OpenShift Data Foundation とは

Red Hat® OpenShift® Data Foundation (旧 Red Hat OpenShift Container Storage) は、コンテナ用ソフトウェア・デファインド・ストレージであり、Red Hat OpenShift に緊密に統合されたデータサービスを提供します。Red Hat OpenShift Data Foundation は、クラウド全体でアプリケーションを迅速かつ効率的に開発し、デプロイするのに役立ちます。

https://www.redhat.com/ja/technologies/cloud-computing/openshift-data-foundation

ここでは、以下のドキュメントに基づいて、AWS 上の OpenShift Container Platform (OCP) IPI/UPI 環境に ODF 4.16 を導入・設定する手順をご紹介します。

https://docs

Amazon Linux 2023

# AWS Linux 3世代
AWSが独自に提供しているLinux OSが3世代あります。
1. Amazon Linux 1 (2023年 EOL)
2. Amazon Linux 2 (2025年 EOL)
3. Amazon Linux 2023 (latest)
:sun_with_face: 「Amazon Linux 3」のような単純な名称にならず良かった
:thunder_cloud_rain:「Amazon Linux 2」と「Amazon Linux 2023」がどちらが最新かな?と最初は疑問があった。

# Amazon Linux 2023
ベースとなるOSがRedHatからFedoraへ変更したため、パッケージ管理ツールもyumからdnfへ変更になりました。
しかし、yumコマンドはそのまま使えます。dnfへのポイントとして生きています。

[Package management tool][ref0]

[ref0]: https://docs.aws.amazon.com/linux/al2023/ug/package-management.html

AWS CDKでS3,VPC,EC2等を構築する

# CDKに慣れるために
前の記事でLambdaの構築を行うことができたので今度はS3,VPC,EC2などを立ち上げていきます。
EC2の構築にはVPC周辺の設定が必須なので勉強になりそうです。

# コーディング
構築したいリソースについて記載方法を調べていきます。

lib/○○.ts
“`ts
import * as cdk from ‘aws-cdk-lib’;
import * as ec2 from ‘aws-cdk-lib/aws-ec2’;
import * as s3 from ‘aws-cdk-lib/aws-s3’;

export class MyArchitectureStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);

// VPCの作成
const vpc = new ec2.Vpc(this, ‘MyVpc’, {
maxAzs: 2

アレ、Amazon Linux 2023がログを吐かない。。。

#はじめに
某ベンダで、クラウドの人材育成企画と研修トレーニングのデリバリを担当しています。
先日、研修準備のためラボ環境を評価していたのですが、Amazon Linux 2023がシステムログを出力しないトラブルに遭遇。ちょっと焦る事態に発展しちゃいました。

結論から言うと、Ammazon Linux2から仕様変更に伴い、ログの出力が変わったんですね。
Amazon Linux 2023のユーザーガイドの情報はこちら。

>systemd ジャーナルの置き換え rsyslog
>https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/journald.html

Red Hat Enterprise Linuxはどうなんだっけ?と思い調べるとRHEL7からjournaldが導入済み、現状のバージョンは9なので、数年前から変更されてたんですね、、、知りませんでした。
Red Hat Enterprise Linux 7の情報はこちら。

>第23章 ログファイルの表示と管理
ログファイルは、systemd のコンポーネントである journ

AWS Bottlerocketをワーカーノードとして利用するEKS環境で FSx for NetApp ONTAP環境のNFSボリューム利用がサポートされたので試してみた

NetApp Trident 24.06で AWS BottlerocketでNFS volumeの利用が[サポート](https://www.netapp.com/blog/netapp-astra-trident-supports-more-cloud-workloads/
)されました。

AWS Bottlerocket はコンテナに最適化された安全なワーカーノードとして利用でき、必要なパッケージのみを導入することでセキュリティ向上や、リソース使用率を改善して管理オーバーヘッドを削減するなどのメリットがあるかと思います。

そのBottlerocketをワーカーノードとして利用するEKSの環境下でのストレージプラットフォームとしてFSx for NetApp ONTAPを利用できるようになったとのことなので、とりあえず実際に試してみました。せっかくなのでその手順を紹介したいと思います。

## 前提
以下の環境で試しています。

– Amazon EKS 1.30
– eksctl 0.194.0
– Trident 24.06

## やってみること
Bottlero

AWS LambdaでOpenAIのライブラリを使おうとして「No module named ‘jiter.jiter’」のエラー

## 環境
– AWS Lambda
– Python 3.12

## 先に解決策
openaiのバージョンをopenaiのバージョンを下げる(1.39.0にしたらエラーにならなかった)

## 何が起こったか
案件でAWS Lambdaを使ってChatGPTに投げたいということがあった。それこそchatGPTやQiitaを見ながら環境構築していきました。
– [AWS Lambda(Python)からOpenAIのGPT4のAPIを呼び出してみた](https://qiita.com/nabata/items/903a2ebff8e44516598e)

そこではじめは`Unable to import module ‘lambda_function’: No module named ‘pydantic_core._pydantic_core`というエラーになったのですが、これは解決策が載っていたので特に問題なく。
– [AWS Lambda Layers + OpenAI でつまづいた件](https://zenn.dev/galapagos/articles/a222e38a

LambdaとS3間の再帰ループ検出の検証

# はじめに
株式会社ジールの @oreo_tです。
2024/10/9のアップデートで、AWSのLambdaとS3間の再起ループの検出と自動停止ができるようになりましたので紹介しようと思います。

今回の更新情報

https://aws.amazon.com/about-aws/whats-new/2024/10/aws-lambda-detects-stops-recursive-loops-lambda-s3/

Lambdaの再起ループ検出について

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invocation-recursion.html

この機能は、Lambda関数が再帰的に呼び出されることで意図せず延々と動作し、莫大なコストがかかってしまうという事故を防ぐための措置で、デフォルトで有効化されています。
Lambda関数の設定で機能のオンオフの切り替えができますが、ループ処理を16回検知したら停止する、という閾値は変更できず固定になります。
SQS、Lambda、SNS間での再起ループ検出、自動停止は去年の7