- 1. 初めての AWS で Laravel API をデプロイしてみた! – 第 5 弾:アプリケーション起動編編
- 2. 初めての AWS で Laravel API をデプロイしてみた! – 第 4 弾:データベース編
- 3. 初めての AWS で Laravel API をデプロイしてみた! – 第 3 弾:IP アドレス編
- 4. 初めての AWS で Laravel API をデプロイしてみた! – 第 2 弾:サーバー接続編
- 5. 初めての AWS で Laravel API をデプロイしてみた! – 第 1 弾:サーバー設置編
- 6. AWS GlueでCrawlingして変なテーブル名を命名された場合の対応
- 7. AWS App Runnerを使用して15分でHTTPSアクセス可能なWEBページを作成しよう
- 8. AWSが公開したJavaScriptランタイムLLRTを試してみる
- 9. AWS EC2 のスナップショットからインスタンスのボリュームを復元する
- 10. AWS Configを有効化してみた
- 11. UbuntuでshadowSocksサーバを起動(中国 Great Fire Wall対策)
- 12. LINEとAWSを使って家計簿を作ってみた
- 13. AWSリソースをTerraformにImportする(Network関連_main.tf)
- 14. AWS Q Quicksight VS Quicksight by 人
- 15. AWSリソースをTerraform or CloudformationにImportする
- 16. UserDataを実行しているサービス実体が分からず手こずった話
- 17. AWSのPython sdkを使ってKMSの暗号化複号化を試した
- 18. AWSストレージサービスまとめ
- 19. lambyを使ってみる
- 20. AWS 12冠(全冠)したので、先輩(約30名分)の体験記も見ながら振り返る
初めての 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:
初めての AWS で Laravel API をデプロイしてみた! – 第 1 弾:サーバー設置編
# 1. はじめに
私は2023年10月より、内定直結型エンジニア学習プログラム「アプレンティス」に2期生として参加しています。https://apprentice.jp/
その中で、AWS の課題において、これまでに作成してきた Laravel API を AWS でデプロイするというものがあったので、手順をまとめてみました。
AWS に初めて触れる方の参考になれば幸いです。### シリーズ一覧
長編になっているので、複数の記事に分けて公開しています。
本記事はその第一弾です。1. サーバー設置編 ★本記事!!
2. [サーバー接続編](https://qiita.com/mosyaneko/items/55e75ee5a96920db5981)
3. [IP アドレス編](https://qiita.com/mosyaneko/items/0788e1011b792f137d5b)
4. [データベース編](https://qiita.com/mosyaneko/items/182438555c7d23e5a3e9)
5. [アプリケーション起動編](https://
AWS GlueでCrawlingして変なテーブル名を命名された場合の対応
## 背景
Glueのcralerでファイルをcrawlすると、テーブルの命名がcrawler任せになり、思いもよらぬ名前がつけられることがあるかと思います
プレフィックスで対応できると良いのですが、そういかない場合もあるかと思います今回その状況になって、思ったよりも素直に対応できなかったので、その方法を残しておきます
なお、コンソールからは見つけることが出来ませんでしたgoogle先生にお聞きすると[How set name for crawled table?](https://stackoverflow.com/questions/48322330/how-set-name-for-crawled-table)の記事がヒットしました
(Geminiの回答はいけてませんでした)
初め見た時は、create_tableとあったので、新規にテーブルを作りたいんじゃないけどって思いましたが、元テーブルのメタ情報を引き継いで新しい名前のテーブルを作るので、これで大丈夫ですね年月がかなり経っていますのでそのままではエラーになりましたが、1箇所の修正とCrawlerの設定変更で対応
AWS App Runnerを使用して15分でHTTPSアクセス可能なWEBページを作成しよう
## AWS App Runnerとは
AWS App Runnerはフルマネージド型のコンテナアプリケーションサービスです。
インフラストラクチャやコンテナの経験がなくても、ウェブアプリケーションやAPIサービスを簡単に構築、デプロイ、実行が可能です。
端的に説明しますと、色んなAWSサービスを組み合わせなくても、AWS App Runnerとリポジトリがあれば、HTTPSアクセス可能でスケーラブルなWEBページが作成できます。
## AWS App Runnerのメリット
– ELBを作成しなくても自動的に負荷分散が可能
– オートスケーリングが簡単に設定可能
– Codeシリーズを使わなくもアプリケーションをECRやGitにプッシュすれば、自動でデプロイされる
– サブネット、ルートテーブル、セキュリティグループ、ELBなど機能として盛り込まれているので意識する必要がない
– プライベートサブネット上のDBや、Secrets Managerなどとも連携可能
## AWS App Runnerのデメリット
– オートスケーリングの条件が同時実行数のみ(CPU使用率などでスケーリング
AWSが公開したJavaScriptランタイムLLRTを試してみる
# What’s?
AWSからJavaScriptのランタイムである「LLRT」が発表されたので、軽く試してみました。
https://www.publickey1.jp/blog/24/awsjavascriptllrtlow_latency_runtimeaws_lambda.html
# LLRT(Low Latency Runtime)
LLRT(Low Latency Runtime)のGitHubリポジトリーはこちら。
https://github.com/awslabs/llrt
LLRTはサーバーレス向けに設計されたJavaScriptランタイムとされていて、AWS Lambda上の他のJavaScriptランタイムと比べて10倍以上の高速な起動と最大2倍のコスト削減を実現するとされています。
> LLRT (Low Latency Runtime) is a lightweight JavaScript runtime designed to address the growing demand for fast and efficient Server
AWS EC2 のスナップショットからインスタンスのボリュームを復元する
# はじめに
AWS EC2 のスナップショットからインスタンスのボリューム (volume) を復元して起動させるまでの手順の覚書です。これは、インスタンスのボリューム (volume) が1つのみのものなのでご注意ください。
昔のラックに収められていたサーバの HDD を差し替えをした人なら、なんとなく感覚がわかるんじゃないか(笑
と思います。このスクリプトを実行するときは事前に、「インスタンスID」と「スナップショットID」を取得しておく必要があるのでご注意ください。
簡単な手順は以下になります。
1. インスタンスを停止
1. インスタンスに割り当たっている root デバイス名を取得
1. 上記の root デバイス名のボリューム (volume) IDを取得
1. インスタンスの root デバイスをデタッチ
1. スナップショットからボリューム (volume) を復元
1. 復元したボリューム (volume) の ID を取得
1. インスタンスの root デバイスにボリューム (volume) をアタッチ
1. インスタンスを開始# 実際の実
AWS Configを有効化してみた
# Agenda
本記事では、以下のことを書いています。
– AWS Configの有効化、初期化方法
– AWS Configのサービスリンクロールとは何か?
– AWSグローバルサービスとは何か?# Introduction
## AWS Configとは何か?
AWS リソースの設定を継続的に記録・評価するためのフルマネージドサービス以下のような機能が提供される
– アカウント内のリソース検出
– 設定内容の記録
– リソースの設定内容の詳細や削除・変更・設定履歴の記録[デベロッパーガイド](https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/WhatIsConfig.html)
# Action
## 有効化方法
大きく5つのステップを踏んで有効化していきます“`
1. AWS Configで記録するリソースタイプを指定
2. 必要なIAMロールを設定
3. 設定履歴やスナップショットのファイルを送信するS3バケットの指定
4. 設定変更を通知するようSNSトピックを設定
5. AW
UbuntuでshadowSocksサーバを起動(中国 Great Fire Wall対策)
# shadowsocksとは
https://shadowsocks.org/# やること
1. EC2でUbuntu OS (22.04 LTS)を立てる。インスタンスはt3.microくらいでOK。このときSecurity Groupをshadowsocks(デフォは8388)ポートを開けておく
1. shadowsocksのinstall
1. config.jsonの編集# shadowsocksのインストール
“`
sudo su
apt-get update
apt install shadowsocks-libev
“`# config.jsonの編集
“`
vim /etc/shadowsocks-libev/config.json
“`編集内容
“`json
{
“server”:”0.0.0.0″,
“server_port”:8388,
“local_port”:1080,
“password”:”your_password”,
“timeout”:86400,
“method”:”
LINEとAWSを使って家計簿を作ってみた
# ことのはじめ
“`
家計簿を家のPCでpython, postgresを使ってやってたけど、いちいちPC立ち上げるのめんどい。
↓
LINEってよく使うよなぁ…
↓
LINEで家計簿まとめんべ!!
“`といった流れでLINEでの家計簿ツールを作ることにしました。
# 記事概要
[**1. 簡単な動作説明**](#1-簡単な動作説明)
[**1.1. 実施間隔:逐次**](#11-実施間隔:逐次)
[**1.2. 実施間隔:1週間/回**](#12-実施間隔1週間回)
[**1.3. 実施間隔:1ヶ月/回**](#13-実施間隔1ヶ月回)
[**2. 作成項目**](#2-作成項目)
[**2.1. LINEボット作成**](#21-lineボット作成)
[**2.2. LINEヤフー for Business開設**](#22-lineヤフー-for-business開設)
[**2.3. AWS側作成**](#23-aws側作成)
[**3. 感想&今後の対処**](#3-感想今後の対処)## 1. 簡単な動作説明
### 1.1. 実施間隔:逐次
– LINEで送
AWSリソースをTerraformにImportする(Network関連_main.tf)
# 前提
[全体の概略はこちらから](https://qiita.com/hrkkanda/items/1ef47fd6213547396c99)# 構成図
![architecture4.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705595/54909891-bbff-a718-1e3c-c3e53fe95cca.png)👆の図のように、
– インターネットへの通信はTransit Gatewayを使用した集約型
(インターネットへの通信の集約化は[こちらの記事がおすすめ](https://dev.classmethod.jp/articles/tgw-outbound-aggregation-in-an-account/))
– Internet Gatewayのあるインターネットへの通信を集約するVPCは1つのみで開発、テスト、ステージングで共有
(以下、internet VPCと呼びます)
– 同様にdatabaseがあるVPCは1つのみで開発、テス
AWS Q Quicksight VS Quicksight by 人
## Amazon Q Quicksightuic
ksight 人どちらがいい?
現状の使いやすさ、今の課題
そもそもAWS Quicksightとは
サーバレスなBIサービス
取ってきた情報をわかりやすく可視化するサービスである。
可視化、わかりやすい状態にすることの利点とは?
下記資料がかなりわかりやすく記載が行われていたので参考に
https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2022_Amazon-QuickSight-Visual-Best-Practice_1231_v1.pdfS3+Glue+Athena+Quicksightを使えばかなり手軽にデータ分析の基盤を作ることができる。
ということで実際に触れてみました。
またQuicksightには
Amazon Q in QuickSight というAmazon Qを使ったサービスもあるのでそちらと人との比較を行ったまずS3にCSVファイルをアップロード、Glueのクローラーで読み取りAthenaでテーブルを取っ
AWSリソースをTerraform or CloudformationにImportする
# はじめに
本記事では既存AWSリソースをTerraform、または CloudformationにImportする方法と設計思想について、体験談ベースに記載します。
# 構成図
AWSの構成図は大まかに下記となっています。
概略1
![architecture2.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705595/d009e579-a8fc-32bb-2534-4d138f49c416.png)概略2
![architecture3.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705595/96922386-9b9d-3bd8-dbf5-315b0dbdc3c1.png)👆の二つの図のように、
– 開発, テスト、ステージ環境は共有のAWSアカウントで構築されている。
(以下, NoProd環境と呼びます)
– そのうち、データベース等のリソースは開発、テス
UserDataを実行しているサービス実体が分からず手こずった話
## はじめに
今回はAWS上でAuto Scalingを用いたPostfixインスタンスの冗長化および自動復旧を行うにあたり、EC2のUserDataの起動順序を制御したかったのですが、UserDataを実行しているサービス実体が分からず手こずったので、実際の事象を含めて共有しようと思います。## 目次
[UserData実行のサービス実体(結論)](#userdata実行のサービス実体結論)
[背景](#背景)
[検証事前準備](#検証事前準備)
[検証内容](#検証内容)
[注意点](#注意点)
[まとめ](#まとめ)## UserData実行のサービス実体(結論)
まず、事象説明等の前に結果を知りたい人もいるかと思いますので、結果から記載しようと思います。
結論としては下記になります。**UserData実行のサービス実体:`cloud-final.service`**
文章化してみると何でもないように思えますが、私はこれでずいぶん苦労しました。
:::note
info
AWSサポートに問い合わせた際、最初は「
AWSのPython sdkを使ってKMSの暗号化複号化を試した
# やりたいこと
AWSのマネコンじゃなく、プログラムでKMSの暗号化をやりたい# 前提
・Pythonインストール済み
・AWS-CLIインストール済み
・ローカル上、AWSのアクセス情報設定済み# やり方
さっそくですが、調べた結果を共有します~
今回はすでにKMSにあるKeyIdを使うため、プログラム上はKeyを作成せずに直接暗号化・複号化をします“`ruby:
import boto3
import base64# AWS KMS クライアントの初期化
kms_client = boto3.client(‘kms’)# 暗号化する平文データ
plaintext = “password”# 暗号化
response = kms_client.encrypt(
KeyId=’arn:aws:kms:ap-northeast-1:xxxxx:key/xxxxxx’, # 実際のキー ID に置き換えてください
Plaintext=plaintext.encode()
)
# これがまだbyte (byte64)形式
ciphertext_b
AWSストレージサービスまとめ
# はじめに
AWSでは多種多様なストレージサービスを提供していますが、その種類は従来からあるストレージプロトコルに準拠したものです。各ストレージ種別に対してAWSではどんなサービスを提供しているのかをまとめたいと思います。## ストレージの種別
以下は各ストレージとAWSサービスの対応をまとめたものになります。
|題目|ブロックストレージ|ファイルストレージ|オブジェクトストレージ|
|—|—|—|—|
|特徴|「ブロック」単位でデータを管理、低レイヤーでのチューニングが可能な為性能を最適化できる。|ツリー構造の「ファイル」単位でデータを管理。直観的に利用できる。|「オブジェクト」単位でデータを管理。フラット構造で拡張性が高い。|
|プロトコル|SCSI/iSCSI/FC/SAS/SATA|NFS/SMB/CIFS|HTTP/HTTPS|
|用途|トランザクションデータ、更新頻度の高いデータ|共有ファイルデータ|バックアップデータや大容量コンテンツの保存|
|イメージ|![image.png](https://qiita-image-store.s3.ap-n
lambyを使ってみる
# はじめに
先月、AWS SAMを利用してrubyをlambdaで動かせることは分かったのですが、railsをlambdaで動かせないかと調べたところ、lambyが出てきたのでこの記事は調査禄となります。
(lambyそのものは前々から知ってたものの、今まで触ったことがなかったので今回が初となります)# スタートアップに準じて触ってみる
https://lamby.cloud/docs/quick-start
## 準備
quick-start記載の以下のコマンドを実行
“`
$ docker run \
–rm \
–interactive \
–volume “${PWD}:/var/task” \
ghcr.io/rails-lambda/lamby-cookiecutter \
“gh:rails-lambda/lamby-cookiecutter”
“`
プロジェクト名を入力
“`
project_name [my_awesome_lambda]: learning_deliverable
“`コンテナの中に入り、awsの設定を
AWS 12冠(全冠)したので、先輩(約30名分)の体験記も見ながら振り返る
# 1. はじめに
– 初めてAWSの資格(SAA)を取得してから7年もかかってしまったが、やっと全部(2024/2時点の12個)揃えることができた。
– 体験記を書こうとしたら、既にたくさんの同様の記事があったため、せっかくなのでよく聞かれること(取得動機、勉強法、効果など)について、先輩の体験記も見ながら、自分の結果とあわせて振り返る。# 2. 先輩の体験記
– 「AWS12冠」「AWS全冠」などのキーワードでヒットするブログやプレゼン資料計37件の内容を拝見し、全冠達成者の方の取得動機、勉強法、効果などを確認した。(Alexa Skill Builderが廃止され、SAP on AWSが追加された後の、2021~2023年あたりの資料が対象)
– 拝見した体験記のリンクは記事の最後に。ここでは特に参考になると思ったものを紹介。1. [結局、AWS認定12冠って何の意味があるの?](https://qiita.com/yamazombie/items/d56e1f66ec03f8d115f4)
1. [AWS 全冠(12冠)したのでメリットや勉強法をまとめま