- 0.1. Fargate + Firelens + FluentBit + Firehose で S3(Firehose) と Datadog にログを送る
- 0.2. AWS Systems Manager Session Manager導入メモ
- 0.3. ERR_CONNECTION_TIMED_OUT に苦しめられた(今も正直理解できていない)
- 0.4. 「セキュアで堅牢なAWSアカウント」を実現する CloudFormationテンプレート – ⑤全てのVPCでフローログを有効化する
- 0.5. AWS AppSyncを使って初めてGraphQLを触わってみたメモ
- 0.6. AWS ClientVPNのおかげで、3日で3000名分のリモートワーク環境を構築できた話
- 0.7. 【試験合格記】AWS 認定 機械学習 – 専門知識(MLS-C01)
- 0.8. AWS 課金回避方法
- 1. Amazon EC2
- 2. Amazon S3:
- 3. Elastic IPアドレス
- 4. IAM
- 4.1. 【GitHub Actions】「俺はactions/cacheをやめるぞ!」「S3ィィィィィッ!!」
- 4.2. EC2 EBS ボリューム拡張
- 4.3. (編集中)API Gateway
- 4.4. 浜松市版新型コロナウイルス対策サイトをAWSで運用する方法
- 4.5. AWS EC2でサーバを構築 7 – セキュリティ対策
- 4.6. AWS EC2でサーバを構築 6 – PostfixとDovecot (SSL対応とSPAM対策)
- 4.7. AWS EC2でサーバを構築 5 – MySQL + phpMyAdmin
- 4.8. AWS EC2でサーバを構築 4 – Nginx + Let’s Ecnrypt + PHP-FPM編 (脆弱性診断「A+」を狙う)
- 4.9. AWS EC2でサーバを構築 3 – Apache + Let’s Ecnrypt + PHP-FPM編 (Nginxに変更)
- 4.10. AWS EC2でサーバを構築 2 – 各種インストール編
- 4.11. AWS EC2でサーバを構築 1 – Amazon Linux 2 準備編
- 4.12. AWS kinesisのイメージ
Fargate + Firelens + FluentBit + Firehose で S3(Firehose) と Datadog にログを送る
Firelens + FluentBit を使って Datadog と S3(Firehose) にログを送る方法です。
今までは CloudWatchLogs, Lambda, StepFuntion を組み合わせて Datadog と S3 にログを送っていたのですが、Datadog にログを送る Lambda がたまにコケるので、Firelens と FluentBit を使ってログを送るようにしました。## Terraform を使って Fargate で Nginx を動かす
まず、Terraform を使って Fargate で Nginx を動かします。
ファイル全文は [こちら](https://gist.github.com/takoikatakotako/efc667393d451c93698f7410448b2e5a) に上げてあります。“`terraform:main.tf
resource “aws_ecs_cluster” “nginx_cluster” {
name = “nginx-cluster”
}resource “aws_ec
AWS Systems Manager Session Manager導入メモ
新規アカウント作成からの手順メモです。
# Session Managerってなに
![sessionManager-head.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/618258/a8f7fcb1-623a-5157-79dc-5ee5c31e486c.png)* https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager.html
* あらかじめエージェントをインストールしたマシンにAWS経由でアクセスできるサービス
* EC2にAWSコンソール(ブラウザ)を使ってアクセスしたりできる
* 秘密鍵などの扱いが不要なのが強い(認証はAWSで行う)
* IAM Policyで条件を絞った権限を与えることで細かなアクセス許可が実現可能
* 「特定のユーザーが、特定のIPアドレスから、特定のマシンへ、特定の時間帯にだけログインできる」という状態が作り出せる
* ログは
ERR_CONNECTION_TIMED_OUT に苦しめられた(今も正直理解できていない)
# 背景
制作物をデプロイする際に ERR_CONNECTION_TIMED_OUT の連発
ネットワーク関係分からないため調べて、キャッシュクリア等するも解決せず。
URLを確認してみると、SSL化していないのにも関わらずhttpsになっていることに気づく
その際にHSTSというものが関係しているかも?と知る。(キャッシュクリアしても解決しないのは何で)
新たに別EC2で再デプロイするも結果変わらず ERR_CONNECTION_TIMED_OUT
諦めてEIPを新たに設定すると問題なく接続され、デプロイ終了。# どうしてタイムアウトになったか(考察)
デプロイ後、certbotでSSL化しようとある程度進めていたが、ドメインを取得しておらず途中で断念、
その際に proxy_set_header X-FORWARDED_PROTO https を追記しており
それでhttpsに接続されようとしていた?(これが合っているかも分からないため今後検証)
追記した内容を消しても、一度httpsで繋ごうとしていたため、httpと入力してもhttpsに接続しようとしていた?
正直分か
「セキュアで堅牢なAWSアカウント」を実現する CloudFormationテンプレート – ⑤全てのVPCでフローログを有効化する
# はじめに
AWSには、アカウントやリソースへの脅威検知に対応した、**AWS IAM Access Analyzer**, **AWS Security Hub**, **Amazon Inspector**, **Amazon GuardDuty**, **AWS CloudTrail**, **AWS Config** などのサービスが用意されています。
また、[**CIS AWS Foundations Benchmark**](https://d1.awsstatic.com/whitepapers/compliance/AWS_CIS_Foundations_Benchmark.pdf) という**セキュリティガイドライン**が公開されており、このガイドラインは、**AWSアカウントをセキュアに保つために必要なAWSのセキュリティ設定**を集めた**ベストプラクティス集**として活用できます。自身のAWSアカウントがこのガイドラインにどの程度準拠しているのかを確認/監査する手段として、**AWS Security Hub**で、**CIS AWS Foundation
AWS AppSyncを使って初めてGraphQLを触わってみたメモ
## この記事の内容
GraphQLもAppSync(というかAWS自体ほぼ素人)も全く触ったことがなかったので勉強がてら触ってみたのですが、秒で忘れてしまいそうだったので備忘録。実際には AWSの [AppSync](https://aws.amazon.com/jp/appsync/) + [Cognito](https://aws.amazon.com/jp/cognito/) + [DynamoDB](https://aws.amazon.com/jp/dynamodb/) を使用して、フロントはJSで [Apollo Client](https://www.apollographql.com/docs/react/api/apollo-client/) と [serverlessフレームワーク](https://serverless.com/) を使用して試してみたのですが、この記事ではAppSyncの部分だけメモってます。
## 結論
AWS の AppSync を使うとGUI操作だけで簡単な GraphQL サーバーの環境が作成できてびっくり。
## AWS
AWS ClientVPNのおかげで、3日で3000名分のリモートワーク環境を構築できた話
# はじめに
表題の件で、備忘録としてダラダラと書き連ねます。
※Qiita初投稿です。実際にやってみるとアウトプットって難しいですね(今までお世話になったQiita記事の投稿者の皆様に改めて感謝です…)# 背景
– 新型コロナウイルス感染症にかかる緊急事態宣言を受けて、4/8(水)から弊社でも在宅勤務がスタート
– 社員数4000名以上の弊社で準備していた既存VPNは、同時接続数がわずか1000
– 在宅勤務開始直後から「VPN接続できない!」というクレームの嵐
– NWベンダに確認したところ、現VPNは同時接続数1000ではなく、同時セッション数1000だったと判明し絶望
– 4/9(木) 対応策検討開始。お上から「週明けには解決しろ!」
– 「AWS ClientVPN」を発見。万年人手不足の情シスに嬉しいマネージドのVPN?激アツじゃないですか## ゴール
VPN接続したユーザが、DX経由で社内リソースやインターネット/各種Saasへアクセスできる状態を目指します
![goal.png](https://qiita-image-store.s3.ap-northeast
【試験合格記】AWS 認定 機械学習 – 専門知識(MLS-C01)
お疲れさまです。
表題の試験に合格したため記録として残したいと思います。# 結果
合格(902点)|分野|名称|割合|
|:—————–|:——————-|:——————-|
|1|データエンジニアリング|20%|
|2|探索的データ解析|24%|
|3|モデリング|36%|
|4|機械学習の実装と運用|20%|# 所有資格
| 資格名 |取得年月日 |
|:—————–|:——————-|
|AWS Certified Solutions Architect – Associate (SAA)|2018-06-14|
|AWS Certified SysOps Administrator – Associate (SOA)|2018-06-22|
|AWS Certified Developer – Associate (DVA)|2018-06-25|
|AWS Certified Solutions Architect – Professi
AWS 課金回避方法
AWS無料期間について
–AWSのアカウントを作成してから12ヶ月間、以下のアプリケーションは無料で利用できます。
※12ヶ月が過ぎてしまうと課金が始まってしまうので注意が必要。
Amazon EC2
750時間/月 (t2.microインスタンスの使用もこれに含む)まで
Amazon S3:
5GBの標準ストレージ、20,000件のGETリクエスト、2,000件のPUTリクエスト
Elastic IPアドレス
実行中のインスタンスに関連づけられたElastic IPアドレスを1つだけ
インスタンスに紐付いていないElastic IPアドレスは全て課金対象IAM
IAMユーザーの一時的なセキュリティ認証情報を使用して他のAWSサービスにアクセスするときのみ料金が発生
2つ目以降のインスタンスを作成する際の課金回避法
–
インスタンスを作成し直す際や、別のアプリケーションをデプロイするためには別インスタンスを立ち上げることになります。以下の手順を踏めば課金は解除できるでしょう。
手順
–
1.Elastic
【GitHub Actions】「俺はactions/cacheをやめるぞ!」「S3ィィィィィッ!!」
## はじめに
GitHub Actions公式のキャッシュ機能である`actions/cache`は、
> – Pull Requestでコケた時にRe-run jobsするとactions/cacheアクションが正常に動作しない
> – actions/cacheアクションは時折キャッシュの取得に失敗することがあるなどの問題を抱えているようです。
詳しくは、こちらのブログ記事を参照ください。
– [GitHub Actionsの知見ご紹介 – Masteries](https://papix.hatenablog.com/entry/2020/04/14/110000)
加えて、キャッシュの容量はリポジトリごとに5GBとのことなのですが、明らかに容量オーバーしていないのに、いつのまにかキャッシュが追い出されていることがあるような気がします(検証はして無いので、私の思い込みかもしれません)。
そこで、`actions/cache`を使わず、S3に独自にキャッシュさせることにしました。
今のところ、快適に動いているので、今回その内容を紹介させていただきます。
##
EC2 EBS ボリューム拡張
手順メモ
# EC2に接続されてるボリュームをAWS管理画面上から拡張
管理画面で実行
今回は8GB -> 30GB に拡張# 現状をdf
“`bash
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 992M 56K 992M 1% /dev
tmpfs 1001M 0 1001M 0% /dev/shm
/dev/xvda1 7.8G 7.5G 173M 98% /
“`# lsblk で確認
“`bash
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
└─xvda1 202:1 0 8G 0 part /
“`# growpart実行
## growpart – extend a partition in a partition table to fill available
(編集中)API Gateway
– API Gatewayとは、Web API(HTTP/HTTPSベースで実現するAPI)の一種。
– リージョンレベルでデプロイされるサービス(S3と同じ)
– サーバレスアーキテクチャ(インフラ管理は不要)
– 呼び出し回数によって料金が発生![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482612/16a85610-432a-b000-5353-f481d78d74f1.png)
## そもそもRESTとは
RESTとはRepresentational State Transferの略称で、下記のRESTの考え方に従って実装されたAPIをRESTful API(またはREST API)と呼ぶ。– ***HTTPのメソッド(命令)***でデータ操作種別(CRUD)を表す
– POSTメソッドであれば作成(Create)、GETメソッドであれば参照(Reference)、PUT/PATCHメソッドであれば更新(Update)、DELETEメソッドであれば削
浜松市版新型コロナウイルス対策サイトをAWSで運用する方法
## はじめに
浜松市 新型コロナウィルス感染症対策サイトのお手伝いをしています。
浜松市では市内で ~~2020/3/29~~ 2020/3/28 に初の感染者が確認されてから、市内外のITコミュニティ有志により東京都の[新型コロナウィルス感染症対策サイト](https://stopcovid19.metro.tokyo.lg.jp/)をForkして4/1から公開を始めました。[浜松市 新型コロナウィルス感染症対策サイト](https://stopcovid19-hamamatsu.netlify.com/)
東京都のサイトはデザインや中に使用されている技術のみならずデプロイまでの運用についてもしっかり出来上がっている素晴らしいものなので地方で立ち上げる場合も非常に短時間で公開できました。
【静岡新聞】 [コロナ対策で新サイト 浜松市と市内IT関連有志](https://www.at-s.com/news/article/local/west/754950.html)これから同じように立ち上げようとする方のために主にデプロイに関しての解説をしたいと思います。
##
AWS EC2でサーバを構築 7 – セキュリティ対策
## 記事一覧
– [AWS EC2でサーバを構築 1 \- Amazon Linux 2 準備編](https://qiita.com/ryu-blacknd/items/23b86d9ad768d58ff161)
– [AWS EC2でサーバを構築 2 \- 各種インストール編](https://qiita.com/ryu-blacknd/items/36ccfcf96da7b0c981cf)
– [AWS EC2でサーバを構築 3 \- Apache \+ Let’s Ecnrypt \+ PHP\-FPM編 \(Nginxに変更\)](https://qiita.com/ryu-blacknd/items/77eebe43a18a69e7c1e5)
– [AWS EC2でサーバを構築 4 \- Nginx \+ Let’s Ecnrypt \+ PHP\-FPM編 \(脆弱性診断「A\+」を狙う\)](https://qiita.com/ryu-blacknd/items/4049f04e445eb1d60e4d)
– [AWS EC2でサーバを構築 5 \- MySQL \
AWS EC2でサーバを構築 6 – PostfixとDovecot (SSL対応とSPAM対策)
## 記事一覧
– [AWS EC2でサーバを構築 1 \- Amazon Linux 2 準備編](https://qiita.com/ryu-blacknd/items/23b86d9ad768d58ff161)
– [AWS EC2でサーバを構築 2 \- 各種インストール編](https://qiita.com/ryu-blacknd/items/36ccfcf96da7b0c981cf)
– [AWS EC2でサーバを構築 3 \- Apache \+ Let’s Ecnrypt \+ PHP\-FPM編 \(Nginxに変更\)](https://qiita.com/ryu-blacknd/items/77eebe43a18a69e7c1e5)
– [AWS EC2でサーバを構築 4 \- Nginx \+ Let’s Ecnrypt \+ PHP\-FPM編 \(脆弱性診断「A\+」を狙う\)](https://qiita.com/ryu-blacknd/items/4049f04e445eb1d60e4d)
– [AWS EC2でサーバを構築 5 \- MySQL \
AWS EC2でサーバを構築 5 – MySQL + phpMyAdmin
## 記事一覧
– [AWS EC2でサーバを構築 1 \- Amazon Linux 2 準備編](https://qiita.com/ryu-blacknd/items/23b86d9ad768d58ff161)
– [AWS EC2でサーバを構築 2 \- 各種インストール編](https://qiita.com/ryu-blacknd/items/36ccfcf96da7b0c981cf)
– [AWS EC2でサーバを構築 3 \- Apache \+ Let’s Ecnrypt \+ PHP\-FPM編 \(Nginxに変更\)](https://qiita.com/ryu-blacknd/items/77eebe43a18a69e7c1e5)
– [AWS EC2でサーバを構築 4 \- Nginx \+ Let’s Ecnrypt \+ PHP\-FPM編 \(脆弱性診断「A\+」を狙う\)](https://qiita.com/ryu-blacknd/items/4049f04e445eb1d60e4d)
– [AWS EC2でサーバを構築 5 \- **MySQL
AWS EC2でサーバを構築 4 – Nginx + Let’s Ecnrypt + PHP-FPM編 (脆弱性診断「A+」を狙う)
## 記事一覧
– [AWS EC2でサーバを構築 1 \- Amazon Linux 2 準備編](https://qiita.com/ryu-blacknd/items/23b86d9ad768d58ff161)
– [AWS EC2でサーバを構築 2 \- 各種インストール編](https://qiita.com/ryu-blacknd/items/36ccfcf96da7b0c981cf)
– [AWS EC2でサーバを構築 3 \- Apache \+ Let’s Ecnrypt \+ PHP\-FPM編 \(Nginxに変更\)](https://qiita.com/ryu-blacknd/items/77eebe43a18a69e7c1e5)
– [AWS EC2でサーバを構築 4 \- **Nginx \+ Let’s Ecnrypt \+ PHP\-FPM編 \(脆弱性診断「A\+」を狙う\)**](https://qiita.com/ryu-blacknd/items/4049f04e445eb1d60e4d)
– [AWS EC2でサーバを構築 5 \- MyS
AWS EC2でサーバを構築 3 – Apache + Let’s Ecnrypt + PHP-FPM編 (Nginxに変更)
## 記事一覧
– [AWS EC2でサーバを構築 1 \- Amazon Linux 2 準備編](https://qiita.com/ryu-blacknd/items/23b86d9ad768d58ff161)
– [AWS EC2でサーバを構築 2 \- 各種インストール編](https://qiita.com/ryu-blacknd/items/36ccfcf96da7b0c981cf)
– [AWS EC2でサーバを構築 3 \- **Apache \+ Let’s Ecnrypt \+ PHP\-FPM編 \(Nginxに変更\)**](https://qiita.com/ryu-blacknd/items/77eebe43a18a69e7c1e5)
– [AWS EC2でサーバを構築 4 \- Nginx \+ Let’s Ecnrypt \+ PHP\-FPM編 \(脆弱性診断「A\+」を狙う\)](https://qiita.com/ryu-blacknd/items/4049f04e445eb1d60e4d)
– [AWS EC2でサーバを構築 5 \- MyS
AWS EC2でサーバを構築 2 – 各種インストール編
## 記事一覧
– [AWS EC2でサーバを構築 1 \- Amazon Linux 2 準備編](https://qiita.com/ryu-blacknd/items/23b86d9ad768d58ff161)
– [AWS EC2でサーバを構築 2 \- **各種インストール編**](https://qiita.com/ryu-blacknd/items/36ccfcf96da7b0c981cf)
– [AWS EC2でサーバを構築 3 \- Apache \+ Let’s Ecnrypt \+ PHP\-FPM編 \(Nginxに変更\)](https://qiita.com/ryu-blacknd/items/77eebe43a18a69e7c1e5)
– [AWS EC2でサーバを構築 4 \- Nginx \+ Let’s Ecnrypt \+ PHP\-FPM編 \(脆弱性診断「A\+」を狙う\)](https://qiita.com/ryu-blacknd/items/4049f04e445eb1d60e4d)
– [AWS EC2でサーバを構築 5 \- MyS
AWS EC2でサーバを構築 1 – Amazon Linux 2 準備編
## 記事一覧
– [AWS EC2でサーバを構築 1 \- **Amazon Linux 2 準備編**](https://qiita.com/ryu-blacknd/items/23b86d9ad768d58ff161)
– [AWS EC2でサーバを構築 2 \- 各種インストール編](https://qiita.com/ryu-blacknd/items/36ccfcf96da7b0c981cf)
– [AWS EC2でサーバを構築 3 \- Apache \+ Let’s Ecnrypt \+ PHP\-FPM編 \(Nginxに変更\)](https://qiita.com/ryu-blacknd/items/77eebe43a18a69e7c1e5)
– [AWS EC2でサーバを構築 4 \- Nginx \+ Let’s Ecnrypt \+ PHP\-FPM編 \(脆弱性診断「A\+」を狙う\)](https://qiita.com/ryu-blacknd/items/4049f04e445eb1d60e4d)
– [AWS EC2でサーバを構築 5 \- MyS
AWS kinesisのイメージ
kinesisの勉強をしているのですが、どうもイメージがわかなくて困っていました。
諸先輩方の記事を見て自分なりのイメージをまとめてみました。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480089/fd81dccb-ae56-7314-49e3-6d9dc4675319.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480089/fbf9b0be-5356-dc6c-4379-1acf136c54f9.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480089/48cecbe0-6348-f269-fd3e-955f914a911a.png)
業務で使ってみるまで本当の意味で腹落ちしないんだろうな。。。
間違いがありましたらご指摘ください。