- 1. TerraformとCloudFormationを使用してセキュリティグループ間のトラフィックを許可する方法
- 2. hostnamectlを使ってEC2のホスト名を変更する
- 3. Next.js 14とSupabaseで陸上100m選手の練習場検索サービス「スプトレ」を作った話
- 4. Amazon CodeCatalystのAmazon Q連携を利用してIssueからソースを修正させてみた
- 5. 【AWS – Lambda】バージョンをリセットしたい
- 6. EC2のUbuntu上にComifyUIの環境構築をする
- 7. AWSリソースをTerraformにImportする(Network関連_internetVPC)
- 8. 初めての AWS で Laravel API をデプロイしてみた! – 第 6 弾:Webレイヤ冗長化編
- 9. [2024年2月更新] GitHub Action (OIDC認証) を用いてAWS Lambdaに自動デプロイする方法
- 10. AWSリソースをTerraformにImportする(Network関連_databaseVPC)
- 11. AWS勉強会_内容まとめ事項
- 12. AWS Redshiftのスキーマ・テーブル情報取得SQL
- 13. Webサービスが初回アクセス後数分放置して画面遷移するとエラーになる
- 14. AWS CLF入門 – コンピューティング編
- 15. Bedrock + Kendra vs ChatGPT
- 16. Session Managerを使ってEC2に接続するにはどのような経路が必要なのか
- 17. 初めての AWS で Laravel API をデプロイしてみた! – 第 5 弾:アプリケーション起動編編
- 18. 初めての AWS で Laravel API をデプロイしてみた! – 第 4 弾:データベース編
- 19. 初めての AWS で Laravel API をデプロイしてみた! – 第 3 弾:IP アドレス編
- 20. 初めての AWS で Laravel API をデプロイしてみた! – 第 2 弾:サーバー接続編
TerraformとCloudFormationを使用してセキュリティグループ間のトラフィックを許可する方法
# はじめに
この記事では、TerraformとCloudFormationを使用して、AWSのセキュリティグループ間でトラフィックを許可する方法を紹介します。具体的には、Application Load Balancer (ALB)、EC2インスタンス、およびRDSインスタンスの3つの異なるリソースに対するセキュリティグループを作成し、それらの間で適切なトラフィックを許可します。# コードの概要
以下は、3つの異なるセキュリティグループ(ALB、EC2、RDS)とそれらのセキュリティグループ間のトラフィックを許可するためのルールを定義したコードです。主な要点は以下の通りです。
– 各セキュリティグループは指定されたVPC内に作成されます。
– ALBセキュリティグループはすべてのIPからポート80のトラフィックを許可します。
– EC2セキュリティグループはセルフインバウンド(同じセキュリティグループからのトラフィック)とALBセキュリティグループからのポート80のトラフィックを許可します。
– RDSセキュリティグループはセルフインバウンド(同じセキュリティグループからのトラフ
hostnamectlを使ってEC2のホスト名を変更する
## 概要
hostnamectlコマンドを使ってAmazonLinux2のEC2インスタンスのホスト名を変更してみる。
## 方法
インスタンスにSSH接続を行い、下記を実行する。
“`shell
sudo hostnamectl set-hostname 新たに設定するホスト名
“`一度インスタンスから出て再度ssh接続を行う。
下記を実行し、設定内容を確認する。“`shell
hostnamectl status
“`Static hostnameなどが設定したものになっていれば作業完了となる。
## 参考文献
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/networking_guide/sec_configuring_host_names_using_hostnamectl
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/set-hostname.html
Next.js 14とSupabaseで陸上100m選手の練習場検索サービス「スプトレ」を作った話
[株式会社Never](https://neverjp.com/)のshoheiです。
株式会社Neverは「NEVER STOP CREATE 作りつづけること」をビジョンに掲げ、理想を実現するためにプロダクトを作り続ける組織です。モバイルアプリケーションの受託開発、技術支援、コンサルティングを行っております。アプリ開発のご依頼や開発面でのお困りの際はお気楽にお問合せください。
https://neverjp.com/service/
# 概要
Next.js 14とSupabaseで陸上100m選手の練習場検索サービス「スプトレ」を作りました。Next.jsとSupabaseでの開発は初めてでしたので、技術的なポイントや開発してみた感想を紹介します。https://sptr100.com/
## 開発経緯
学生の頃に陸上競技の短距離をやっていまして、そろそろ再開しようと思い近所の練習場所を探していましたが思ったような場所が見つかりませんでした。
Google Map等では**全速力で走れる場所**を探すのが難しかったので、じゃあ全速力で走れる練習場をまとめたサービス
Amazon CodeCatalystのAmazon Q連携を利用してIssueからソースを修正させてみた
## はじめに
今回は、昨年11月28日に発表された、Amazon CodeCatalyst での Amazon Q (プレビュー) の機能開発機能を試してみました。
[Announcing feature development capability of Amazon Q (Preview) in Amazon CodeCatalyst](https://aws.amazon.com/about-aws/whats-new/2023/11/feature-development-capability-amazon-q-preview-codecatalyst/)
上のリリース本文を翻訳したものがこちら↓です。
>本日、Amazon CodeCatalyst で Amazon Q の機能開発機能のプレビュー版が利用可能になったことをお知らせします。
>この新機能により、開発者は CodeCatalyst の問題を Amazon Q に割り当てることができ、
>Q は人間のプロンプトを実行可能な計画に変換するという面倒な作業を実行し、コードの変更とリクエスタに割り当
【AWS – Lambda】バージョンをリセットしたい
## やりたいこと
– Lambdaで関数を作成し、バージョニングを実施(例:6まで)
– その後、作成した関数を削除し、同じ名前で関数を再作成&バージョニング
– この時再作成した関数のバージョンが7からスタートする
– これを1から割り振りたい## 結論
– 1から再度割り振ることはできない
– もし再度1からバージョニングしたい場合、別名で関数を作成する必要がある> Lambda assigns monotonically increasing sequence numbers for versioning. Lambda never reuses version numbers, even after you delete and recreate a function.
## 参考
https://stackoverflow.com/questions/53410914/lambda-versions-are-incremented-even-i-delete-the-lambda-stackie-cfn?rq=3
https://docs.aws.amaz
EC2のUbuntu上にComifyUIの環境構築をする
※ 一通り記載したのでアップしますが後ほどアップデートします
## 本記事の目的
AWSのEC2上にComifyUI環境を作成したので軌跡をメモ“`text
インスタンス情報
マシンイメージ: Ubuntu Server 22.04
インスタンスタイプ: g5.4xlarge # 生成AIを動かすときはVRAMが大きいほうが良いので選定複数GPUがゆうこうなら12xlargeに上げても良さそう
ストレージ: 128GB # モデルがでかいので多めにストレージを取っておく
“`ComifyUIのリポジトリ:
https://github.com/comfyanonymous/ComfyUI## 環境構築
まずは挨拶のaptアップデート
“`ssh
sudo apt update
“`
### Python関係の導入
“`ssh
sudo apt install python3.10-venv
“`
“`ssh
sudo apt install python3-pip
“`
### NvidiaのGPUを使えるようにする
使えるドライバーを確認
“`ssh
AWSリソースをTerraformにImportする(Network関連_internetVPC)
# 前提
全体の概略は[こちらから](https://qiita.com/hrkkanda/items/1ef47fd6213547396c99)
Netowork部分の概略は[こちらから](https://qiita.com/hrkkanda/items/64a252c5481fdd003e98)# 構成図
# Module
main.tf
“`tf
# proxy vpc
resource “aws_vpc” “vpc_internet” {
cidr_block = var.vpc_cidr_internet
tags = {
Name = “${var.project}-vpc-internet”
Env = var.env
Account = var.account
Project = var.project
}
}
# public subnet allocated in az 1a
resource “aws_subnet” “public_subnet1
初めての AWS で Laravel API をデプロイしてみた! – 第 6 弾:Webレイヤ冗長化編
# 1. はじめに
私は2023年10月より、内定直結型エンジニア学習プログラム「アプレンティス」に2期生として参加しています。https://apprentice.jp/
その中で、AWS の課題において、これまでに作成してきた Laravel API を AWS でデプロイするというものがあったので、手順をまとめてみました。
AWS に初めて触れる方の参考になれば幸いです。### シリーズ一覧
長編になっているので、複数の記事に分けて公開しています。
本記事はその第 6 弾です。1. [サーバー設置編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
2. [サーバー接続編](https://qiita.com/mosyaneko/items/55e75ee5a96920db5981)
3. [IP アドレス編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
4. [データベース編](https://qiita.com/mosyaneko/
[2024年2月更新] GitHub Action (OIDC認証) を用いてAWS Lambdaに自動デプロイする方法
業務内でSlack Botを開発した際に利用した実装方法を取りまとめました。
特にAWSのOIDC周りのUIが新しくなっていたため、備忘録としてまとめましたので参考にしていただければ幸いです。ベストプラクティス、改善点等ありましたらお気軽にコメントください。
今回実装したSlack Botは定期的にメッセージを投げる簡単なものですが~~気が向いた際に~~記事を作成します。
# 概要
:::note warn
※2024年2月作成の記事なので今後仕様が変わる可能性ありますので最新の情報をご確認ください。
:::* 特定ブランチが更新されたらLambdaにソースをデプロイ
* AWSのアクセスキー&シークレットキーの管理はGithub→Settingsにある”Select and Variables”には持たせずOIDCを用いて認証
→**IAMロールのarnを指定するだけで認証ができ、キーの管理が不要なのでめちゃ楽**# 実装
## AWS側
### IAM IDプロバイダ登録* IAMページ内の左のメニュー”ID プロバイダ”→プロバイダを追加を選択
![id_p
AWSリソースをTerraformにImportする(Network関連_databaseVPC)
# 前提
全体の概略は[こちらから](https://qiita.com/hrkkanda/items/1ef47fd6213547396c99)
Netowork部分の概略は[こちらから](https://qiita.com/hrkkanda/items/64a252c5481fdd003e98)# 構成図
# Module
### main.tf
“`tf
# vpc associated with rds
resource “aws_vpc” “vpc_database” {
cidr_block = var.vpc_cidr_database
tags = {
Name = “${var.project}-vpc-database”
Env = var.env
Account = var.account
Project = var.project
}
}
# subnet 1a associated with rds
resource “aws_subnet” “su
AWS勉強会_内容まとめ事項
check1
クラウドを使う理由
・必要な時に必要なだけリソースを変動できる(スケーラビリティ)
・迅速にリソースを変更できる(アジリティ)
・規模の経済でコストダウンが望める
・データセンタの運用保守、計画、投資などが不要になる
・スモールスタートが可能AWSを使う理由
シェアが世界1位である
→規模の経済が発生しやすい
技術革新やコストダウンのメリットが大きくなる
またエンジニアが比較的確保しやすくなる、事例が豊富オンプレにしなければならない理由
しないといけないとしたほうが合理的セキュリティ面
顧客情報、重要な情報、システムを外部の企業に委託できるのか
→現在の基準では厳しい、また情報漏洩、システムの停止が起きた時の説明責任が曖昧になってしまうことが多いしたほうが合理的
そもそも大量にデータを使う、保持するなどの企業+エンジニアがいるならば
オンプレorプライベートクラウドの法がコストメリットがある可能性あり楽天がオンプレ回帰
集約的に運営するプライベートクラウド(One Cloud)によりコスト効率を高めるほか、IT基盤を自らのコントロール下
AWS Redshiftのスキーマ・テーブル情報取得SQL
Resshiftでスキーマとテーブルを作成した時のSQLメモ
# テーブル
### テーブル一覧の表示
“`
select * from pg_tables
where schemaname = ‘<スキーマ名>‘
“`
### テーブルのカラム一覧の表示
“`
select *
from information_schema.columns
where
table_catalog = ‘dev’
and table_schema = ‘‘
and table_name = ‘‘
order by
table_catalog, table_schema, table_name, ordinal_position
;
“`https://dataedo.com/kb/query/amazon-redshift/list-columns-names-in-specific-table
https://docs.aws.amazon.com/redshift/latest/dg/r_S
Webサービスが初回アクセス後数分放置して画面遷移するとエラーになる
## 概要
ブラウザから初回アクセスしたときは特段問題ないのに、少し放置すると通信が不安定になる問題があったので自身の場合の解決方法を簡単にまとめる。
## 注意
本知見は自分自身によるものではありません。先輩技術者さんから提供いただいた内容になります。本記事は自身用のメモとしての意味合いが強いです。
先輩技術者さんへこの場を借りて改めてお礼申し上げます。本件本当にありがとうございます。## 詳細
nginxのリバプロが存在するWebサービスのインフラ構築をした。
EC2インスタンスは起動・動作実績のあるインスタンスのAMIから起動した。
ドメインの解決やネットワーク系のリソース作成も行い、いざブラウザでアクセスする。このときは問題なく画面遷移やWebサービス提供機能が使える。(画面遷移が遅い気もするが。。。)
その状態でブラウザを数分〜数十分放置すると画面ロードがめっちゃ長くなるか`ERR_CONNECTION_RESET`のエラーで画面が遷移できなくなる。
数回リロードするとエラーは解消する。## 自身の場合の解消方法
リバプロnginxの設定で下記の内容(ipv
AWS CLF入門 – コンピューティング編
## はじめに
AWS CLF (AWS Certified Cloud Practitioner) を取得した際の学習記録をアウトプットとして以下に記す。## リンク
[ネットワーク](https://qiita.com/yashiuri/items/31b2c9c3c49c2584cd01)
[セキュリティ](https://qiita.com/yashiuri01/items/73e5310b09ff41912862)
[コンピューティング]() ←今ここ
[コンテナ]()
[スケーリング]()
[ストレージ]()
[データベース]()
[メッセージ]()
[モニタリング]()
[デプロイ]()
[コストとサポート]()
[移行とイノーベーション]()
[AWS製品群一覧]()## 概要
EC2について記載する。– 安全でサイズ変更可能なコンピューティング
– VPCとサブネット、配置するAZを決めて作成する
– 起動し、削除するまで時間単位で課金される(アイドル状態でも課金される)## Amazon Machine Image (AMI)
– EC2インスタン
Bedrock + Kendra vs ChatGPT
AWS社が公開しているBedrock + Kendraを用いたRAGアプリのハンズオンを実施しましたので、簡単にシェアしたいと思います
https://catalog.us-east-1.prod.workshops.aws/workshops/6708bce5-6aa3-4acb-89f7-85c39c006c8c/en-US
また、ChatGPのアップデートによりKendra+Bedrockと同様の振る舞いができるようになったため、簡単な性能比較を実施しました
## Bedrock + Kendraを用いたRAGアプリ
### システム概要
ハンズオンを実施すると、下記の図のような生成系AIを用いたChatサイトを構築できます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3694674/9c54b454-4e2c-0093-a6f0-746377a5eaf6.png)
このサイトは事前に2136ページのPDFのマニュアルを読み込ませています![image.pn
Session Managerを使ってEC2に接続するにはどのような経路が必要なのか
# はじめに
突然ですが、EC2インスタンスにアクセスするとき皆様はどのような方法でアクセスしていますか。
私は今までキーペアを使ってローカルPCからSSH接続をする方法が当たり前だと思っていましたが、AWSマネジメントコンソールから直接アクセスできることを知って驚きました!
AWS Systems Managerの機能の1つであるSession Managerを使うと、キーペアを使うSSH接続よりもセキュアな接続を実現できます。具体的には次のようなメリットがあります。
1. キーペアを使わないので、キーペアを紛失した際の情報漏洩を防ぐことができる
1. インバウンドルールでSSHポート(ポート番号22)を開ける必要がなくなる
1. プライベートサブネットにあるEC2インスタンスにも踏み台サーバーなしでアクセスができる
※これにはNat GatewayもしくはVPCエンドポイントが必要となる(詳細は後述)本記事では、プライベートサブネットのEC2インスタンスにSession Managerを用いてマネジメントコンソールから接続するためのネットワーク経路についてご紹介します。
#
初めての AWS で Laravel API をデプロイしてみた! – 第 5 弾:アプリケーション起動編編
# 1. はじめに
私は2023年10月より、内定直結型エンジニア学習プログラム「アプレンティス」に2期生として参加しています。https://apprentice.jp/
その中で、AWS の課題において、これまでに作成してきた Laravel API を AWS でデプロイするというものがあったので、手順をまとめてみました。
AWS に初めて触れる方の参考になれば幸いです。### シリーズ一覧
長編になっているので、複数の記事に分けて公開しています。
本記事はその第 5 弾です。1. [サーバー設置編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
2. [サーバー接続編](https://qiita.com/mosyaneko/items/55e75ee5a96920db5981)
3. [IP アドレス編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
4. [データベース編](https://qiita.com/mosyaneko/
初めての AWS で Laravel API をデプロイしてみた! – 第 4 弾:データベース編
# 1. はじめに
私は2023年10月より、内定直結型エンジニア学習プログラム「アプレンティス」に2期生として参加しています。https://apprentice.jp/
その中で、AWS の課題において、これまでに作成してきた Laravel API を AWS でデプロイするというものがあったので、手順をまとめてみました。
AWS に初めて触れる方の参考になれば幸いです。### シリーズ一覧
長編になっているので、複数の記事に分けて公開しています。
本記事はその第 4 弾です。1. [サーバー設置編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
2. [サーバー接続編](https://qiita.com/mosyaneko/items/55e75ee5a96920db5981)
3. [IP アドレス編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
4. データベース編 ★本記事!!
5. [アプリケーション起動編](https:
初めての AWS で Laravel API をデプロイしてみた! – 第 3 弾:IP アドレス編
# 1. はじめに
私は2023年10月より、内定直結型エンジニア学習プログラム「アプレンティス」に2期生として参加しています。https://apprentice.jp/
その中で、AWS の課題において、これまでに作成してきた Laravel API を AWS でデプロイするというものがあったので、手順をまとめてみました。
AWS に初めて触れる方の参考になれば幸いです。### シリーズ一覧
長編になっているので、複数の記事に分けて公開しています。
本記事はその第 3 弾です。1. [サーバー設置編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
2. [サーバー接続編](https://qiita.com/mosyaneko/items/55e75ee5a96920db5981)
3. IP アドレス編 ★本記事!!
4. [データベース編](https://qiita.com/mosyaneko/items/182438555c7d23e5a3e9)
5. [アプリケーション起動編](https
初めての AWS で Laravel API をデプロイしてみた! – 第 2 弾:サーバー接続編
# 1. はじめに
私は2023年10月より、内定直結型エンジニア学習プログラム「アプレンティス」に2期生として参加しています。https://apprentice.jp/
その中で、AWS の課題において、これまでに作成してきた Laravel API を AWS でデプロイするというものがあったので、手順をまとめてみました。
AWS に初めて触れる方の参考になれば幸いです。### シリーズ一覧
長編になっているので、複数の記事に分けて公開しています。
本記事はその第 2 弾です。1. [サーバー設置編](https://qiita.com/mosyaneko/items/9b0a55e4b6338801e873)
2. サーバー接続編 ★本記事!!
3. [IP アドレス編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
4. [データベース編](https://qiita.com/mosyaneko/items/182438555c7d23e5a3e9)
5. [アプリケーション起動編](https: