- 1. AWSのバージニア北部リージョン(us-east-1)の料金が一番低いとは限らない説
- 2. AWS SAM触ってみた
- 3. Aurora Serverlessとは?
- 4. twitch使ったWebAppのアーキテクチャ草案
- 5. AWS TimestreamというDBのざっくりまとめ
- 6. RspecでAWS SDKでS3の署名付きURL発行のテストをする (Ruby on Rails)
- 7. AWSにNext.jsを簡単にデプロイする方法2選
- 8. AWS SAMを使ったLambda(GO)のCICDをGitHub Actionsで構築
- 9. 【備忘】EC2のタイムゾーンをJSTに変更する
- 10. 複数アカウントのAWS CodeCommitを管理する時のgit clone時tips
- 11. 【備忘】Cloud9にpsql(クライアント)を入れる
- 12. VyOSでVPC同士をVPN接続する。
- 13. AWS CloudFormationを使いこなす(1)
- 14. cloudwatch 標準メトリクス・カスタムメトリクスの違い
- 15. redashをhelm chartでEKSにデプロイするレシピ(with https化)
- 16. CFnでCloudWatch Alarm書く時に知っておきたいパラメータ
- 17. SSMでEC2にアクセス
- 18. AWS認定セキュリティスペシャリティ(AWS Certified Security – Specialty) 合格体験記
- 19. ハンズオン4 独自ドメインの設定/障害時にSORRYページへ通信を流す
- 20. AWS Systems Manager + Ansible
AWSのバージニア北部リージョン(us-east-1)の料金が一番低いとは限らない説
## はじめに
AWS を利用していると料金のことを気にするタイミングがあります。
最初の設計、利用を初めてから、請求がきたとき、ふと気がついたとき、料金アラートがきたとき、などなど。
世の中の通説やエンジニアとの会話で出てきたものとして、料金だけで見たらバージニア北部リージョンが最低料金だから、特に制約がなければ、バージニア北部リージョン含む3リージョン(オレゴン、オハイオ)を選択しておけばよいと。ただ、果たしてそれは本当なのか、疑問に思ったので**AWSのバージニア北部リージョン(us-east-1)の料金が一番低いとは限らない説**を検証してみました。
## 結論
AWSのバージニア北リージョン(us-east-1)の料金が一番低くならないサービスがいくつかありました。
ただ、その場合でも料金が一番低いリージョンとの差は非常に少なく、一部の料金カテゴリにおいてのみ別のリージョンが最低価格となっていました。結論としてバージニア北リージョンはほぼ一番低料金といってよいと思います。(検証したサービス内での結論)## 検証方法
AWS の料金表はリージョン間の比較にはあまり特化
AWS SAM触ってみた
2021/9/30(木) JAWS-UG CLI専門支部 #229R CloudWatch Logs入門で「AWS SAM触ってみた奮闘記」というタイトルでLTの時間をいただきました。「AWS SAMって何?」の状態から、なんとなく概要がつかめるようになるまでの奮闘記です。
https://speakerdeck.com/emiki/aws-samhong-tutemitafen-dou-ji
本記事ではSAMの概要と、チュートリアルの簡単な手順を記載します。
#1.AWS SAMとは -AWS Serverless Application Model
https://aws.amazon.com/jp/serverless/sam/
公式のドキュメントに説明があるが、個人的に要点をギュッとまとめると以下の通り。
– AWSのサーバレスサービスを使ったアプリケーションの構築を自動化する便利ツール
– 内部的にはCloudFormation
– SAM専用CLIで使えるもの#2.準備
Cloud9環境にはSAM CLIがインストール済みなのでそのまま使える。
今回は「H
Aurora Serverlessとは?
Amazon Auroraには、キャパシティタイプに
– プロビジョニングタイプ
– サーバーレスタイプがある。
サーバーレスタイプのことをAurora Serverlessと呼ばれる。
特徴は、
アプリケーションニーズに応じて、自動的に起動、シャットダウン、および容量を拡大または縮小される。## 料金
データベースの容量、ストレージ、および I/O 分に対してのみ料金が発生する。
料金表
https://aws.amazon.com/jp/rds/aurora/pricing/## 参考
https://aws.amazon.com/jp/rds/aurora/serverless/
twitch使ったWebAppのアーキテクチャ草案
勉強したいものを詰め込んだ
バッチ処理はそんな重くないからもしかしたらlambdaに移すかも
APIはGoで書くかPythonで書くか悩み中![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278872/a5018f1a-6b8e-d7ea-8abd-86c4ec8bd22f.png)
AWS TimestreamというDBのざっくりまとめ
## どういうDB?
高速かつスケーラブルなサーバーレス時系列データベースサービス。
完全マネージド型であるためサーバーの管理は不要。
リレーショナルデータベースの最大 1,000 倍の速度と 10 分の 1 のコストで簡単に保存し、分析できる。## どう使われる?
IoT および運用アプリケーションに適したDB
時系列データを溜めて、可視化・分析したいとき## 特徴は?
– 低コストで高パフォーマンス
– 自動スケーリングによるサーバーレス
– データのライフサイクル管理
– 簡素化されたデータアクセス
– 時系列専用
– 常時暗号化## 参考
https://aws.amazon.com/jp/timestream/
https://dev.classmethod.jp/articles/amazon-timestream-ga/
RspecでAWS SDKでS3の署名付きURL発行のテストをする (Ruby on Rails)
# はじめに
仕事で、Ruby on Railsを用いてS3から署名付きURLを発行する処理を実装しました。こちらの記事を参考にして行いました。
https://qiita.com/takeyuweb/items/b32dd7487d724faac1f
そしてRspecのテストを行おうとしたのですが、以下の記事を参考にして詰まってしまったためまとめたいと思います。
[Ruby AWS SDK v2 でS3の署名付きURLを発行する](https://qiita.com/takeyuweb/items/b32dd7487d724faac1fe)
# 問題
以下のコードを実装して、テストを行おうとしました。
“`s3_download.rb
s3 = Aws::S3::Client.new
signer = Aws::S3::Presigner.new(client: s3)
signer.presigned_url(:get_object,
bucket: ‘your-bucket’,
AWSにNext.jsを簡単にデプロイする方法2選
# はじめに
awsには多様なサービスが存在し、Next.jsをデプロイするだけでも無数の方法があるので個人的に良さそうと思った2つを紹介します。
どちらもawsが触ったことがないひとでも使うことができ、安価に始められ、本番投入できるということを基準にしています。—
# 動作させるソースコードについてデプロイするソースコードは2パターンどちらも以下になります。
https://github.com/hal256/next-hosting-test/tree/main以下コマンドでプロジェクトを作成し、ssr用のページを作成しただけのプロジェクトです。
“`
yarn create next-app –typescript
“`—
# パターン1 AppRunner
ECS(Fargate)を少ない設定で動かせるようにしたサービス
Github等と連携してpush to deploy or ECRから自動pullしてデプロイが可能で使い心地としてはherokuに近い
FargateはVPCやELB作成したりとやることがかなり多い。参考→(ht
AWS SAMを使ったLambda(GO)のCICDをGitHub Actionsで構築
## 以下の記事を参照して頂ければと思います
https://note.com/shift_tech/n/n62f3b10cd3fa## 補足
ソースコード全体は以下です。https://github.com/yuta-katayama-23/Go/tree/sam
【備忘】EC2のタイムゾーンをJSTに変更する
### EC2はJSTじゃないんですね
さすがグローバル企業– EC2のrootユーザで作業
`localtime`の編集
“`console
$ sudo su –
# cp -p /usr/share/zoneinfo/Japan /etc/localtime
# cat /etc/localtime
TZipYp;~~JDTJSTTZif2
e¤ppYp;ۭLMTJDTJST
JST-9
“``clock`の編集
“`console
# vim /etc/sysconfig/clock
ZONE=”Asia/Tokyo”
UTC=False
# date
Tue Oct 5 20:07:47 JST 2021
“`
複数アカウントのAWS CodeCommitを管理する時のgit clone時tips
自分で3回調べ直したので手順メモ。
# 背景
– AWS CodeCommitにあるリポジトリをcloneしたい
– 利用するAWSアカウントが複数あるため、 `git config –global` したくない
– (もっとスマートな方法もありそうだが)都合よく切り替えるため初回git clone時に追加の操作を足す。## 参考
大枠はこちらの方法です。https://qiita.com/nekonoprotocol/items/b4bc9565f2babaf3e781
# todo
### 1. AWS Credencial設定
“`bash
aws configure –profile wasshoi
“`「wasshoi」部分は案件に応じてお好みで。
### 2. gitに対してまずは素直にglobal設定
“`bash
git config –global credential.helper “!aws codecommit –profile wasshoi credential-helper $@”
git confi
【備忘】Cloud9にpsql(クライアント)を入れる
#### Cloud9からEC2に入れたpostgresqlサーバに接続したい
postgresqlサーバを作った:[【初心者】【備忘】EC2にposgresql12.3をインストール](https://qiita.com/6haramitsu/items/ab183aac93efd2856c94)
ので、`Cloud9`から`psql`クライアントで接続出来るようにしたい。#####結構ハマりました
Cloud9もEC2なので、postgresqlサーバを作った話しと同じ流れ
**と思いきや…**
うちのAWS環境ではEC2とCloud9でOSのバージョンが違っていました。|サービス |OS |ベースになるOS |
|—|—|—|
|Cloud9 |Amazon Linux|RHEL6系|
|EC2 |Amazon Linux 2|RHEL7系|>参考:[Amazon Linux は何系のディストリビューションに該当するのか](https://www.acrovision.jp/service/aws/?p=653)
– Cloud9のOSバージョ
VyOSでVPC同士をVPN接続する。
##はじめに
VyOSを用いて擬似オンプレとVPCをVPN設定してみました。
疎通確認はpingで実施できるまで。##目次
– VyOSとは
– 構成図
– 事前準備
– VyOSインスタンス作成(バージニアリージョン)
– カスタマーゲートウェイ(東京リージョン)
– 仮想プライベートゲートウェイ(東京リージョン)
– VPN接続の作成(東京リージョン)
– ダウンロードしたVyOSの設定ファイルを修正
– VyOS設定(バージニアリージョン)
– ルート伝播を有効にする(東京リージョン)
– 疎通確認
– まとめ##VyOSとは
https://www.vyos-users.jp/
>Vyatta からフォークしたオープンソースのネットワーク OS で、ソフトウェアベースのルーティング、ファイアウォール、VPNなどの機能を持っています。##構成図
![Untitled (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1810458/67e8b90d-0309-2492-20e4-7
AWS CloudFormationを使いこなす(1)
#エピソード1〜AWS CloudFormationとは〜
業務でCloudFormationを触ることがあったため、そこで得たものをまとめていきます。## AWS CloudFormationとは
AWSのリファレンスは、以下のように記述されており、要は「**設定さえ用意しておけば、いつでもリソースを構築でき、設定ファイルとして管理することが可能**」というサービスです。> AWS CloudFormation では、Infrastructure as Code を実現することにより、AWS やサードパーティーの関連するリソースのコレクションをモデリングし、迅速に一貫してプロビジョニングし、ライフサイクル全体で管理することが容易になります。必要なリソースとその依存関係を CloudFormation テンプレートに記述すれば、1 つのスタックとして一括で起動し、設定できます。必要なときにはいつでもテンプレートを使用し、スタック全体を 1 つのユニットとして作成、更新、削除できます
引用:https://aws.amazon.com/jp/cloudformation/##
cloudwatch 標準メトリクス・カスタムメトリクスの違い
## 勉強前イメージ
違いはよくわかってない。。。。
## 調査
### cloudwatch とは
AWSで利用しているリソースの監視を行う機能で、
EC2やRDSの各サービスについて
CPU・トラフィック量などOSより下位のリソースの監視をしています。### 標準メトリクス
標準メトリクスは使用するサービスによって取得される情報は異なりますが、
基本的なデータを取得することができます。
例えばEC2ではCPU利用率やハードウェアのネットワークのステータス情報が出力されます。![12021-10-05CloudWatch Management Console – Google Chrome 2021.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/cc6aa1fd-d988-6d29-5174-4764b16c9e7c.png)
### カスタムメトリクス
カスタムメトリクスは、標準メトリクスでは収集されない情報を
PutMetricData API というものを使
redashをhelm chartでEKSにデプロイするレシピ(with https化)
# TL; DR
Redash公式のhelmチャートでデプロイする際、https化に躓いたため備忘として残します# 手順
1. AWS Load Balancer Controllerをセットアップする.
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/aws-load-balancer-controller.html2. helm install
“`sh
$ helm repo add redash https://getredash.github.io/contrib-helm-chart/
$ helm install redash/redash –values values.yaml
“`“`values.yaml
ingress:
enabled: true
hosts:
– host: “redash.example.com”
paths:
– /*
annotations: {
“kubernetes.io/ingress.class”:
CFnでCloudWatch Alarm書く時に知っておきたいパラメータ
# 背景
CloudFormationでCloudWatchAlarmを作成するために公式ドキュメント見ていて、一瞬よくわからなかったパラメータや、地味に使いそうなパラメータがあったので備忘録的にまとめます。# パラメータ
###1. EvaluationPeriods と DatapointsToAlarm
・`EvaluationPeriods`:閾値を超えたかどうかを評価する直近の評価期間
・`DatapointsToAlarm`:アラームを発生させるデータポイント数評価期間中、(`EvaluationPeriods` – `DatapointsToAlarm`)回は閾値を超えてもアラームは発生しない。
**例えば…**
“`
EvaluationPeriods: 5
DatapointsToAlarm: 3
“`
このようにCFnで設定した場合、直近の評価するデータポイント5個中、3回以上閾値超えるとアラーム発生することになります。“`
データポイント(右から直近) : 結果
○○x○x → OK
○x○xx
SSMでEC2にアクセス
## 背景
[前回](https://qiita.com/class2glass/items/6a55f6a1627780bbbb35)、初めてTerraformでAWS EC2にインスタンスを構築することができました。
構築できたことはManagement Consoleで確認できましたし、インスタンスにへの接続はSSH接続で確認しました。
しかし、業務で構築するEC2はSSH接続は禁止、Session Manager(以下SSM)での接続が条件となっていました。
知識としては知っていたSSMですが使ったことはありませんでしたので、これを機に試してみようと思います。## 目標
TerraformでSSM接続可能なEC2インスタンスを構築する。
## 環境
[前回](https://qiita.com/class2glass/items/6a55f6a1627780bbbb35)Terraformを実行したDockerコンテナ環境を使用します。
ただし、今回はSSMを使用するためPluginのインストールが必要になります。
Dockerfileに以下を追記し、コンテナを起
AWS認定セキュリティスペシャリティ(AWS Certified Security – Specialty) 合格体験記
## はじめに
2021年6月にAWS認定セキュリティスペシャリティに合格しました。今後受験する方々の参考になればと思い、本稿を書かせていただきました。## AWS認定セキュリティスペシャリティとは
AWS認定試験に設けられたアソシエイトからプロフェッショナルとは別枠の高度な専門知識を問われる試験の中のセキュリティ分野の認定資格になります。
評価される能力は次のようなものになります。
>• 専門的なデータの分類と AWS のデータ保護の仕組みに関する知識。
• データ暗号化の手法とそれを実現する AWS の仕組みに関する知識。
• セキュアなインターネットプロトコルとそれを実現する AWS の仕組みに関する知識。
• AWS のセキュリティサービスとセキュアな運用環境を実現するサービスの機能に関する実践
的な知識。
• AWS のセキュリティに関するサービスおよび機能を使用した、運用環境における 2 年以上の
経験を通じて得られたコンピテンシー。
• 一連のアプリケーション要件に応じて、コスト、セキュリティ、導入の複雑さのバランスを
勘案した意思決定を行える能力。
• セキ
ハンズオン4 独自ドメインの設定/障害時にSORRYページへ通信を流す
この記事を書いている私について
インフラ系PMO歴半年でAWSクラウドプラクティショナーを取ったばかりの私が
AWS CloudTechという動画学習サービスに参加し、AWSエンジニアを目指すための備忘録です:fire:構築→記事作成→指摘反映の中で間違いがあったら業務でも発生するので、これからも気を引き締めて行きたいと思います。
本記事の目標
–
前回の「スケーラビリティのあるブログサービスを構築する」に引き続き、
今回はRoute 53とS3の機能を使い独自ドメインの設定と障害時にSORRYページへ通信を流す設定を行っていきたいと思います。https://qiita.com/zetzetn/items/879768e1c1ae22e10538
前回の記事ではロードバランサーまでアクセスでき、ブログが表示される状態です。
今回はドメインを取得し、取得したドメインでアクセスできるようにRoute53に設定変更を加えていきます。
その後、フェイルオーバールーティングの設定を行います。
S3にHTMLファイルをアップロードして、S3の静的ウェブサイトホスティング機能
AWS Systems Manager + Ansible
## 概要
system managerからansibleをEC2インスタンスに対して実行することができます。ssh鍵不要である点がとても嬉しいです。
## 使い方
– ansibleのソースコードはs3またはgithubにおく
– s3の場合はzipファイルをアップロードする
– system manager ⇒ Run Commandで設定をする
– コマンド ドキュメント
– AWS-ApplyAnsiblePlaybooksを選択
– コマンドのパラメータ
– イメージは以下“`
‘{“Check”:[“False”],”PlaybookFile”:[“/playbook/ec2.yml”],”SourceType”:[“S3″],”SourceInfo”:[“{\”path\”:\”{{S3のURL}}\”}”]]}’
“`
– Source TypeでS3を選択
– Source InfoにS3のzipファイルurlを入力