- 1. AWSでEC2でWebページを公開メモ
- 2. 【初心者】HTTP/3の特徴を調べてみた
- 3. AWS周りのツール一覧
- 4. 初めてのWAFの導入時に参考にした記事たち
- 5. 【RDS/MySQL】スロークエリログの取得から本番環境に適用するまで
- 6. bootstrapをカスタマイズして既存のIAMロール、S3バケットを使ってAWS-CDK v2を利用する
- 7. AWS Developer – Associate 合格までにしたこと
- 8. AWSで独自ドメインかつHTTPSの静的Webサイト配信を行う
- 9. 個人的にバージョン対応を待っているマネージドサービス一覧
- 10. 【AWS】AWS Cloud Questで遊んでみた
- 11. 通信効率を上げるためにAWS Global Acceleratorを導入する
- 12. Amazon Location ServiceとOpenLayersとAWS Amplifyを組み合わせてマップアプリケーションを構築してみた
- 13. 【AWS】あるIAMロールに別のロールを引き受けられる(AssumeRole)ように設定する
- 14. CDKv2 で AssumeRole を使い安全に CD する方法
- 15. VMware Cloud on AWS 大阪リージョンをデプロイしてみた (VTGWで東京リージョンと繋げてみた)
- 16. CloudFront概念まとめ
- 17. 【機械学習】AWSでGPUインスタンスをたててBERTモデルを実行してみた
- 18. AWSのアクセスキーがファイルに含まれていたらエラーとしたい
- 19. 初めてIAMユーザーを追加したけどcsvをDLせずに閉じちゃった……そんなときは!
- 20. AWS-OCI間 IPSecシングル接続と冗長接続検証
AWSでEC2でWebページを公開メモ
昔 AWSでEC2でWordPressやEC-Cubeで色々やっていたのですが
違う業界(?)に行っていたので忘れてしまった気がするので再設定のメモ失礼します。イ)まずルートユーザーのアカウント作成
ロ)EC2起動っ
ハ)Puttyでアクセス出来るようにする。
(以下コメントで追記予定)
【初心者】HTTP/3の特徴を調べてみた
# 背景・目的
CloudFrontでHTTP/3がサポートされた[ブログ](https://aws.amazon.com/blogs/aws/new-http-3-support-for-amazon-cloudfront/)を見つけました。
HTTP/3をあまり良くわかっていないので、このタイミングで概要を学ぼうと思います。# まとめ
– HTTP/3はQUICという技術を使用している。
– 転送はバイナリで行われる。
– ハンドシェイクが1回だけで済む。(従来はTCPやTLSでは複数回のハンドシェイクが必要とされていた)
– UDPを基盤として使用している。
– メタデータを含めて完全に暗号化され、通過するNATデバイス、ファイアウォールなどで参照、操作がされない。
– TLS1.3を必須としている。
– 低速NW、遅延の影響を受けやすい接続で実行速度が向上する。# 概要
## What is HTTP/3?
> HTTP/3 は QUIC を使用し、TCP の制限の多くを克服し、それらの利点を HTTP にもたらします。 TCP および TLS で既存の HTTP/2
AWS周りのツール一覧
## はじめに
こんなツールあったのかっていう発見をたまにするので一覧化しておきたかった
使ってて便利そうなものは適宜追加予定## 一覧
### AWS公式
| ツール名 | 概要 | 言語 | リンク |
|:-:|:-:|:-:|:-:|
| AWS-SDK | ソースコード上からAWSの各サービスのAPIを簡単に呼び出せるようにしたもの。
環境変数などから認証情報を取得してトークンを発行してAPIをコールしている。
Goはv2、Javascriptはv3が出ている | Go
Typescript
Javascript
Java
.NET
PHP
Python | [リポジトリリンク](https://github.com/aws/aws-sdk) |
| AWS-CDK | プログラミング言語よりCloudformationのテンプレートを生成してデプロイできるようにしたツール | Go
Typescript
Java
.NET
Python | [リポジトリリンク](https://github.c
初めてのWAFの導入時に参考にした記事たち
# はじめに
アプリケーションへの脆弱性攻撃対策として、候補にあがるのがWAFの導入かと思います。
ですが、いざWAFを導入しようかどうかと思ったときに、知見が全くと言っていいほどありませんでした。WAFにも多くの種類があり、最初はどのWAFが良いのか悩むと思います。
今回は、AWS WAFを導入しましたが、導入にあたり色々な偉大な先輩方の記事を読み漁り、
自分で手を動かしながら`導入→運用`まで持っていけるぐらいの知見を獲得することができました。そんな、初めてのWAF導入において、助けになった記事を一挙ご紹介します。
もし同じような境遇の人の助けになれば幸いです。
# ▼参考記事一覧
## AWS WAF
`AWS WAFとは?`という疑問を解消してくれた記事https://dev.classmethod.jp/articles/fully-understood-aws-waf-v2/
https://www.wafcharm.com/blog/how-to-choose-aws-managed-rules/
`AWS WAFマネージドルール`の詳細
http
【RDS/MySQL】スロークエリログの取得から本番環境に適用するまで
# はじめに
DB利用において、レイテンシーを向上させる方法として、スロークエリログを取得し、該当クエリの改善を図る。[スロークエリとは?](https://weblabo.oscasierra.net/mysql-slow-query-log-1/)
ここでは、スロークエリの取得から本番環境へ適用するまでを残す。
—
【環境】
– RDS for MySQL 5.7.34# 手順
## RDSのパラメータグループを変更
“`sh:パラメータグループの変更箇所
# 通常ログを有効化(デフォルト値は 0 またはログなし)
general_log = 1# スロークエリを有効化(デフォルト値は 0 またはログなし)
slow_query_log = 1# ログに出力するスロークエリの秒数を指定(この値を閾値にスロークエリと判定。μs単位まで指定可能)
long_query_time = 3# 一般クエリログとスロークエリログの両方をファイルシステムに書き込み、Amazon RDS コンソールからログを表示
log_output = FILE“`
#
bootstrapをカスタマイズして既存のIAMロール、S3バケットを使ってAWS-CDK v2を利用する
## はじめに
AWS-CDKを使ってTypescriptの型定義の恩恵を受けつつ手軽にAWSのリソースを作りたいけど、bootstrapでIAMロールやS3が自動的に作られて開発できない・・・っていう人向けです
Typescriptで書くと型推論でサクサクかけますし、TSdocも書かれていて定数も用意されているのでプロパティの設定値に迷いません## 前提
– Node.jsがインストール済み
– AWS-CLIが使える環境であること
– AWS-CLIで使う認証情報において以下の権限が付与されていること(他にも必要かも+CDKでコンテナのビルドを行う際はECRのPush権限も必要)
– CloudformationのStackを作成・参照できる権限
– 既存のS3に対してオブジェクトのPutの権限がある## bootstrapをカスタマイズ
実際にBootstrapで作成されるリソースは以下のページがわかりやすく解説してくれています
– [CDK BootstrapのModern templateで何が変わるのか](https://dev.classm
AWS Developer – Associate 合格までにしたこと
2022年8月上旬にAWSデベロッパー アソシエイトに合格しました。
ソリューションアーキテクトと違い情報が少ないので参考になれば幸いです。## 受験時の筆者について
– IT業界3年目
– 仕事はWebアプリケーションのバックエンド中心
– ソリューションアーキテクト アソシエイト取得済み## どうして受験したのか
**9割がモチベーション維持のためです。**
スキルアップのために日々ドキュメントを読んだり、小規模のアプリを作成しながら触ってみたりしているのですが、やはり何か目標がないとやっているだけになってしまい続きません。
受験し合格するというロードマップを掲げることでモチベーションを高めようと決め、今回はデベロッパー アソシエイトに狙いを定めました。## 使用した教材&オンライン講座
– [ポケットスタディ AWS認定 デベロッパーアソシエイト](https://www.shuwasystem.co.jp/book/9784798063409.html)
– [AWS 認定デベロッパー アソシエイト模擬試験問題集(5回分325問) | Udemy](https://
AWSで独自ドメインかつHTTPSの静的Webサイト配信を行う
# はじめに
AWSのSAPを勉強中に、上記構成の問題が多く出題されているように感じ、理解を深めるために実際に構築してみることにしました。# 利用するサービス
– Amazon Route 53(以下Route53)
– 全世界のエッジロケーションの一部を使用して、高可用性を持ったDNSサービスを提供します。
– Amazon CloudFront(以下CloudFront)
– 全世界のエッジロケーションを使用してキャッシュを配信できるCDN(Content Delivery Network)サービスです。
– S3だけではHTTPS通信を行うことができず、HTTPS通信を行うために利用します。
– Amazon Simple Storage Service (Amazon S3)(以下S3)
– インターネットからアクセスできるストレージサービスです。
– 静的なファイル(HTMLなど)を格納するために利用します。
– AWS Certificate Manager(以下ACM)
– ドメイン認証の証明書の発行、自
個人的にバージョン対応を待っているマネージドサービス一覧
## RDS for MySQL のバージョン MySQL `8.0.30`
2022/07/26 に `8.0.30` はリリースされている
2022/08/15 現在 RDS for MySQL が対応しているバージョンは `8.0.28` まで
[MySQL on Amazon RDS versions – Amazon Relational Database Service](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html)
[MySQL バージョン情報 | OSSサポートのOpenStandia™【NRI】](https://openstandia.jp/oss_info/mysql/version/ )
## AWS CloudWatch agent for Ubuntu Server `22.04`
2022/08/15 現在 Ubuntu Server の対応バージョンは `20.04`, `18.04`, `16.04`, `1
【AWS】AWS Cloud Questで遊んでみた
# 概要
* AWS Cloud Questとは?↓
>AWS Cloud Quest はパズルを解いたり、報酬を獲得したり、クラウドについて学びながら、AWS サービスを使用した実践的なクラウドスキルを伸ばせるロールプレイゲームです。
* 遊びながら学ぶことができる
* 無料でAWSリソースを使うことができる(リソースの削除も不要)
* 無料で利用できるのは、AWSの初級者向け資格であるCloud Practitioner(クラウドプラクティショナー)のコースまで、それ以上のレベルはサブスクとして展開されているらしい
![aws.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/969534/c2a790c6-954b-55c1-0d0d-16d70ea5c56a.png)# 内容
ゲームの目的は、仮想世界内で困った市民をAWSのクラウド知識で解決させることのようです。解決させてあげられると何故か建物が立ちます。笑
↓困っている市民が街のそこら中に立っていて、手を振ってアピールしてきます。
![im
通信効率を上げるためにAWS Global Acceleratorを導入する
## AWS Global Acceleratorとは
わかりやすい記事を一旦抜粋します。
>Global Accelerator を使用すると、ユーザーのトラフィックはインターネットから Amazon のプライベートグローバルネットワークに移動し、90 を超えるグローバルエッジロケーションを経由して、アプリケーションのオリジンに転送されます。AWS Global Accelerator は迅速にセットアップでき、トラフィックのパフォーマンスを最大 60% 向上します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367608/f09a2db3-0e9a-2802-5057-025240f9457c.png)
↑出典: [公式](https://aws.amazon.com/jp/global-accelerator/?blogs-global-accelerator.sort-by=item.additionalFields.createdDate&blogs-global-
Amazon Location ServiceとOpenLayersとAWS Amplifyを組み合わせてマップアプリケーションを構築してみた
![img](https://day-journal.com/memo/images/try-093_01.gif)
![img](https://day-journal.com/memo/images/try-093_02.png)
### Amazon Location ServiceとOpenLayersとAWS Amplifyを組み合わせてマップアプリケーションを構築してみました :tada:
事前準備
– AWS Amplifyのインストール
[AWS Amplify #001 – インストール](https://day-journal.com/memo/aws-amplify-001)
– OpenLayersを手軽に始めるビルド環境を利用
[openlayers-starter](https://github.com/dayjournal/openlayers-starter)実行環境
– node v18.1.0
– npm v8.8.0詳細として下記について説明します。
– [環境構築](htt
【AWS】あるIAMロールに別のロールを引き受けられる(AssumeRole)ように設定する
タイトルのように設定を行う際に、2つの点でいつも混乱するので備忘録的にまとめる。
– 同一AWSアカウントのロールと、違うアカウント(クロスアカウント)のロールとで必要な設定内容が異なる
– 名前も役割もよく似たPassRoleと設定内容が異なる# AssumeRoleとは
STS(Security Token Service)の提供するAPIアクションの一つ。
通常利用するユーザロールやサービスロールではアクセスできないAWSリソースへアクセスできるよう、別のロールの権限でアクションを実行するための一時的なセキュリティ認証情報(アクセスキーID、シークレットアクセスキー、およびセキュリティトークン)を生成する。これで、あるロールが別のロールを「引き受け(assume)」、権限を得ることができる。
この機能を活用し、IAMロールごとに単体で持つAWSリソースへのアクセス権限を分散させ、あるロールに過剰な権限を集中させるような意図しない事態を回避でき、セキュリティ上の問題を軽減することにつなげられる。# AssumeRoleの設定
あるIAMロールが別のロールを引き受けるに
CDKv2 で AssumeRole を使い安全に CD する方法
## 課題:CDK v2 で組んだ IaC を安全に CD したい
AWS のサーバーレスリソースを使ったウェブサイトやウェブアプリの構築にトライしています。
インフラは [CDK v2](https://docs.aws.amazon.com/cdk/v2/guide/home.html) を使った IaC(Infrastructure as Code)にしたので、さらに Git にプッシュしたら自動的にデプロイされるよう CD(Continuous Delivery, 継続的デリバリー)を設定したいと考えました。CD するには CD サービスに対し私の AWS アカウントの操作権を委ねる必要がありますが、できるだけリスクを下げて安全に行いたいものです。
これには AssumeRole を使うベストプラクティスがありますが、 CDK v2 では少し気を付ける点がありましたので、ここでまとめます。## TL;DR (先に結論)
* CDK v2 の bootstrap でデプロイ時に必要なロールが自動的に作られる。
* このロールに AssumeRole できるユーザーを作
VMware Cloud on AWS 大阪リージョンをデプロイしてみた (VTGWで東京リージョンと繋げてみた)
# 1. はじめに
2021年10月末から「[VMware Cloud on AWS](https://www.vmware.com/jp/products/vmc-on-aws.html)」も大阪リージョンに対応していましたが、つい先日(2022/7/29)にすべてのユーザー組織で利用できるようになったということで、私も試しに触ってみます。> [VMware Cloud™ on AWS リリース ノート](https://docs.vmware.com/jp/VMware-Cloud-on-AWS/0/rn/vmc-on-aws-relnotes.html)
> [VMware Cloud on AWS の大阪リージョンサポート (VMware Japan ブログ)](https://blogs.vmware.com/vmware-japan/2021/10/vmc-osaka-region.html)
https://aws.amazon.com/jp/local/osaka-region/
本稿は2022年8月時点で執筆しており、デプロイ時のSDDCバージョンは1.1
CloudFront概念まとめ
CloudFrontを勉強してみたので各概念の関係性をまとめてみた
主要概念は、Distribution、Behavior、Originの3つ。“`mermaid
classDiagramclass Distribution {
<<主要概念>>
+代替DomainName
+カスタムSSL証明書
}class Behavior {
<<主要概念>>
+pathPattern}
Distribution o–>”*” Behavior
Behavior –>”1″ CachePolicy
Behavior –>”0..1″ OriginRequestPolicy
OriginGroup –|> Origin
Behavior –>”1″ OriginDistribution o–>”*” Origin
Distribution –>”0..1″ WAFclass CachePolicy {
+TTL設定
+キャッシュキー設定
}class OriginRequestPolicy {
+headers
+queryStrings
【機械学習】AWSでGPUインスタンスをたててBERTモデルを実行してみた
# はじめに
今月から機械学習の案件に携わっており、現在、BERTという自然言語処理モデルについて勉強しています。
最近は、時系列データにBERTを適用して特定の行動を予測するTabBERT(Tabular BERT)というモデルに関する論文を読んでいます。https://arxiv.org/abs/2011.01843
一部がクレジットカードの使用歴から不正使用かどうかを判別するという内容なのですが、内部の処理が気になったため、GitHubにあがっているコードで論文と同じ結果が得られるかどうかを試してみることにしました。
https://github.com/IBM/TabFormer
ご丁寧に`setup.yml`が用意されていたので、Anacondaでちょちょいと動作を確認してみよ〜くらいのノリで環境構築を始めたところ、`ResolvePackageNotFound`エラーでいきなり失敗しました。
“`
(base) [9:10:58] → conda env create -f setup.yml
AWSのアクセスキーがファイルに含まれていたらエラーとしたい
## 目次
– [概要](#概要)
– [準備](#準備)
– [git-secretsのインストール](#git-secretsのインストール)
– [コマンドの確認](#コマンドの確認)
– [設定](#設定)
– [検証](#検証)
– [AWSのアクセス情報を含むファイル作成](#awsのアクセス情報を含むファイル作成)
– [ファイルの中身を表示](#ファイルの中身を表示)
– [git secretsでファイルをスキャンしてみる](#git-secretsでファイルをスキャンしてみる)
– [参考](#参考)## 概要
AWSを用いた開発を行なっていると、AWSのアクセスキーを用いてローカル環境で検証を行います。
しかし、検証後にそのままコミットして、AWSアクセスキーをGitリポジトリに混入させてしまうリスクがあります。
そこで、AWSのアクセスキーがファイルに含まれていたらエラーとする方法について検証しました。## 準備
### git-secretsのインストール
“`bash
$ brew update
$ brew install
初めてIAMユーザーを追加したけどcsvをDLせずに閉じちゃった……そんなときは!
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2779586/a99bc99a-9f6e-ea40-ea95-f77b7eb89066.png)
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2779586/01d6c7d0-eebe-f698-7609-94e09ade7823.png)
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2779586/ed05e2f8-1f57-05e2-de80-54186e3591c2.png)
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2779586/afe33e14-3cad-6a79-d9f0-4882499a5bab.png)
AWS-OCI間 IPSecシングル接続と冗長接続検証
## 概要
AWS内のVMからOracle Cloud(OCI)のVMに接続する要件があったため接続性について簡単な検証を行いました。## 検証構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/9c570a85-c854-6e74-299e-12831fd2823e.png)
【AWS】
既存のSubnetに検証用のVMをデプロイしました。
OCIとのIPSec接続はサイト間VPN機能を使用します
【OCI】
既存のSubnetに検証用のVMをデプロイしました。
AWSとのIPSec接続はサイト間VPNを使用します検証1にてシングル接続を設定して、検証2では冗長構成を設定して障害迂回ができるか検証しました。
## 検証その1
【AWS】
コンソールから仮想プライベートゲートウェイを作成してVPCにアタッチします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/