- 1. Redisのメモリが100%を超えたときの挙動の調査・検証
- 2. AWS 認定 ソリューションアーキテクト – プロフェッショナル(AWS Certified Solutions Architect – Professional) の合格メモ
- 3. 複数のEC2を指定された時間に自動的に停止及び起動
- 4. AWS ソリューションアーキテクトアソシエイツ (SAA) 一発合格のためにやったこと
- 5. 【AWS】CloudWatchのログが出力できない時の対処
- 6. 【AWS】AMIコピーからのEC2作成時に設定したpemキーでログインできない問題
- 7. WordPressをFargateで運用時、エラー対応 [AH01630: client denied by server configuration: /var/www/html/server-status]
- 8. 【AWS】t2→t3のインスタンスタイプ変更方法
- 9. 今からでも間に合う!AWS Summit Onlineのオンデマンド視聴お勧めコンテンツと、自己流時短ウォッチ
- 10. 【SwiftUI】Amazon Cognitoでソーシャルログインする
- 11. 【AWS】KMSキーポリシー変更(KMSで暗号化したEBSを別AWSアカウントで利用)
- 12. 【AWS】IAM認証を使用したREST APIの呼び出し
- 13. AWS Certified Solutions Architect Associate に学生で合格しました!
- 14. AWSのCloudShellからGCPのWorkload Identity連携しようとしたけどダメだった話
- 15. 受験談 AWS Certified Data Analytics – Specialty認定
- 16. Software Design (ソフトウェアデザイン) 2022年06月号の「後悔しないAWSデータベースの選び方 RDSとDynamoDB,使い分けのポイントを徹底解説」について(前回記事の補足)
- 17. 【AWS】ネットワークACLとセキュリティグループの違いについて
- 18. AWS日記42 (AWS Certificate Manager)
- 19. AWSアソシエイト 未経験者が勉強中に間違えたものpart1
- 20. AWS Certified Security – Specialty(SCS-C01)に合格するまで
Redisのメモリが100%を超えたときの挙動の調査・検証
## はじめに
社内のプロジェクトでAWSのElasticCache for Redisを利用する機会がありました。
その際、Redisメモリ利用量が100%に達する可能性があったので、そのあたりの挙動について調査・検証してみてみました。## 調査
### メモリが100%を超えようとする時どうなるのか
Redisはメモリが100%になったとしてもいきなり落ちることはありません。
Redisのメモリが100%になるかmaxmemory設定を超えた時、**Eviction** という事象が発生します。
**Eviction** とは直訳すると「立ち退き、明け渡し」的な意味で、既存のキーを削除しメモリを確保する挙動です。### Evictionの設定
Eviction発生によるキーの削除ルールはRedisの`maxmemory-policy`という設定で変更することができます。
(ElasticCacheのRedisだとパラメータグループの設定で確認・編集できます)`maxmemory-policy` の種類には以下のようなものがあります。キーに有効期限(TTL)があ
AWS 認定 ソリューションアーキテクト – プロフェッショナル(AWS Certified Solutions Architect – Professional) の合格メモ
**AWS 認定 ソリューションアーキテクト – プロフェッショナル(AWS Certified Solutions Architect – Professional)**
通称SAPを受験したのでその備忘録として残します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438389/cfc2c2a2-e672-6a6a-b38d-021c8ad90189.png)[公式ページ](https://aws.amazon.com/jp/certification/certified-solutions-architect-professional/?ch=sec&sec=rmg&d=1)
ちなみに試験を受け終えた後に知ったのですが、
**AWS Certified Solutions Architect – Professional 認定試験は、2022 年 11 月 15 日に変更となります。現行の試験の最終受験日は 2022 年 11 月 14 日です。**
だそうです。[試験
複数のEC2を指定された時間に自動的に停止及び起動
# 要件
複数のEC2を指定された時間に自動的に停止及び起動をさせる。実行が失敗した際に、SNSでメールを送信する必要があるとする。# STEP1:IAMロールの作成
■ IAMのロール作成の画面を開く
■ ユースケース⇒「他のAWSのサービスのユースケース」に「Systems Manager」を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/457891/a7f251a9-63be-fd1a-b609-bf68681e0fff.png)■ 許可ポリシーを追加:
AWSの管理ポリシー:AmazonSSMAutomationRoleをアタッチする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/457891/dff837b7-11bf-b6d6-4f2c-f84a6a90511b.png)■ ロール名と説明部分を入力する
![image.png](https://qiita
AWS ソリューションアーキテクトアソシエイツ (SAA) 一発合格のためにやったこと
## はじめに
SAAに合格したので、勉強のこつや学んだ知識を残しておきます。あとに続く方の参考に少しでもなればよいなーっていうモチベーションです。
## 学習量
2ヶ月前くらいから本買って読み始めましたが、正味2週間弱といった感じです。人間、直前にならないとやらないということで…
## 前提
一応、私のAWS歴ですが、仕事でほんのちょぴっと触る(といってもガチエンジニアではないのでほんとちょぴっと)くらい。ただし、趣味で個人開発をしており、Amplifyまわりはそれなりに詳しくなりました。
## 合格までのロードマップ
– [徹底攻略 AWS認定 ソリューションアーキテクト](https://www.amazon.co.jp/%E6%A8%A1%E6%93%AC%E5%95%8F%E9%A1%8C%E4%BB%98%E3%81%8D-AWS%E8%AA%8D%E5%AE%9A-%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E
【AWS】CloudWatchのログが出力できない時の対処
よくある**CloudWatch**が出力されない問題の対処です。
尚、以下はAMIコピーで作成したインスタンスでログが出力されなかった時の内容です。
(つまり旧インスタンスでいろいろやれている状態:imp:)## 前提
今回のケースではロググループが異なったため、
**awslogs.conf**を書き換えました。“`
vi /var/awslogs/etc/awslogs.conf
“`
ここで下記の箇所を書き換えます
“`
log_group_name =
“`
書き換えたらサービス再起動
“`
systemctl start awslogsd
“`## 1、ログの確認
エラー時の基本です。
とりあえず下記ログファイル確認しましょう。
**tail**とかでよいと思います。“`
tail -f /var/awslogs/etc/awslogs.log
“`## 2、ロールの確認
EC2のロールに付与されていない可能性があるので、これを確認します。基本的には**EC2→IAMロール**に、**CloudWatchLogsFullAcces
【AWS】AMIコピーからのEC2作成時に設定したpemキーでログインできない問題
AMIコピーで、インスタンスを作成したとき、
新規に作成したpemキーでログインできない場合があります。
その対処法を記載します。## 1、新pemキーからpubキーを作成する
“`
$ ssh-keygen -y -f ~/.ssh/新pem名.pem > 新pem名.pub
“`
ここでpubキーの中のデータをコピーしておきます## 2、authorized_keysの書き換え
**①旧pemキーでインスタンスにログインします。****②authorized_keysを編集します。**
“`
vi ~./.ssh/authorized_keys
“`中身を1でコピーした内容に差し替えます。
差し替えなのでauthorized_keysは、
cpとかでバックアップしといた方がいいかもしれません。以上です。このあたりの処理もAWS側がやってくれるといいのですが、
なんらかの理由があってauthorized_keysを書き換えられないのでしょう。ちょっとだけ鍵の仕組みを知る機会になったのでよしとします:smirk:
WordPressをFargateで運用時、エラー対応 [AH01630: client denied by server configuration: /var/www/html/server-status]
# はじめに
WordPressをFargateで運用時、apacheのエラーログに以下の出力を発見しました。
“`
[Thu May 1 xx:xx:xx.xxxxx 2022] [authz_core:error] [pid 694]
[client xxx.xxx.xxx.xxx:43092] AH01630: client denied by server configuration: /var/www/html/server-status
“`
client IPから、海外のbotが`https://ドメイン/server-status`にアクセスしていることが分かりました。
この対応について説明します。# 事前構築
– 以下を記事通り、wordpressをfargateで構築済み
– 基本的に下記のDockerfileをビルド後、ECRにpushし、デプロイしただけです。https://qiita.com/hirai-11/items/bde67b8334f3362c8009
“`Dockerfile:Dockerfile
FROM wordpr
【AWS】t2→t3のインスタンスタイプ変更方法
t3が出てきたのが2018とかだったので、この手の変更はよくあるのではあるのかと思います。
サイズの変更とかだとサクッといきますが、世代だとそうはいきませんでした。ENAの拡張ネットワーキング機能を有効化させてあげる必要があるため、以下変更手順です。
## 1、ENAモジュールのインストール確認
**ENAモジュールが有効であることを確認します。**
“`
$ modinfo ena
“`
一覧ぽいものが返ってくればOKです。※もし返ってこなかった場合、導入が必要です
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking-ena.html#test-enhanced-networking-ena## 2、ENAモジュールがインターフェースで使用されていることの確認
**ENAモジュールがインターフェースで使用されていることを確認します。**
“`
$ ethtool -i eth0
“`**driver: ena** になっていればOKですが、おそらく**dr
今からでも間に合う!AWS Summit Onlineのオンデマンド視聴お勧めコンテンツと、自己流時短ウォッチ
今年もAWS Summitが開催されました。ほとんどのコンテンツはオンデマンドで視聴できます。
近年はオンラインが主体になっています。
以前までの現地開催の場合、私自身は登壇やブース対応をお手伝いさせていただく機会も多かったため、スケジュールをがっつりと押さえていました。現地で空き時間に視聴することができました。
一方、オンラインではなかなか時間を確保することが難しく、予定していた視聴カレンダーが上書きされていくことも多いです。
さらに、150を超えるセッションの全てを閲覧することは非常に難しいです。そこで、私自身がAWS Summit Onlineのような大規模なオンラインイベントを効率的に観るための自己流ノウハウと、個人的オススメのコンテンツを共有させていただきます。
# 自己流時短ウォッチ
## 時短視聴のTips
### 再生速度を変更する
多くの聴衆が聴きやすいように、少しゆっくり目に話されることが多いです。
ある程度理解していることを聴く場合は再生速度を上げても理解がついていくかどうかを試してみましょう。
自分自身は、基本2倍、内容によっては1.5倍で聴いています。
【SwiftUI】Amazon Cognitoでソーシャルログインする
## 前提
– ソーシャルログインに用いるサービス側の設定(クライアントID、シークレットキー等の取得)が完了している## 環境
– Xcode 13.4## 1. プロジェクトの作成
XcodeからiOS Appのプロジェクトを作成します
![プロジェクト作成](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/568230/6a2b8ce5-d7ae-7dbf-48d3-882affd03369.png)
![プロジェクト情報](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/568230/dbdb4fa2-2cfa-b8d0-df62-edffdddbaaea.png)## 2. Amplifyのインストール
“`
npm install -g @aws-amplify/cli
“`## 3. 初期設定
プロジェクトのルートフォルダで下記コマンドを実行
“`
amplify init
“`
いろいろ聞かれるので順番に
【AWS】KMSキーポリシー変更(KMSで暗号化したEBSを別AWSアカウントで利用)
コピー元のEBSでKMSを使用している場合、
コピー先のアカウントの許可設定をコピー元で設定してあげる必要があります。①コピー元のインスタンスからEBSを選択→ボリュームIDをコピー
②KMS→カスタマー管理型のキー→①のIDで検索
③キーポリシー→編集
**④以下の2項目にアカウントID:IAMユーザーを追加**![スクリーンショット 2022-05-29 15.34.30.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/984662/1071770c-4d03-7c40-3fe4-b40f31894d75.jpeg)
“`
“Sid”: “Allow use of the key”
“Sid”: “Allow attachment of persistent resources”
“`
※キャプチャ上は上の項目はありません“`
“arn:aws:iam::アカウントID:user/IMAユーザ名”,
“`ちなみにここ、ロールも可ですが、
IAMグループは登録できないみたい
【AWS】IAM認証を使用したREST APIの呼び出し
# はじめに
APIGatewayにはIAM認証機能といったものがあるのですがご存じでしょうか。
この機能を使用するとIAM認証情報(アクセスキー・シークレットアクセスキー)を指定しなければAPIを呼び出せないように制限をかけることができます。ということでIAM認証を使用したAPIの呼び出しを検証したので、設定方法を記事にまとめてました。
# 目次
* [アクセスキー・シークレットアクセスキーとは](#アクセスキーシークレットアクセスキーとは)
* [IAMユーザの作成](#iamユーザの作成)
* [アクセスキーとシークレットキーをダウンロードする](#アクセスキーとシークレットキーをダウンロードする)
* [WEBサーバの作成](#webサーバの作成)
* [内部NLBの作成](#内部nlbの作成)
* [VPCリンクの作成](#vpcリンクの作成)
* [APIの作成](#apiの作成)
* [IAM認証を有効化する](#iam認証を有効化する)
* [APIのテスト](#apiのテスト)
* [APIをデプロイ](#apiをデプロイ)
* [APIを呼び出してみる](#a
AWS Certified Solutions Architect Associate に学生で合格しました!
# はじめに
入社前に AWS Certified Solutions Architect Associate が必要だったので、受験し合格しました。
そのときに使用した教材、勉強方法、勉強時間等を記録していきます。
学生や新卒の方で、まだ技術のことがわからない方に参考になれば幸いです。
※内容は今後もアップデートしていく予定です。# AWS 認定試験の履歴
– 2022年3月 AWS Certified Solutions Architect Associate 合格(1発合格)
– 2022年6月 AWS Certified Developer Associate 受験予定2022年9月までに Associate 試験3冠を目指します。
# 受験当時の能力
## 一応の学歴
工業高校卒業(情報系)→ 理系地方国立大学卒業(情報系)
プログラミング歴:8年
得意な言語:Python## 受験時のAWSの知識
受験当時は、AWSを触ったことがありません。またAWSが何をしているのかもわかりません。
AWS = Amazon Prime みたいなものだと思っていました。
ク
AWSのCloudShellからGCPのWorkload Identity連携しようとしたけどダメだった話
# はじめに
GCPのサービスを外部から使う際、サービスアカウントキーを使って動かしていました。
しかし先日のGCPのイベントでWorkload Identityという機能を使えば、AWSとセキュアに連携が取れると知りました。https://cloudonair.withgoogle.com/events/google-cloud-day-digital-22?talk=d1-sec-07
AWSのClooudShellから出来ないか試してみましたが、うまくいかなかったので、その旨記載しておこうと思います。
# 結論
– AWSのCloudShellからは、GCPのWorkload Identity連携はうまくいかない
– Cloud9からはできました。
– インスタンスにIAMロールを紐づける必要あり# 参考
知ったのはGCPイベントのアカツキさんのセッションでしたが、ブログのほうに詳しくありました。https://hackerslab.aktsk.jp/2021/12/09/000429
Cloud9で動かす際の参考は以下
https:
受験談 AWS Certified Data Analytics – Specialty認定
AWS Certified Data Analytics – Specialtyを受験しました。
受験される方の参考になりましたら。
# 前提
2021年
8月:SAA [(受験談)](https://qiita.com/h2m_kinoko/items/5179bcb73b6773771f79 “受験談 AWS Certified Solutions Architect – Associate 認定”)
9月:SAP
11月:SOA [(受験談)](https://qiita.com/h2m_kinoko/items/0b05378d96f4246bbdd0 “受験談 AWS Certified SysOps Administrator – Associate 認定”)
12月:SCS [(受験談)](https://qiita.com/h2m_kinoko/items/20f06a746ab15540cd37 “受験談 AWS Certified Security – Specialty 認定”)
2022年
1月:DVA[(受験談)](https://qiita.com/h2
Software Design (ソフトウェアデザイン) 2022年06月号の「後悔しないAWSデータベースの選び方 RDSとDynamoDB,使い分けのポイントを徹底解説」について(前回記事の補足)
# はじめに
[前回の記事](https://qiita.com/zyake/items/c4491b4e71313213b916)の「ACID特性、CAP定理、BASEについて」のセクションについての補足事項です。
素人が思いついたことを適当に書きなぐっていることから、多くの技術的に不正確であったり、誤解を招く記述が含まれている可能性があることにご注意ください。# BASEの出典について
探した限りではBASEの出典とされる資料は以下のもののようです。
BASEについて以下のトレードオフが存在することが記述されています。
※検索エンジンやWebキャッシュを構築した知見だと思われますが、断片的な情報しか記載されていないスライドなので詳細はわからず…
Towards robust distributed systems
https://www.researchgate.net/publication/221343719_Towards_robust_distributed_systems>But we forfeit “C” and “I” for availabilit
【AWS】ネットワークACLとセキュリティグループの違いについて
## 目的
ネットワークACLとセキュリティグループについて、どのような共通点があり、どのような点が異なるかを整理する。## 想定読者
ネットワークACLとセキュリティグループの共通点、違いを整理したい方。## 共通点
– ネットワークACLとセキュリティグループ、どちらもファイアーウォールとなる。
具体的には、通信経路のポート番号を「許可」することが可能。– 予めデフォルト用に用意されているフォーマットでは、全ての通信が許可されている。
## 異なる点
### ネットワークACL
– サブネット単位でポート番号を制御することが可能。
– 新規作成する際、デフォルト設定は、全ての通信が許可されている。
– ステートレスのため、戻りの通信で使用するポート番号を考慮する必要がある。
– 通信経路のポート番号を「拒否」することが可能。
– 最も低い番号のルールから順にルールを処理される。### セキュリティグループ
– EC2インスタンス単位で制御することが可能。
– 新規作成する際、デフォルト設定は、全ての通信が許可されていない。
– ステートフルのため、戻りの通信で使用
AWS日記42 (AWS Certificate Manager)
# はじめに
今回は [AWS Certificate Manager](https://aws.amazon.com/jp/certificate-manager/) を利用し SSL/TLS 対応のサブドメインを作成します。
ブラウザから作成したサブドメインにアクセスし、証明書を確認します。# 準備
– Route53を利用してドメインを登録します
– 参考:[AWS日記② (AWS Lambda)](https://qiita.com/tanaka_takurou/items/3f93295de6cff060ec09)
– 今回は「labo.systems」が登録済みなので、このサブドメインを作成します# サブドメイン作成
![01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/586707/8f852f8e-e942-3af3-f764-335486ae7e43.jpeg)– 「証明書をリクエスト」をクリックします
![02.jpg](https://qiita-image
AWSアソシエイト 未経験者が勉強中に間違えたものpart1
前置き
未経験エンジニアとしてAWSソリューションアーキテクトの資格取得を目指し勉強しているのですが、詰まったところをまとめウェブにある情報を用いて解説してみましたAmazon RDSにおいてセキュリティグループを使用する目的
特定のIPアドレスまたはEC2インスタンスからのアクセス制御
セキュリティグループ
・インスタンス単位で設定するファイアウォール機能オブジェクトの可用性の評価が最も低いS3ストレージ
S3 One-Zone-IA
オブジェクトの耐久性の評価が最も低いS3ストレージ
S3 RRS
Amazon EBSの価格に影響を与える要素
・データ容量(ボリューム)
・スナップショット
・アウトバウンドのデータ転送量Amazon EBSの価格を決定する要素は以下の3つ
・データ容量(ボリューム)
すべてのEBSボリュームタイプのボリュームストレージは、ストレージを解放するまでに、月毎にプロビジョニングするGBの量によって課金される・アウトバウンドのデータ転送量
アプリケーションから転送
AWS Certified Security – Specialty(SCS-C01)に合格するまで
今回はSCSを取得しました。
以下取得するまでの流れです。## 事前の知識
・インフラエンジニア歴7年くらい
・AWS経験は1年くらい
・CLP、SAA、SOA、DVA取得済## 勉強内容
**・総勉強時間:30hくらい(1ヶ月弱)**
過去試験と同じく平日は2hくらい、土曜は5hくらい。直前はさらにがっつりやりました。
GWもがっつりやれましたが、GW後はちょっとダレて少しペースが落ちました。
長期休暇後のメンタルってけっこう難しいですね。試験は勉強開始時点で合格者の情報拾って1ヶ月後で予約しました。
合格者の情報は問題集と同じくkoiwaclubで拾ってます。**・勉強内容①:問題集**
今回からは新たに要点整理シリーズです。
ボリュームは多くも少なくともなく、
掴みとしては過去