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

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

「AWS認定クラウドプラクティショナー」受験

Y子です。

「AWS認定クラウドプラクティショナー」の試験を受けてきました。今日はその話です。

# 結果
最初に書いてしまいますが、「不合格」でした!あちゃー。
完全に、経験不足・準備不足・勉強不足でした。
今回の試験料金16500円を無駄にしないためにも、次は受かりたいです。

# 経緯
これまでAWSは全く未経験でしたが、最近仕事で触るようになりました。
触れる前に、初心者向けの参考書を読み通して、主要サービスはどんなものがあり、それが何を担当しているのか、ぐらいはわかる状態になりました。
そこからは、わかる人に聞いて、EC2を立ち上げたり、セキュリティグループを設定したり、Step Functionsの動きを見守ったり…なんてことをしてました。

そんな感じなんですが、上司との面談で「AWSの資格を取る」と 言わされて 宣言してしまったので、とりあえず「クラウドプラクティショナー」の試験を受けてきた、という流れです。

# 勉強
クラウドプラクティショナー試験対策の参考書も買いましたが、いろいろ自分に言い訳して、しばらく「積ん読」状態でした。これはよくないと思い

元記事を表示

東京大学のAWS入門資料がいい感じだったので最新のAWS環境でも実行できるようにしてみた

# きっかけ
東京大学のAWS講義「[コードで学ぶAWS入門](https://tomomano.github.io/learn-aws-by-coding/)」、いわゆる東大AWSってやつがが良いらしいと聞いたのでやってみました。
確かにこれは良いです。クラウドをこれから学びたい方にぜひおすすめ。

https://tomomano.github.io/learn-aws-by-coding/

集中講義的に休日に半日もあれば学べます。

かかるAWS費用もわずか。
ほとんどのチュートリアルがAWSの無料枠で実行できてしまいます。機械学習用のGPUインスタンスをぶん回すところだけは有料です。それでも数百円で済みます。
これは一通りハンズオンをやってみたAWSの費用です。

**もはや学ばない理由が見当たりませんね。**

元記事を表示

VPCと外部NW、別VPCのIPアドレスの重複や枯渇に対応する方法

# はじめに
大規模NWにVPCを接続する際にIPアドレスレンジが課題になることって結構多いですよね。
今回は、IPアドレスを効果的に利用する方法や、節約する方法を解説していきます。
※IPアドレスの管理方法などには触れません。

# 課題
以下のような大規模NWの構成を考えてみます。
各NWは相互に通信を行うため、全体で、IPアドレスが重複しないような管理方式を取るか、どこかでNATするかなど構成を大きく検討する必要があります。また、NWは変更、拡張していくものですので、できる限りIPアドレスは効果的に利用する必要があります。
![スクリーンショット 2024-06-09 22.31.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/584167/f305380e-cb9e-2e55-fbfe-09f4b5bc9269.png)

そもそも、ローカルNW上はプライベートIPアドレスを利用することが一般的です。プライベートIPアドレスのクラスAレンジを利用したとしてもせいぜい約1600万個程度、予備の

元記事を表示

[Terraform]別AWSアカウントにS3オブジェクトをコピー

# 別AWSアカウントのS3にオブジェクトをコピーしたい

特定のAWSアカウントのS3バケットにあるオブジェクトを
別AWSアカウントにコピーするTerraformコードの紹介になります。

## 実際のコード

copy_objectを使えばOKです。

– main.tf
ソースのS3バケットが存在するAWSアカウント設定

“`hcl
provider “aws” {
region = “ap-northeast-1”
default_tags {
tags = {
IaC = “Terraform”
}
}
}

# コピー対象のAWSアカウント設定
provider “aws” {
profile = var.targetprofile
alias = “delegator”
region = “ap-northeast-1”

default_tags {
tags = {
IaC = “Terraform”
}
}
}
“`

– dat

元記事を表示

ローカルLLMの最新動向と事例

### はじめに
皆さんこんにちは♪
本日は、ローカルLLMの最新動向と事例について、紹介します。

ローカルLLMについてはこちらも参考にしてください♪
https://note.com/kii_genai/n/nf360bc4e0167

LLM(Large Language Model)は、膨大なデータセットを用いて学習された自然言語処理モデルです。従来はクラウドサーバーでの実行が主流でしたが、プライバシー保護やデータセキュリティの観点から、ローカル(デスクトップやモバイルデバイス)での利用が注目されています。今回は、ローカルLLMの最新動向と事例を国内外から紹介します。

### 国内の事例

#### KARAKURI LM
カラクリ株式会社が開発した「KARAKURI LM」は、日本語に強いローカルLLMとして注目されています。2024年1月に「KARAKURI LM 70B Chat v0.1」を公開し、多くのユーザーに利用されています。KARAKURI LMの特徴は、その高い日本語処理能力と多様なユースケースに対応する柔軟性です。

具体的な用途としては、クリエイテ

元記事を表示

【AWS】Lambda(boto3)を使ってDynamoDBへ読み/書き込みを実施

# はじめに
Lambdaを使用してDynamoDBのテーブル読み込みをできますか?
私はSDKを利用して`dynamodb.query`などの関数を使用すればいいと考えていましたが、具体的な実装まで理解できていませんでした。

本記事はLambdaを利用してDynamoDBに対して、
一般的なアクションを実装してみた記事となります。

# 今回試してみる構成
This is Simple構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1764568/e5130438-1325-28b9-9e62-1cf0673118fa.png)

## DynamoDB構成
パーティションキー:Id
ソートキー:Timestanp
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1764568/b67bb6aa-bd6b-a5bf-6032-82cd717b2d41.png)

# 前提
## クラ

元記事を表示

AWSのコスト状況をLINEとDiscordに定期通知させてみる(高額請求回避)

# はじめに
Amazon Kendraの勉強をした後に作成したリソースを消し忘れており、`$262.12` (=42,169.21 円 2024/6/29時点)の請求が来てしまいました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1247619/7389112b-6aa9-eca1-6349-19bb075f1d0d.png)

私がこまめにコストの方を確認していなかったのが悪いのですが、請求アラートの設定もできていなかったため今回請求アラートの設定を行いました。
またこの際に、勉強も兼ねて自分が使っているSNS(LINE、Discord)にAWSのコスト情報を通知する仕組みも実装してみました。
本記事はこれらの内容をまとめたものになります。

# 請求アラートの設定
AWS Billing から請求アラートをドキュメント記載の手順通り設定(AWS Billing > 請求設定 > アラート設定)するだけです。

https://docs.aws.amazon.com/ja_j

元記事を表示

ALBのアクセスログをAthenaで分析してみる

# 経緯
本番環境でALBから500エラーが返ってきていて、アクセスログをみたかったけど、お客様環境の制限でS3バケット上のALBアクセスログの参照権限が付与されていなかった。
参照権限をもらえればいい話ではあるが、確認に時間がかかるらしく今すぐみることができない。
そもそも運用環境でアクセスログの参照権限がないのは不思議な話ではあるが、ALBから500エラーが返ってくることはよくあることであり、アクセスログを確認することも少なくないと思う。
しかし、この環境の設計では、アクセスログは保管のみの用途とされており、システム障害などが発生した場合や根本原因を調査する場合のログ分析が想定されたものではないため、分析の手法がなく、万が一分析が発生した場合、ログを手作業で見る羽目になってしまう。
運用改善の材料として、ALBのアクセスログをAthenaで分析できるようにし検証してみようと思いました。

# 今回やること
1. ログ転送用のS3バケット作成
2. ALBのアクセスログ有効化
3. Athenaで分析

# やってみる
### ログ転送用のS3バケット作成
まずはバケットを作ります。

元記事を表示

AWS CodeGuru ReviewerでPythonのコードを自動レビューしてもらおう

こんにちは。Kaneyasuです。
本記事はAmazon CodeGuruを使って、Pythonのコードを自動レビューを試みるという記事です。

# AWS CodeGuru Reviewerとは

https://aws.amazon.com/jp/codeguru/

Amazon CodeGuruはAIによるソースコードのセキュリティチェック、ソースコードのコードレビュー、アプリケーションのサンプリングからプロファイル作成を行うという3つの機能を持つサービスです。
それぞれ、Amazon CodeGuru セキュリティ、Amazon CodeGuru Reviewer
、Amazon CodeGuru Profilerと言います。
なぜかCodeGuruの公式ページではセキュリティの機能だけが前面に出ていますが、3つの機能があります。
本記事ではAmazon CodeGuru Reviewerを用いて自動コードレビューを試してみます。

なお、CodeGlueではなくGuruです。
ETLサービスにAWS Glueがあるため、スペルを間違えやすいですが、Guruです。

# AW

元記事を表示

proxy経由でdnfリポジトリを使う

# 経緯
AWS環境でプライベートサブネット上のEC2からインターネット上のdnfリポジトリを使いたい。
多くは、パブリックサブネット上にNATゲートウェイを置いて、そこをインターネットGWを経由して外へ出る構成だと思う。
今回は、NATゲートウェイの代わりにプロキシサーバを構築して、外へ出る構成を作ってみる。

# 構成図
![proxy.drawio (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478546/5570ff57-7bff-f472-322f-8f31754fc9ab.png)

# やってみる
※インスタンスの構築の流れはここでは省略します。一般的な構築なので。

### 【セキュリティグループの設定】
※検証用なので、セキュリティはガバガバの設定です。本番はしっかり設計してください。
・Bastion/Proxy
最低でも個人環境からSSH接続できること、プロキシ通信を受信できるようにすることが大切です。
(マイIPを設定しているので伏せています)
![スクリーンショット

元記事を表示

AWS SAAに合格した備忘録

## AWS SAAに合格した備忘録
AWS未経験の私が1か月で合格に至るまでの経緯をまとめてみました。

## 学習を始めた段階のスキル
AWSは一切触ったことなし
Azure AZ900取得済
1年程度AzureポータルからリソースやらVirtualMachineやらを操作した程度

## AWS合格までの道筋

2024年4月22日 AWS CLF学習スタート
※2024年4月21日応用情報技術者試験受験しました
2024年5月25日 CLF-C02 合格
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802927/9d81cda9-d187-8155-cee6-22314971acfd.png)

2024年5月26日 AWS SAA 勉強開始
2024年6月29日 AWS SAA 合格

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3802927/b6935384-0376

元記事を表示

AWS Amplifyを用いて単語帳アプリを作る ~準備~

AWSをいろいろ組み合わせて何かを作りたいなぁと思い、よくある単語帳アプリを作成します。

イメージとしてはこんな感じ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273072/edf1ec7c-2f3d-66fa-a4c2-588d886e2334.png)

フロントはReactで作成し、バックはLamdaを用いて作成します。
最終的には、ログイン画面、単語登録画面、単語問題画面の3画面は作ります。

# AWS Amplifyとは?
めちゃめちゃざっくりいうとGitHubから直接デプロイできて、AWSのサービスと連携しやすいものです。
まだまだざっくりしか理解できていないので、今回触ってより理解を深めていきます!

# 次回
まずはログイン画面の作成から進めていきます!

元記事を表示

Let’s Encrypt+Route53でDjangoをSSL化してみよう

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

この記事ではタイトルの通り、Let’s Encryptで証明書を取得して、その取得した証明書を使ってDjangoをSSL化して、セキュアな通信環境を実現したいと思います。

OSはAmazon Linux 2023を使っております。
このOSにLet’s Encrypy環境を作る方法は以下となります。

https://qiita.com/ohtsuka-shota/items/af39a7c40c61ec13c5cd

# 構築
## Django環境構築
何度目かわかりませんが、Djangoをインストールしていきます。
Amazon Linux 2023ではPython3がデフォルトでインストールされていますが、pipがインストールされていないようなので、インストールしていきます。
その後、DjangoとSSL化するためのDjango-SSLServerをインストールします。
“`
[ec2-user@ip-192-168-3-38 ~]$ sudo su –
Last login: Sat Jun 2

元記事を表示

AWS Amplify JavaScript v5からv6へ変更時、APIキーをエンドポイント毎に設定する方法

Amplify JavaScriptは2023年11月にv6の提供が開始され、バージョンアップによる破壊的変更が含まれています。
v5で複数のREST APIを設定する場合、それぞれのエンドポイントに対してAPIキーを設定できていたのですが、v6への変更でそのままでは設定できなくなっていたので修正方法を紹介します。
v5でのAPIキーを設定する場合、カスタムヘッダーとして記述することで設定できます。
具体的なコードは以下のようになります。(公式ドキュメントを少し修正したものになります)
“`typescript:v5.ts
import { Amplify, API, Auth } from ‘aws-amplify’;

const config = {
API: {
endpoints: [
{
name: ‘MyAPIGatewayAPI’,
endpoint: ‘https://1234567890-abcdefgh.amazonaws.com’,
custom_header: async () => {

元記事を表示

AWSにDjangoの環境を整えていく04(CloudFront)

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

今まで作成したALB (ELB)+ EC2 + RDS環境に対してCloudFrontをデプロイし、CDN環境を作っていきます。

今までの環境構築の流れは以下にまとめておりますので、適宜ご覧ください。

https://qiita.com/ohtsuka-shota/items/4b80538569b81f8c19a6

# 環境イメージ
前回デプロイしたALBに対してCloudFrontを紐づけていき、CloudFront経由でDjangoにアクセスできる環境を作っていきたいと思います。
※セキュリティの事に関しては特にここでは考慮をしておりませんのでご認識おきください。

![aws-django01-ページ8.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/aabb504c-49a1-799f-55d5-d970468177e7.png)

# CloudFront(CDN)環境を用意するメ

元記事を表示

AWS CloudTrailとメトリクスフィルタでセキュリティ監視をしている人に向けたTips

はじめに

こんにちは、クマ松です。

不正なログインや異常なアクティビティを即座に検知することは、AWSアカウントのセキュリティを確保するためには重要ですよね。

AWS CloudTrailAmazon CloudWatch Logs、そしてAmazon SNSを組み合わせて、不正なAPIコールを監視している人も居るのではないでしょうか。今回はこの構成の注意点と、代替案をご紹介します。

結論

AWS CloudTrailの操作ログがAmazon CloudWatch Logsに出力されるまでに**15分かかることがある**ため、**迅速に**何らかの異常操作を検知したい場合には不向きな構成
– 不正な操作を迅速に検知したい場合は

serverless v4 でAPI Gatewayのログ出力を設定するとエラーになってデプロイできない

## はじめに
serverless framework v4でAPI Gatewayのログを設定すると、“`The role with name serverlessApiGatewayCloudWatchRole cannot be found. “`というエラーが出てデプロイできない不具合がありました。“`serverlessApiGatewayCloudWatchRole“`という名前でIAM Roleを作れば解決するのですが、初見殺しすぎるので解決方法を共有します。

## 事象
以下のようにserverless.ymlでAPI Gatewayのログを出力するように設定します。

“`yml
provider:
name: aws
logs:
websocket: true
“`

これで“`sls deploy“`をすると、以下のエラーが出て、デプロイに失敗します。

>✖ An error occurred: CustomApiGatewayAccountCloudWatchRole – Received response status [

ActiveGate を利用したDynatrace によるAWSの監視 2024年版

# はじめに

以前[ActiveGateを利用したDynatraceによるAWSの監視](https://qiita.com/sukatsu1222/items/304c556016596e8bf805)という記事を投稿しましたが、公式ドキュメントの内容が更新されより簡単にAmazon CloudWatchとDynatraceを連携させることができるようになりました。
本記事では、2024年現在の最新手順について改めて紹介していきます。

# 事前準備

本記事では[ActiveGate](https://docs.dynatrace.com/docs/shortlink/activegate-landing)を利用して、AWSを監視する方法について紹介していきます。

ActiveGateの導入方法については以下の記事で紹介していますので、ご参考ください!

https://qiita.com/sukatsu1222/items/7f07122544453253eb4c

:::note warn
ActiveGateを利用してAWSを監視する場合、ActiveGateにIAM R

AWS Summit Japan2024に行ってきました!(2日目 GameDay)

# はじめに
AWS Summit Japan2024(2日目)に参加してきました!GameDayの参加権を当日に手に入れることができたので、GameDayを中心に記録を残していきます。
1日目のレポートは以下からどうぞ!

https://qiita.com/hoshi7_n/items/c447d16a3d5855e9af48

# 目次
– [AWS GameDayとは?](#aws-gamedayとは?)
– [2日目の過ごし方](#2日目の過ごし方)
– [概要](#概要)
– [詳細](#詳細)
– [GameDayの記録](#gamedayの記録)
– [おわりに](#おわりに)

# AWS GameDayとは?
公式サイトはGameDayについて以下のように説明しています。
> チームベースの環境で、AWS ソリューションを利用して現実世界の技術的問題を解決することを参加者に課題として提示する、ゲーム化された学習イベントです。従来のワークショップとは異なり、GameDay は自由で緩やかな形式で、参加者は固定概念にとらわれずに探索し、考えることができます。

Aurora PostgreSQL のパスワードを Secrets Mangaer でローテーションさせる際にはまったこと

Aurora PostgreSQL のパスワードを Secrets Mangaer でローテーションさせる際にはまったことをご紹介します。

## 想定の構成

今回は以下のような構成を想定しています。

![スクリーンショット 2024-06-29 15.25.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074001/27d9c359-e009-2bf3-e1e8-d3efd0eb3a3c.png)

ECS から Aurora PostgreSQL にアクセスするためのユーザ名やパスワードなどの認証情報を Secrets Manager に格納しています。また、認証情報は Lambda でローテーションさせます。

## はまったこと

PostgreSQL の接続 URL は”postgresql://【ユーザ名】:【パスワード】@【ホスト名】:【ポート番号】/【データベース名】”という形式です。PostgreSQL のパスワードに[パーセントコーディングの必要な文字](https://