- 0.1. 初めに
- 0.2. リージョンとは
- 0.2.1. リージョンはどこでも良いのか
- 0.2.2. Amazon Athena: キー値にピリオドを含む場合のjson_extract
- 0.2.3. Terraform とは
- 0.2.4. GitHubActionsのSelf-hosted runnerで、SpringNativeのビルド時間を短縮する
- 0.2.5. 【Python】importが必要なPythonをAWS Lambda へ移行してみた EventBridge編
- 0.2.6. 3大クラウドウェブアプリの脅威に対する機能の比較
- 0.2.7. 【AWS】VPCを構築する
- 0.2.8. 504 Gateway timeout 解決方法 on AWS
- 0.2.9. API Gateway+Lambda+SESで簡易お問い合わせフォーム実装
- 1. はじめに
- 2. HTMLの入力フォーム
- 3. お問い合わせフォーム
インフラオンチの俺がAWSを勉強した。
こんにちは!
今回はAWSについて# AWSの簡単な概要
AWSとはAmazonWebServiceの略で、ネット通販で有名なアメリカのAmazonが提供している
クラウドサービスの総称です。## まず俺はクラウドサービスが何かわかっていない
そもそもクラウドってなんやねんと。
クラウドはユーザーがサーバーやソフトウェアを持たなくても、
インターネットを通じてサービスを必要な時に必要な分だけ利用する考え方のことです。
あれやね、僕はお洋服が好きなのですがどの季節の服も買い過ぎてしまう傾向にあります。
なので、わざわざ夏に冬服をタンスにストックしておくと使わないし、邪魔になるんですよね。
それを服収納サービス(クラウド)に必要な時に必要な分だけストックしてもらってまんねん。
これのインターネットバージョンてことやんな。
こういう例えであってますかね?そのクラウドを提供していることをクラウドサービスっていうですよね。
## クラウドサービスが普及する前は??
クラウドサービスが登場する前までは、サーバーが必要な時は自社内に物理的なサーバー機器を用意するのが当たり前でした
【AWS】初心に戻って1からVCPを構築してみたら少し進化していた 2021年9月版
#はじめに
今回はAWSでシステム構築する際にはじめに必要なVPCについて記載します。
awsのソリューションアーキテクト資格を目指す方ならまず最初に習う項目です。
またaws上でEC2インスタンス(仮想サーバ)を動かす場合は基本的に必要となります。#構成図
今回は[10.0.0.0/16]のCIDRブロックでVPC領域を構成しようと思います。
パブリックサブネットは[10.0.1.0/24]
プライベートサブネットは[10.0.2.0/24]
で構成します。
今回はこの図のVPCとパブリックサブネットをVPCウィザードで構築したいと思います。
(少し前までこんなウィザードなかったけどな・・・進化している)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966337/9d87df89-ef66-0c2a-b4cf-da5ffd6e6639.png)
#作成手順
1.AWSのマネジメントコンソールにログインし、上部の検索バーで VPCと入力します。
![スクリーンショット 20
AWSソリューションアーキテクト-アソシエイト試験にWell-Architectedが役立った話
## はじめに
https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/合格しました:raised_hands:
というわけで合格体験記です。~~こういうの一度書いてみたかったんだ~~
とはいえ勉強法に関する良質な記事はすでにたくさんありますし、私自身も「実務経験+参考書+問題集」という王道ド真ん中を通ってきたため、新しそうなことを書ける感じはしません。困った:tired_face:で、少し違った視点から何か役立ちそうなトピックがないかと考えまして、今回は、
**「Well-Architectedも一緒に勉強するといいってみんな言うけど、実際どの部分がどんな感じで試験に役に立つの?」
「そもそもWell-Architectedって何?」**
という観点からまとめてみたいと思います。## Well-Architected Frameworkとは
https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-23/in
[AWS基礎④] リージョンとアベイラビリティーゾーンとは(可用性を高める・冗長化)
初めに
今回はリージョンとアベイラリティゾーン(AZ)について学びました。
なんで設定するのかわかってなかったのですが、
「可用性」を高めることができる ということがわかりました。リージョンとは
リージョン=領域
リージョンとリージョンは完全に別れているので、
あるリージョンで障害が発生しても他のリージョンには影響がありません。↓
障害が発生した時、リージョンを切り替えるようにすれば、
「可用性」が上がります!:relaxed:リージョンはどこでも良いのか
応答時間を早くしたいなら…
日本でサービスを展開する場合、リージョンは日本に
Amazon Athena: キー値にピリオドを含む場合のjson_extract
# 概要
– Amazon Athenaのクエリーで `json_extract` 関数を利用する場面
– ソースとなる情報はJSONのためjson_extract()関数を使用して目的の値を取得しようと考えました
– 一部JSONのキー値に `.` (ピリオド)を含むケースがありました
– 目的のキーはJSONPathで指示しますが、キー値をそのまま指示しても期待通りの動作をさせられず困りました
– その回避方法を記録します。ただし、条件付きであり、ベストな解決方法でないかもしれません# json_extract 関数について
書式はおよそ下記のようになります
“`
json_extract(<入力JSON文字列>, <取得するJSONPath文字列>)
“`正確にはドキュメント [^athenajson] 参照なのですが、`JSONPath-like expression` と記載があり、JSONPath風の記述、ということかと思います。
# 実施した内容
具体的に状況を示します
想定するソースjsonは下記のようにキー値に `.` を含みます
キー値 `
Terraform とは
Terraform の概要について調べてみる。
#Terraform とは?
インフラの構成をコードで宣言できる、IaC(Infrastructure as Code)を実現するツール。
インフラ開発がシンプルかつ高速になる。
AWS, Azure, Google Cloud Platform などに対応。
.tf ファイルと HCL (HashiCorp Configuration Language) により実装。#基本的なコマンド
terraform の操作を行うための基本的なコマンド。
###terraform init
ワークスペースを初期化するコマンド、 terraform を実行するのに初期化は必須。
.tf で使用しているプラグインのダウンロードなども走る。“`
% terraform init
Initializing modules…Initializing the backend…
Successfully configured the backend “s3”! Terraform will automatically
use this b
GitHubActionsのSelf-hosted runnerで、SpringNativeのビルド時間を短縮する
SpringBootで作っているRestAPIアプリケーションを、SpringNativeでNative化しています。
Native化のハードルとして「ビルド時間が長い」ことが結構ストレスだったりします。ローカルマシンだと、ビルドが30分近くかかったり、メモリ不足でビルド自体がエラーで落ちたりします。
AWSにビルドサーバー作ってビルド時間の短縮とかをしていたんですが、GitにPushしてビルドサーバーの方でPullしてというのがちょっと面倒。
GithubActionsでCIもしているが、どうにもこうにも遅かったり、メモリ不足でエラーになったりする。その解決策として「Self-hosted runner」を使って強めのインスタンスでビルド時間の短縮を実現しました。
# 欲しい環境
・SpringNativeでNative-Buildできる環境
・Dockerが使える# AWSで利用したUbuntuのAMI
時期によって更新されていくので日付の部分は探す際には、違う日付になっている場合があります。
“`
ubuntu-focal-20.04-amd64-se
【Python】importが必要なPythonをAWS Lambda へ移行してみた EventBridge編
#昨日の記事からの続きとなります。
https://qiita.com/hirockio2206/items/9129b5d541452c958bf8https://qiita.com/hirockio2206/items/4f3d57ae8291bad31004
◆事前準備編◆
1.macOSのデスクトップにtempフォルダを作る
2.tempフォルダにccxtをpip3でインストールする
3.既に作ったpythonプログラムを lambda_function.py へリネームしてtempフォルダに入れる
4.lambda_function.py の先頭に指定プログラムを追記する
5.ターミナルでzipでまとめる◆Lambda編◆
6.AWSへログインし、5をアップロードする◆EventBridge編◆
7.EventBridge (CloudWatch Events)に定期実行ルールを登録する####今回は7の説明をします。
#手順
####7.EventBridge (CloudWatch Events)に定期実行ルールを登録する
7-1.AWS
3大クラウドウェブアプリの脅威に対する機能の比較
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556084/5d6dd1ff-139b-7a6c-ecd1-7a59116e9683.png)
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556084/35e6b39e-0e51-0aa5-81b1-3b3f3dc50365.png)
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556084/eb2ef957-3f15-ab80-1e0e-e4fe931185cd.png)
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556084/5cb03ca5-111a-adfc-a672-b48dfdeb4233.png)###参考URL
https://qiita.com/
【AWS】VPCを構築する
こんにちは、普段オンプレミス環境でのサーバ構築を行ってる海里です。
仕事の案件で、初めてAWSを触れることになりました。しかし、AWSにてRHELサーバを初めて立てたとき、SSH接続ができなくて
かなり苦戦したので忘備録として記述します。(ここに行き着くのに丸3日かかりました。)
誰の助けも借りることができないので自力でやらざる負えなかったので、むしろ褒めてほしい()#VPCの構築
###VPCを作成
[VPCを作成]をクリックする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425858/28451b9a-7ddc-e02b-574e-a5dd5404da38.png)必要な設定を入力し、[VPCを作成]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/425858/71b5bd1b-9517-0bc4-06d0-bf193562a9d0.png)##
504 Gateway timeout 解決方法 on AWS
# 504 Gateway timeout 解決方法 on AWS
Webシステムで、バックエンドで少々長い時間が掛かる処理が終わるまで待つ必要があるケースがありますが、デフォルト設定だと、大体60秒程でタイムアウトとなり、「504 Gateway timeout」が発生するという事が多いです。
AWSで、ELB->Apache->PHPと言うよくある構成で、どの様に設定して行くと良いかをメモがてら残しておきます。
## 構成
クライアント(ブラウザ) -> ELB(ALB) -> WEB(Apache -> PHP) -> DB(RDS on MySQL)
今回、DBは割愛します。
## タイムアウト調整
ユースケース次第ですがAWSのナレッジでは、KeepAliveTimeoutなどをロードバランサーのアイドルタイムアウトよりも長いキープアライブタイムアウトにするように推奨されています。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/apache-backend-elb/例)無限にはできませんの
API Gateway+Lambda+SESで簡易お問い合わせフォーム実装
はじめに
htmlフォームからPOST送信して、SESを使って、通知メールが飛び、リダイレクトページを返却するお問い合わせフォームを実装した。実装手順を忘れないように、備忘として残しておく。
※当初リターンメールを返す想定だったので、SESにしているが、SNSでもいいHTMLの入力フォーム
値をPOSTして、API Gatewayに渡すためのサンプルフォーム
※API Gatewayのエンドポイントの部分は後ほど修正する必要あり“`html:sample.html
お問い合わせフォーム
お問い合わせフォーム
様々な障害に耐えうるSSRのインフラを設計しました!
![eyecatch_2106DurableInfrastracture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/218415/db985bb6-9546-6865-6f12-9a48fa2ff2a4.png)
※ 本稿は Tech Inside Drecom に掲載された記事、「様々な障害に耐えうるSSRのインフラを設計しました!」の Qiita 出張版です。
—
#はじめに
こんにちは!enza SREチームのmendと申します!
現在enzaではサーバーサイドレンダリング(=SSR)の導入を進めております!
SSRを導入するにあたり、CloudFront + SSRのサーバー では CloudFront + S3 の構成
ECS Exec(aws ecs execute-command)のログインを便利にするBashスクリプト
# ソース
Bashスクリプト([gist](https://gist.github.com/yuki777/640cba3e0a68587c36165b8a87d25390))
“`bash
#!/bin/bash
set -eu# Prerequisite
# – aws cli
# – session-manager-plugin
# – jqselectProfile(){
select selected in `aws configure list-profiles`
do
break
done
echo $selected
}selectCluster(){
select selected in `aws ecs list-clusters –profile $profile|jq -r “.clusterArns[]”|sort|cut -d “/” -f 2`
do
break
done
echo $selected
}select
【AWS】Certbotでhttps化後、504 Gateway Timeoutになってしまうバグの解消
#対象者
* Certbotを使用してhttps化した方
* https接続した際に504 Gateway Timeoutと表示される方#目的
* 504 Gateway Timeoutのバグを修正してブラウザにアクセスする
#前提
下記の記事をもとにしています。
https://qiita.com/nao0725/items/eaa15aff215aa3265c63
#実際の手順と実例
###1.結論**キャッシュが溜まっていたせいでhttps接続できていなかった。**
というめちゃくちゃ単純なバグだったのですが、
結構ハマったので記事にしてみました。###2.原因
ページが表示されず、しばらくするとブラウザに504 Gateway Timeoutと表示されてしまう。
そもそも、504 Gateway Timeoutとは下記の通りです。
> HyperText Transfer Protocol (HTTP) 504 Gateway Timeout サーバーエラーレスポンスコードは、サーバーがゲートウェイまたはプロキシとして機能しているときに、リクエス【CloudFormation】Multi-AZのネットワークを作ってみる
今回はプライベートサブネットとパブリックサブネットを複数のAZに配置する、よくある構成のネットワークをCloudFormationで作成していきます。
![スクリーンショット 2021-09-17 001645.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/92383/79500745-c28f-0da1-f3b1-318189f10303.png)
# ■ テンプレート
“`sample-network-multi-az.yml
AWSTemplateFormatVersion: ‘2010-09-09’##
# パラメータ定義: https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html
##
Parameters:
CidrPrefix:
Type: StringOutputs:
VPCId:
Value: !ReDockerの開発環境から踏み台サーバー経由でdbに接続 [ Rails ]
## 目的
開発マシン上のdockerで動作するrailsアプリケーションのdb接続を
踏み台サーバー経由でrdsに接続したい。![スクリーンショット 2021-09-16 13.39.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/664524/7e161536-c88b-ddea-3bdc-cf7143806244.png)
## 方法
### 前提
◦踏み台サーバー
・エンドポイント ip: 12.12.12.12
・pemファイル /Users/hoge/.ssh/hoge.pem
・接続ユーザー root
◦dbサーバー
・エンドポイント private domain: hogehoge.internal (踏み台から見て)
・postgreSQL(portは、5432)① macターミナルから以下コマンドを実行、SSHポートフォーワーディングを行う。
“`shell
ssh -N -L 5434:hogehoge.internal:5432 -i[AWS基礎③] IAM・CloudTrailでアクセス管理(セキュリティ対策)
初めに
AWSの基礎について学習しています。
今回、AWSのサービスの1つであるIAMとCloudTrailについて学習したのでまとめていきます。
読みとして、「アイアム」と「クラウドトレイル」です。
どちらもAWSのセキュリティ対策の一種です。:fist:通常の作業はIAMユーザーで行った方が良い
AWSアカウントを作成するとルートユーザーが作成されますが、
ルートユーザーは色々なことができてしまう(完全なアクセス権を持つ)ため、
通常の作業はIAMユーザーで行うのがベストだそうです。AWSユーザーと、グループを作成管理でき、
グループごとに操作権限の付与が可能なので、
複数人で作業をする場合には【AWS認定試験】ソリューションアーキテクト(SAA)に合格しました
# はじめに
はじめまして、[@cks7_](https://twitter.com/cks7_)です。
サーバーサイドエンジニア(SE)として都内の某WEB系企業で働いています。先日、念願のSAA合格を果たしたので、SAA受験を考えている方などに少しでも参考になったらいいなという想いと、個人的な記録として、体験記を残そうと思います。
# 経験値・スキル
– 持っているIT系資格はITパスポートくらい
– 元々はインフラ分野に苦手意識
– 個人開発でEC2, S3の使用経験あり
– 業務でECS, ECR, Code系, API Gateway等の使用経験ありSESとして働いていた頃に、常駐した先でAWSを使用した業務を任されたものの、当時はAWSの知見はほぼ無し。
業務のキャッチアップのために学び始めたのがAWSに興味を持ったきっかけです。当時所属していた会社の社内AWS勉強会で『Fargateを用いたコンテナ管理とCodePipelineを用いたデプロイの自動化について』という題目でスピーカーとして登壇してみたりもしました。
# 勉強期間
2021年6月上旬 試
PrimeHub Enterprise フリープランが登場 (1-click-install)
## はじめに
PrimeHubをすぐ使ってみたい方へ、新たに発表された**AWS CloudFormation**を使ったPrimeHubインストール方法が非常に簡単です。
>本文記載時点はPrimeHub Enterprise v3.8を参考にしています。
+ [Youtubeデモビデオ](https://www.youtube.com/watch?v=3EEE3GvjxXo)こちらへ
+ [PrimeHub Enterprise 簡単な紹介〜 (v3.8)](https://qiita.com/GabxInfuseAI/items/29132e25eddc622194b4)### PrimeHub Enterpriseのフリープランは
+ フル機能と
+ 一つのグループを作成ができると
+ 一つのモデルデプロイを使える![Screen Shot 2021-09-16 at 20.27.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1623438/4526c5b8-4b03-9
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた