- 1. Lambdaを使用したRDSの操作
- 2. CloudFront Functionを使用したリダイレクト機能の実装
- 3. ロードバランサーであるALB、NLB、GWLBの使い分け
- 4. VPC内におけるDNSとDHCP、Route53リゾルバの整理
- 5. Lambda(Node.js)のDockerイメージをデプロイしてみた。(その4,ECRへ登録とLambdaの実行)
- 6. 【第3回 NTTデータ 西川洋平さん】2024 Japan AWS Jr. Champions インタビュー企画
- 7. Rust製バッチ処理をLambdaとECSのどちらでも実行できるようにするためのCargo/Docker活用術
- 8. CloudFormationによるAWSネットワーク構築④:ALBとEC2をCloudFormationでコード化して、ブラウザからアクセスしてみた
- 9. 【AWS】ローカルから踏み台サーバーを経由してpsqlコマンドを実行する
- 10. アプリのデプロイパターンの選定ポイント
- 11. Terraform勉強-第32回:DockerイメージをAWS Lambdaでデプロイし、イメージのバージョンをハッシュ管理する(PythonコードをDockerイメージにしてECRにプッシュし、Lambda関数で使用)
- 12. 【メモ】AWSとStreamlitを使っていたらERR_CONNECTION_TIMED_OUTが出まくった話
- 13. AWS DEA合格体験記
- 14. オンプレからのAWS移行手法と移行戦略
- 15. 社内で使える居酒屋共有アプリを作ったンゴ 【Map’ngo🍺】
- 16. たぶんできる! AWS無料利用枠でスケーラブルウェブサイト構築 ハンズオンをELBのパブリックアドレスにはIPv6だけを割り当てて無料でやりきる!!!
- 17. AWS Direct Connect と VPN の利用検討の整理
- 18. Transit Gateway入門
- 19. API Gateway + API Key認証で403エラーが返ってきた際に対処したこと
- 20. AWS Tagを登録して検索したけど、やり方によって結果が違う!?
Lambdaを使用したRDSの操作
## はじめに
AWS上でRDSでのDB操作をする場合、踏み台サーバ(EC2)等からRDSに接続し操作をするのが一般的かと思います。
ただし、この場合サーバの管理などが必要になるため不要なコストが発生する可能性があります。
Lambdaを使用してDB操作をする場合はサーバの管理が不要なため、簡単なデータ参照や登録、更新、削除などを行いたいときはLambdaを使用するのも一つの選択肢になるかと思います。
本記事ではLambdaからRDSの操作を行う際の各種設定手順とエラーポイントについてまとめていきます。## 前提条件
・コンソール操作で各種リソースを作成
・データベースの作成における、エンジンのタイプなど一部の設定値に関しては要件に応じて読み替えてください。## RDSの作成
①VPCの作成
・作成するリソースで「**VPCなど**」を選択
・VPCエンドポイントで「**なし**」を選択
・その他の設定はデフォルト②DBサブネットグループの作成
・①で作成したVPCを選択
・①で作成したVPCのサブネットが存在するAZを2つとも選択
・①で作成したVPCのプライベート
CloudFront Functionを使用したリダイレクト機能の実装
Webサイトでドメイン変更を行った際、旧ドメインを新ドメインにリダイレクトさせたいと思うことがありました。そのリダイレクト処理をCloudFrontの関数を使用すれば簡単に実装できるのでその設定方法を記します。
## 前提条件
– S3 + CloudFrontの静的webサイトホスティングを使用している
– 旧ドメイン、新ドメイン共にCloudFront Distributionが作成されている## 実現したいこと
– 旧ドメインにアクセスした際、新ドメインにリダイレクトさせる
– 但し、パスに「/test/」までの指定があった場合はリダイレクトせず旧ドメインを使用する| 旧ドメイン | 新ドメイン |
|:-:|:-:|
| before.example.com | after.example.com ||ケース|想定される動作|入力されるURL|リダイレクト先URL|
|:-|:-|:-|:-|
|パスに「/test/」までの指定がされている場合|旧ドメインのままリダイレクトしない|https://before.example.com/test/xxxxx|https
ロードバランサーであるALB、NLB、GWLBの使い分け
# NLB (Network Load Balancer)
### 用途
・L4 (Transport Layer) レベルの負荷分散### 特徴
・「**TCP**」 と 「**UDP**」 トラフィックの負荷分散に最適
・高いスループットと低レイテンシが求められるアプリケーション向け
・接続の耐障害性が高い (可用性が高い)
・「**IPアドレスベース**」の負荷分散が可能(クライアントのIPアドレスが保持される)
・固定IPを使用可能(Elastic IPとして)
・TLS/SSLオフロードはサポートされていない(直接、ターゲットに暗号化されたトラフィックが送信されます)### 適用例
・高トラフィックなゲームサーバー、IoT、リアルタイム通信アプリケーション
・サーバーへの直接的なトラフィックが必要な場合(例えば、バックエンドでスピーディな応答が求められる場合)### 典型的なユースケース
ゲームサーバー、リアルタイム通信、IoTデバイス、VPNゲートウェイ、UDP対応# ALB (Application Load Balancer)
### 用途
・L7 (A
VPC内におけるDNSとDHCP、Route53リゾルバの整理
# そもそものところ、DNS VS DHCP?
### DNS(Domain Name System)
・名前解決:
人間が認識しやすいドメイン名(例:www.example.com)を、デバイスが理解できるIPアドレス(例:192.168.1.1)に変換する役割を担います。・ドメイン情報の管理
DNSは、WebサイトやサービスがどのIPアドレスに紐づいているかを管理する「電話帳」のような役割を果たしています。・サーバー間の連携
DNSサーバーは階層構造で世界中に分散され、各ドメインの管理を効率化しています。### DHCP(Dynamic Host Configuration Protocol)
・IPアドレスの自動割り当て
ネットワークに接続するデバイスに対して、自動的にIPアドレスを割り当てる機能です。・ネットワーク設定の自動化
DHCPはIPアドレスだけでなく、デフォルトゲートウェイやDNSサーバーのアドレスも自動的に設定します。・一時的なアドレスの提供
DHCPで割り当てられるIPアドレスはリース期間が設定されるため、期限が切れると再度アドレスを取得する
Lambda(Node.js)のDockerイメージをデプロイしてみた。(その4,ECRへ登録とLambdaの実行)
# はじめに
LambdaをDockerイメージでデプロイする方法を、調査する機会があったので自分の備忘用にメモ書きを残します。実行環境は、前回から引き続きになります。
今回は、ECRにデプロイしてLambdaとして動作させる所をメモ書きします。# AWS CLIを利用できるようにConfigureを実施
ECR関連を操作できるアクセスキーを用意して、configureする
“`shell
aws configure
“`
+ アクセスキー:払い出した物
+ シークレットキー:払い出した物
+ Default Region:ap-northeast-1
+ Default 出力フォーマット:json# ECRにデプロイする
“`shell
aws ecr get-login-password –region ap-northeast-1 | docker login –username AWS –password-stdin 【AWSアカウントID】.dkr.ecr.ap-northeast-1.amazonaws.com
“`
「Login Succee
【第3回 NTTデータ 西川洋平さん】2024 Japan AWS Jr. Champions インタビュー企画
こんにちは!2024 Japan AWS Jr. Championsの[@yakisobapan](https://qiita.com/yakisobapan)です。
AWS Japanが6月に開催したAWS Summit Japanにて、2024 Japan AWS Jr. Championsが発表されました。Jr.Championsは、AWSを積極的に学び、アクションを起こし、周囲に影響を与えている若手エンジニア向けの表彰プログラムとなっております。Jr.Championsについて多くの方に知ってもらいたいため、表彰された方々にインタビューをしていきます。
第3回目は、NTTデータの西川洋平さんです!
![IMG_2806.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2737731/9311e9e6-0df4-6c12-c8f5-2cb2efbc0389.jpeg)https://aws.amazon.com/jp/blogs/psa/2024-japan-aws-jr-champions/
Rust製バッチ処理をLambdaとECSのどちらでも実行できるようにするためのCargo/Docker活用術
## 背景
筆者はアプリケーションのバッチ処理を基本的にRustで実装しています。そうしたバッチ処理は以下の記事で書いたようにLambdaで実行する場合が多いです。
https://qiita.com/Yuki_Oshima/items/860a859fb85365a609fc
ただし、実行に15分以上かかるような処理はLambdaで実行できないので以下の記事で書いたようにECS/AWS Batchで実行します。
https://qiita.com/Yuki_Oshima/items/bb020e6a7702750d4f66
バッチ処理の実行時間は事前に予想できない場合が多く、また運用する中で処理時間が長くなっていくこともあります。そのためあらかじめLambdaでもECS/AWS Batchでも実行できるようにしておくと状況に応じて処理基盤を選択できて便利です。
## 概要
この記事ではRustでLambdaとECS/AWS Batchの両方で実行可能なバッチ処理を実装する方法を解説します。
具体的な内容は以下の通りです:
1. **Cargoを使った複数バイナリの作
CloudFormationによるAWSネットワーク構築④:ALBとEC2をCloudFormationでコード化して、ブラウザからアクセスしてみた
## はじめに
この記事では、AWSのCloudFormationテンプレートを使用して、80番ポートで通信するアプリケーションロードバランサー (ALB) の構成を作成します。また、本番サーバー (ProductionInstance) の起動時に、httpd パッケージのインストールと httpd サービスの起動を自動化するためのコマンドも設定していきます。
インフラのコード化に興味のある方や、CloudFormationの活用を検討している方は、ぜひお読みください!
## 前回の記事の続きになります。
この記事は過去の記事の続きです。詳しく知りたい方は以下の記事も参考にしてください。
https://qiita.com/free-honda/items/5a8c69df40c631549663
https://qiita.com/free-honda/items/06d092c82d1dcb1e77fe
https://qiita.com/free-honda/items/da70f65d9d93a89abd23
今回は、CloudFormationでの ALB
【AWS】ローカルから踏み台サーバーを経由してpsqlコマンドを実行する
# はじめに
DB関連のエラー調査のため、psqlのメタコマンドを実行する必要があった。
使用PCはWindowsです。# 問題
psqlコマンドでDBへ接続したいが、踏み台サーバーを経由する必要があるが、方法が不明だったため調査。# 解決方法
sshでポートフォワーディングによる接続を行う必要がある。
私の参加していた案件ではpemファイルを利用していたので、pemファイルも指定する。
“`bash
ssh -o StrictHostKeyChecking=no -f -N -L {ローカルで待ち受けるポート}:{RDSのエンドポイント}:5432 ec2-user@{踏み台サーバーのIP} -i {秘密鍵のパス} 2>&1
“`
※ローカルで待ち受けるポートは他と重複しない任意のポート番号接続できているか確認する。
“`bash
netstat -na
“`結果
状態がLISTENINGになっていることを確認。
“`bash
…
TCP 127.0.0.1:{指定したローカルのポート} 0.0.0.0:0
アプリのデプロイパターンの選定ポイント
AWS CodeDeployには、LambdaやECSなどのデプロイに使用できるさまざまなデプロイ方法があります。
それぞれのデプロイ方式の使い分けを調べてみました~
# All-at-once (一斉デプロイ)
### 概要
新しいバージョンがすべてのユーザーに即時適用されます。### メリット
デプロイが高速で、シンプルです。
環境が少数であればデプロイ管理が容易。### デメリット
新しいバージョンにバグがある場合、全ユーザーに影響します。
ロールバックが発生すると、全ユーザーが影響を受けるため、慎重にリリースする必要があります。### ユースケース
開発環境やテスト環境などでのデプロイ。
サービス影響が小さいバグ修正。
システムが単純で、障害に強いアーキテクチャの場合。# Blue/Green デプロイ
### 概要
現行バージョン (Blue) を保持しつつ、別の環境に新バージョン (Green) をデプロイします。新バージョンの検証後に切り替え、問題があれば簡単に旧バージョンに戻せます。### メリット
現行環境を維持したまま新しいバージョンをテスト
Terraform勉強-第32回:DockerイメージをAWS Lambdaでデプロイし、イメージのバージョンをハッシュ管理する(PythonコードをDockerイメージにしてECRにプッシュし、Lambda関数で使用)
githubリポジトリ:https://github.com/shu130/terraform-study32
## ディレクトリ
“`plaintext
.
├── image_digest.txt # Dockerイメージのハッシュファイル(自動生成)
├── docker
│ └── Dockerfile # Lambda実行環境をDockerで定義
├── src
│ ├── app.py # Lambda関数のPythonコード
│ └── requirements.txt # Python外部ライブラリインストール用
└── terraform
├── ecr.tf # Dockerイメージ格納用リポジトリ
├── lambda.tf # Lambdaの構成とECRのプッシュ設定など
├── iam.tf # Lambda関数のアクセス権限
├── s3.tf # ハッシュファイルとLamb
【メモ】AWSとStreamlitを使っていたらERR_CONNECTION_TIMED_OUTが出まくった話
## はじめに
初めましての人もそうでない人もこんにちは!今回はタイトルの通りエラーが出まくって軽く詰んだことが直近であったので同じようなことがないよう個人的なメモ用として書いていこうと思います!
今回は、2024年11月ごろにエラーが発生し、解決後すぐに記事を書いたのでバージョンの違いなど気をつけてください!ぜひ最後まで見ていったら嬉しいです!
## 背景
現在、AWSを使ったChatBotの開発を進めていて、技術は`Python`とそのフレームワークである`Streamlit`を使っています!開発を進めるにあたってインスタンスを起動させてVSコードを使って接続したり、環境構築をしたりなど色々設定をしました!
そしてテスト実行として以下のコードを入力して実行をしました!
“`python:app.py
import streamlit as st
st.write(“streamlit”)
“`
すると`ERR_CONNECTION_TIMED_OUT`というエラーが表示されてしまいました!調べた感じリージョンであったりセキュリティグループの影響であったりインタ
AWS DEA合格体験記
## **はじめに**
先日「[2025 Japan AWS All Certifications Engineersのクライテリア](https://aws.amazon.com/jp/blogs/psa/2025-japan-aws-all-certifications-engineers-criteria/)」がJapanAPNブログから発表されました。
私は前年2024年選出いただいており、2025年の追加で取得しなければならない資格も比較的少ないので今年もチャレンジしてみたいと思います。## **現状の資格保有状況(AWS)**
| 試験名 | 取得日 | 合格スコア | 受験スコア | 備考 |
|:-:|:-:|:-:|:-:|:-:|
| AWS Certified Cloud Practitioner | 2023/04/15 | 700 | 810 | |
| AWS Certified Solutions Architect – Associate | 2023/05/28 | 720 | 777 | |
| AWS Certifie
オンプレからのAWS移行手法と移行戦略
## 0.はじめに
NTTデータの鶴ヶ崎です。
公共分野の技術戦略組織に所属しており、普段はクラウド(主にAWS)を用いたシステム構築等を行っています。公共分野では2024年6月に閣議決定された[デジタル社会の実現に向けた重点計画](https://www.digital.go.jp/policies/priority-policy-program)にて、政府情報システムをガバメントクラウド上に構築することが求められているため、**オンプレシステムからのクラウドリフトやネイティブサービスへのクラウドシフトの流れがあります**。
上記流れに加え、以前AWSさん主催の研修に参加したのでその時の学びを定着させる意味でも、クラウド移行に関しての手法や戦略についてまとめようと思います。
※研修資料でなく、[代替のBlackBelt資料](https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_Migration-7R_1208_v1.pdf)を使用してまとめてます。## 目次
– [1.AWS移行のステ
社内で使える居酒屋共有アプリを作ったンゴ 【Map’ngo🍺】
## 前提
弊社には、「美味しかったお店」「行きたいお店」があったら、情報を共有する口コミ素敵Slackチャンネルがあります。
コミュニケーション円滑化も含め、こういうゆるいチャンネルって仕事の癒し場になるので本当に大切だと日々思っています。
それに知り合いの口コミに勝るものってないですよね。今までのこのチャンネルは、お店のURL(食べログ/ホットペッパー/Retty/ぐるなび)を共有すると情報がスプレッドシートに保管される、+ わいわいする というものでした。
[![Image from Gyazo](https://i.gyazo.com/bcc0557a02e82d378a772434344b109b.png)](https://gyazo.com/bcc0557a02e82d378a772434344b109b)
(URLを貼るとアーニャ(GAS)がスプレッドシートにお店情報を保存するます)[![Image from Gyazo](https://i.gyazo.com/a8710e442139d6e05e24b8ddff2b9d08.png)](https://gy
たぶんできる! AWS無料利用枠でスケーラブルウェブサイト構築 ハンズオンをELBのパブリックアドレスにはIPv6だけを割り当てて無料でやりきる!!!
![DALL·E 2024-11-09 14.07.44.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/a16e3fa3-7ca5-3451-08fa-69d4735bd6e7.jpeg)
# はじめに
AWSではパブリックIPv4アドレスは有料になりました。2024-11-09現在、$0.005/hです。世界的にIPv4が枯渇しているそうで、調達のための費用を利用者負担にしたようです
アカウント作成から12ヶ月間有効な無料利用枠では、**EC2インスタンス**のパブリックIPv4アドレスは750h(≒24h x 31日。つまり一ヶ月分)無料で使えます。EC2インスタンスのみです。ELBにパブリックIPv4アドレスを振る場合は課金対象になります。
この記事はELBにパブリックIPv6アドレスを振ることにより、[AWS無料利用枠でスケーラブルウェブサイト構築 ハンズオン](https://catalog.us-east-1.prod.workshops.aws/workshops
AWS Direct Connect と VPN の利用検討の整理
# 【AWS Direct Connect (DX)】
## 概要
Direct Connect (DX) は、オンプレミス環境とAWSの間をつなぐ専用の物理的な回線で、高速かつ安定した帯域幅を提供します。## 接続方式
専用回線による直接接続。## パフォーマンス
高速かつ一貫性のあるスループットを提供し、ギガビット単位(例:1 Gbps, 10 Gbps)の帯域幅が選択可能。
一貫した低遅延が特徴で、大量のデータを転送する際や、低遅延が必要なアプリケーションに最適。## セキュリティ
デフォルトでは暗号化が提供されないため、必要に応じてVPNトンネル(IPSec)などで暗号化を追加する。## コスト
専用回線のため、一般的にVPNよりコストが高いが、長期の安定した接続が必要な場合に適している。## 主なユースケース
AWSとオンプレミス間で、大容量データの転送やデータセンターの相互接続が必要な場合。
金融業界や医療業界など、低遅延で高帯域幅が求められるシステムでの利用。## Virtual Interface (VIF)の種類
### Private VIF
Transit Gateway入門
# 学習前
ネットワークのサービス…なんか色々してくれる(わかってない)# Transit Gatewayとは
公式ドキュメントによると、以下の通りです。>Amazon VPC Transit Gateways は、**仮想プライベートクラウド (VPCs) とオンプレミスネットワークを相互接続する**ために使用されるネットワークトランジットハブです。
https://docs.aws.amazon.com/ja_jp/vpc/latest/tgw/what-is-transit-gateway.html
要するに、「オンプレミスのネットワークと、クラウドのネットワークを繋ぐぜ!」なサービスですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3616210/c3ece0aa-826a-6d5e-bae8-f646cf0f2063.png)::: note
ただ、必ずしもオンプレミスとの接続だけを行うわけではなく、複数VPCを繋ぐこともできます!
![image.png
API Gateway + API Key認証で403エラーが返ってきた際に対処したこと
# はじめに
API Gatewayのエンドポイントをコールした際に403エラーが返ってきました。エラー解決の際に確認した点を本記事にまとめておきます。# 解消のためにやった事(結論)
– API GatewayのステージとAPI keyの使用量プランを紐づけました(実施忘れ)
– OPTIONメソッド(プリフライトリクエスト)のAPI Keyが必須のチェックを外しました# 環境
– フロントエンド: Vite + React
– バックエンド: AWS API Gateway + Lambda
– 認証: API Key認証# 発生していた問題
PostmanからAPIのエンドポイントに対してのPOSTリクエストを送った際に、ステータス`403`で下記のレスポンスが返って返ってきました。
“`JSON:response
{
“message”: “Forbidden”
}
“`# エラー事象発生の経緯
1. API Gatewayで新規APIを作成し、API認証にAPI Keyを使用する設定
2. API Keyを生成し、使用量プランを作成して紐
AWS Tagを登録して検索したけど、やり方によって結果が違う!?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680230/50e1a437-058d-3f2b-fcd9-8a92f405bb7f.png)
# はじめに
AWS は使った分だけ費用がかかるので、使わないリソースは削除しています。
リソースを検索するのに**タグ**を登録しますが、タグを検索する方法は複数あるので違いを体感してみました。**やり方によって結果が異なるので注意が必要です!**
**【検索対象】**
– タグ: Key = Project, Value = abc
– リソースは、VPC、EC2、S3、IAM などが含まれる
– リソースは、複数のリージョンで、グローバルも含まれる# AWS Resource Explorer
AWS Resource Explorer はリソース検索および検出サービスで、名前、タグ、 などのリソースメタデータを使用してリソースを検索できます。### タグ検索
– 表示 : all-resources
– クエリ : タ