- 1. 【SAP-C01試験対策】Kinesisのまとめ
- 2. 【SAP-C01試験対策】AWS 6つのクラウド移行戦略 6R
- 3. AWSについて(概要)
- 4. 【GuardDuty】S3バケット上のIPリストにアクセスするための権限設定
- 5. Lambdaのデプロイ方法を調べた
- 6. AWS Certified Advanced Networking – Specialty に合格しました
- 7. Systems Manager パブリック・プライベート環境毎に整理
- 8. CloudTrail ログファイルの整合性を検証する
- 9. インフラのコード化ツール Pulumi のインストール for Windows
- 10. AWS MediaConvertでGOPに関するエラーが出た場合
- 11. nginx(Elastic Beanstalk)で413 Request Entity Too Largeが発生した場合の対処
- 12. Terraformを使ってみたかった人が取り敢えずS3 + CloudFrontで静的サイトを作ってみた(備忘録)
- 13. AWS ネットワークデザインパターンDeep Diveの整理
- 14. VMware Cloud on AWSお勉強まとめ (初心者向け)
- 15. 【PHP】xDebug.soの読み込みエラーが発生した時の対処法
- 16. AWS Site To Site VPN
- 17. 表情判定するLINE BOTをつくった(LINE x Amazon Rekognition)
- 18. Linuxの学習のための環境をAWSで作る
- 19. ElastiCache接続不可の場合の切り分け
- 20. Athenaを使ってCloudTrailログを検索する〜パーティション追加
【SAP-C01試験対策】Kinesisのまとめ
# はじめに
AWSのKinesisを勉強するために以下のドキュメントを参考にしたので内容をまとめます。https://aws.amazon.com/jp/kinesis/
https://d1.awsstatic.com/webinars/jp/pdf/services/20180110_AWS-BlackBelt-Kinesis.pdf
# 背景
本記事はAWSソリューションアーキテクトプロフェッショナルに合格するために、[Udemyの模擬試験](https://www.udemy.com/course/aws-53225)を解いて分からなかった部分を勉強してまとめるものです。試験対策用のため、分からない知識を補足したり試験で問われなさそうなところを省略したりしながらまとめています。
なるべくわかりやすい記載を心がけますが、最終目的は自己学習用であるということをご容赦ください。# Kinesisの機能
1. Kinesis Video Stream(今回は割愛)
1. Kinesis Data Stream
1. Kinesis Data Firehose
1
【SAP-C01試験対策】AWS 6つのクラウド移行戦略 6R
#はじめに
AWSの移行方式について以下の書籍を参考に学習したので内容をまとめます。#背景
本記事はAWSソリューションアーキテクトプロフェッショナルに合格するために、[Udemyの模擬試験](https://www.udemy.com/course/aws-53225/)を解いて分からなかった部分を勉強してまとめるものです。試験対策用のため、分からない知識を補足したり試験で問われなさそうなところを省略したりしながらまとめています。
なるべくわかりやすい記載を心がけますが、最終目的は自己学習用であるということをご容赦ください。#6R
##リホスト
– 「リフト・アンド・シフト」とも呼ばれる。
– アプリケーション自体の修正をしない単純移行
– 大規模な台数を比較的t何時間で移行する。## リプラットフォーム
– 「リフト・手直し・シフト」とも呼ばれる。
– コア機能の変更はしないが、アーキテクチャの一部(DBをRDSに変更など)をクラウドに最適化する。## 再購入
– 既存のアーキテ
AWSについて(概要)
# IAM
Identity and Access Managementの略。
AWSのアクセス制御を行う。
誰がどのサービスやリソースに、どのような条件でアクセスできるかを指定することができる。
(従業員やコードにアクセスできる許可を指定することができる)
特定の AWS のサービス経由のアクセスを許可するなど、アクセスを許可する特定の条件を定義することもできる。ワークフォース:全従業員、(総)労働力、労働(力)人口
(https://ejje.weblio.jp/content/workforce)
ワークロード:ワークロードは、リソースと、ビジネス価値をもたらすコード (顧客向けアプリケーションやバックエンドプロセスなど) の集まり
(https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/userguide/workloads.html)参考:https://aws.amazon.com/jp/iam/
# Route53
クラウドのドメインネームシステム (DNS) ウェブサービス。
ドメイン登録も行え
【GuardDuty】S3バケット上のIPリストにアクセスするための権限設定
# はじめに
Amazon GuardDutyにIPリストを設定する際、
S3バケット上のIPリストにアクセスするための権限ってどうすればいいのでしょうか?# まとめ
S3バケット上のIPリストにアクセスする際に使用する権限は、
GuardDutyのサービスロール(`AWSServiceRoleForAmazonGuardDuty`)です。ただし、このサービスロールに権限を追加するために、設定が必要です。
具体的には、IPリストを設定(`guardduty:CreateThreatIntelSet`)するユーザの権限に、`iam:PutRolePolicy`が必要です。
したがって、IPリストを新規設定するユーザの、最小権限は下記になります。“` json:policy-guardduty-ip-list-v2.json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
Lambdaのデプロイ方法を調べた
## Lambdaの基本
AWS Lambdaは、AWSの計算リソースの一つであり、あらかじめ設定したトリガーが発火した時のみ実行される関数を構築することができる。このような仕組みは、サーバレスアーキテクチャと呼ばれる。
**特徴**
– 必要な時だけ起動する。
– 実行した時のみ課金される。
![スクリーンショット 2021-11-21 2.09.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/324326/8603d792-606b-2d90-7606-b8601ed9487f.png)
コンソール上で関数の編集、テストが実行できる。
## デプロイ方式
Lambda関数をデプロイする方法には、以下の3通りがある。
1. コンソール上で直接コードを編集し、デプロイする。
– ⭕️ デプロイした状態でのテストが簡単にできる。
– ❌ 大規模なアプリは開発しづらい。
– ❌ gitなどでコードを管理することができない。
– ❌ 依存パッケージなどが
AWS Certified Advanced Networking – Specialty に合格しました
2021/11/20 に ANS に合格しました。ANS に合格のためにしてきたことを書き記しておきます。
![Desktop-screenshot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/780549/de018b4d-f968-e2fc-a57b-e3a3021b3e62.png)## 対策
ANS を合格された方の合格体験記を読んでいると、Direct Connect 周りの知識が問われるみたいなので、ここらへんを重点的に勉強しました。
**Black Belt**
ANS 試験には Direct Connect についての設問が必ず出題されるので、[Direct Connect の Black Belt](https://d1.awsstatic.com/webinars/jp/pdf/services/20210209-AWS-Blackbelt-DirectConnect.pdf)をまずは読みました。「パブリックVIF」、「プライベートVIF」、「仮想プライベートゲートウェ
Systems Manager パブリック・プライベート環境毎に整理
#整理#
– ここでは、Systems Managerで以下の2つが行えるようにすること。
– セッションマネージャを利用できること。
– パッチマネージャでOSパッチの自動適用が行えること。– EC2をパブリックサブネットに配置した場合、プライベートサブネットに配置した場合など複数の環境下での注意点について整理する。
Systems Managerにおいて参考としたら良いハンズオンは以下のページが良いと思いますが、IAMポリシーが古かったりする場合があるので、ただハンズオン通り進めるのではなく、考えながら進めていくのが良いでしょう。
https://ssm-basic-handson.workshop.aws/phase5/01.html
https://pages.awscloud.com/rs/112-TZM-766/images/20200417_AWSSystemsManagerHandson.pdf
#条件1#
– Linux2でEC2をパブリックサブネットに起動済。(SSM AgentはLinux2のため、デフォルトでインストールされている。)
–
CloudTrail ログファイルの整合性を検証する
# CloudTrail ログファイルの整合性の検証とは
– CloudTrail のログファイルの改竄有無を確認できる
– CloudTrail が作成するダイジェストファイル(ログファイルのハッシュを含むファイル)とログファイルを使って検証する詳細は[こちら](https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-intro.html)
# なぜログファイルの整合性を検証するのか
– セキュリティおよびフォレンシック調査で重要
– CloudTrail のログファイルが改竄有無を確認できる詳細は[こちら](https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-intro.html#cloudtrail-log-file-validation-intro-use-cases)
# この記事で試したこ
インフラのコード化ツール Pulumi のインストール for Windows
環境:Winodws 10 pro
python 3.9
VS-Code
私は、インフラのコード化ツールのTeraformを使い学んだばかりです。
インフラのコード化と言えばAWS のCloudFormationとかありますが、
これ以外でのインフラのコード化のできるツールを発見しました。**pulumi**
pythonでAWSのS3やEC2インスタンスが作れてしまう。
pythonの他に,Type,JavaScript,Go,C#などが使えます。私はPythonでインフラのコード化をしたいのでPythonを使用します。
Pythonは3.6以上です。関連記事を読むとLInuxやMacが多いのでWindowsベースでインストールから
AWSのS3パケット作成と確認まで行いました。#1. Pulumiのアカウント作成
[Pumi](https://www.pulumi.com/)
サインアップができたら、NEW PROJECを作成します。![pumi01.jpg](https://qiita-image-store.s3.ap-northeast-1.amaz
AWS MediaConvertでGOPに関するエラーが出た場合
AWS MediaConvertをつかってひとつの出力グループ内で複数の出力をしたときに下記の様なエラーが出た場合、全てのの出力の`GOPサイズ/フレームレート`が揃っていない事が原因です。
“`
In Apple HLS output group [1], the GOP cadence in output [1] does not align with the GOP cadence in output [0].
Frame rate (framerate), GOP size (gopSize), GOP mode control (gopSizeUnits), Closed GOP cadence (gopClosedCadence), and Min I-Interval (minIInterval) all impact an output’s GOP cadence.
Adjust these settings so that the GOP cadences align across all outputs in Apple HLS output group [
nginx(Elastic Beanstalk)で413 Request Entity Too Largeが発生した場合の対処
# 現象
開発中のアプリで、画像データをBese64エンコードしてJsonに含めてバックエンドにPOSTした場合に、413 Request Entity Too Largeが発生。他の参考サイトを元に、プロジェクトルートに「.ebextensions」フォルダを作成し、その中にnginxの設定変更ファイルを作成するもうまくいかず。。。
[Elastic Beanstalk にファイルアップロードができない (nginxで413エラー)](https://qiita.com/rh_taro/items/9d2976629e1de853d378)“`yml:.ebextensions/01-nginx-max-body.config
files:
“/etc/nginx/conf.d/client-max-body-size.conf”:
mode: “000755”
owner: root
group: root
content: “client_max_body_size 100M;”container_commands:
01-n
Terraformを使ってみたかった人が取り敢えずS3 + CloudFrontで静的サイトを作ってみた(備忘録)
#はじめに
こんにちは。普段業務でAWSのマネジメントコンソールを使用している者です。
そんな僕がプライベートでTerraformを使ってAWSの何かしらの環境を構築してみたかったので、ちょっとだけ試してみました。
それを備忘録がてら記事にしたいと思います。そのため本記事は以下のような対象者に向けた記事となりますので予めご了承ください。
* Terraformを大雑把に知りたい人
* Terraformに興味はあるが使ったことのない人#まずTerraformとは…?
IaC(インフラストラクチャ定義ツール) と呼ばれるツールの一つです。
インフラの構成をソースコードとして管理できる為、例えば以下のようなメリットが享受できます。* 何度でも同じ構成を再現できる
* ヒューマンエラーを減らせる
* バージョン管理できるなどなど…
このIacの中で最も認知度が高いのがTerraformです。
#今回作る環境
CloudFrontを経由しS3にホスティングした静的サイトにアクセスできる環境を構築します。
CloudFrontをかます理由としては高速化も勿論
AWS ネットワークデザインパターンDeep Diveの整理
# 背景・目的
– AWS Summit Tokyo 2019の「ネットワークデザインパターン Deep Diveの内容を整理する。# 内容
## Overview
– 歴史を追いながら説明されている。背景などを把握しやすい。## 歴史
– 2013/12 VPCリリース
– セキュアな空間が利用可能になった
– 2014/3 VPC Peeringリリース
– VPC間で通信可能
– 同一アカウント、別アカウントのVPC間で通信可能になった。
– 1ホップまで通信可能。(2ホップはNG)
– VPCの数が多くなると複雑になる
– 2017/11 Inter-Region Peeringリリース
– 海外のリージョンに接続が可能になる。(リージョン間通信)
– 2017/11 Direct Connect Gatewayをリリース
– Private VIFとVGWが1:1だったものが、DxGWをはさむことで1:Nになり、オンプレ-AWS間のPrivate VIFが1本に集約することが可能になる。
– 同一
VMware Cloud on AWSお勉強まとめ (初心者向け)
#1. はじめに
VMware Cloud on AWSについて勉強するにあたり、参考にさせていただいたリンクをまとめます。巷ではVMC on AWSと略して呼称されたりするのですが(公式サイトURLもよーく見ると..)、本記事では正式名称VMware Cloud on AWSのままで記載します。#2. VMware Cloud on AWSって?
オンプレとクラウドのそれぞれに強みを持つ両社が共同開発したクラウドサービスです。Amazon EC2ベアメタルインスタンス上にVMware仮想環境が構築されています。詳しくは両社の公式サイトもどうぞ。#####[VMware Cloud on AWS (VMware公式サイト)](https://www.vmware.com/jp/products/vmc-on-aws.html)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/ffd52e2c-0826-6663-d228-c1e836909d17.png)###
【PHP】xDebug.soの読み込みエラーが発生した時の対処法
AWSのCloud9でPHPファイルを実行したときにxDebug.soの読み込みエラーが発生した時の対処法。
PHPのバージョンとxdebugが揃っていない場合などに生じるエラー。
## エラー文
“`
Failed loading /xxxxx/xxxxx/xxxxx/xdebug.so:
/xxxxx/xxxxx/xxxxx/xdebug.so: undefined symbol: gc_globals
“`
xxxxxの部分は`xDebug.so`があるパスです。## 解決方法
`xdebug`を削除してインストールし直せばエラーが解決されます。
“`
sudo pecl uninstall xdebug
sudo pecl install xdebug
“`## 参考
https://error-search.com/error-post/detail/168/Failed%2Bloading%2B%252Fusr%252Flib64%252Fphp%252Fmodules%252Fxdebug.so%253A%2B%2B%252Fusr%252
AWS Site To Site VPN
# 背景・概要
VPNは、ハンズオンの機会が少ないため、Black Beltから知識をインプットする。# 内容
## オンプレからAWSに接続する種類
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/3508d1db-02e4-1c8a-319c-a17714fb6e1e.png)以下の3種類がある。
– Client VPN
– Site-to-Site VPN
– VGW(Virtual Private Gateway)に接続する。
– VGWは、冗長化済み
– オンプレから特定のVPCイン接続する。
– ユーザ側はCGW(Customer Private Gate)に接続する。
– Direct Connect
– TGW(Transit Gateway)に接続する。
– TGWは、冗長化
– 複数のVPCに接続できる。## Site-to-Site VPNとは?
– CGWと
表情判定するLINE BOTをつくった(LINE x Amazon Rekognition)
前回の記事で、LINEで画像を飛ばしてS3に保存する機能を実装しました。
[LINEで送った画像をS3に保存する(LINE Messaging API x AWS)
](https://qiita.com/ted-17/items/0e3e4956a19ad183e739)
# やること
・LINEで画像を飛ばしてAmazon Rekognitionに食わせる
・判定結果をLINEに返す
をしてみようと思います。# 構成図
![line_to_rekognition.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1989761/d9549338-cc7f-6c39-e130-99a1219a3329.png)
[前回](https://qiita.com/ted-17/items/0e3e4956a19ad183e739)からAmazon Rekognitionが増えただけ。
今回はLINEで送ってLINEに返すという気持ちを込めて双方向⇄にしています。
前回同様AWS Lambdaに
Linuxの学習のための環境をAWSで作る
##はじめに
Linuxのコマンドってよくわからない。
とりあえずググってコピペしてなんとか凌いでる。
そんな状態を脱するために本を買ってきてLinuxの学習を始めました。本を読むだけでは身にならないと思い、AWSで実際にLinuxを扱いながら学習できるようにしました。
##さっそく作る
AWSのユーザー登録については飛ばします。まずは「サービス」から「EC2」を探してクリックします。
右上にある「インスタンスを起動」というオレンジ色のボタンを押して、「Amazon Linux 2 」を選択します。
ちなみにスクロールしていけば他にも無料枠対象のLinuxサーバがあるので、お好みで選んでください。
次の場面でスペックを選ぶことができるので、無料枠の対象のものを選びましょう。
「確認と作成」を押して、修正が必要なければ「作成」を押しましょう。次はSSH接続で使うキーペアを作成します。
任意の名前をつけてダウンロードし、「インスタンスの作成」を押します。
EC2ダッシュボードに戻ってしばらく待つと、インスタンスの作成が完了します。##接続する
作成されたインスタンスを選択
ElastiCache接続不可の場合の切り分け
アプリから接続エラーのExceptionが出てしまった時の切り分け方法について。
##1.イベントログを確認する
AWSマネージメントコンソールでElasticacheのページから「イベント」を確認。
例えばフェイルオーバー発生の場合下記のように表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469267/830b8630-0bba-c47a-aa61-3c9814e498ac.png)##2.Personal Health Dashboardを確認
ここから
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469267/ecbcbb28-2a02-82e1-8e72-295da99d5dfd.png)
**Personal Health Dashboardで表示されるのは下記のみ**
・サービス系で一定時間継続している障害で復旧目処が経っていないもの
・計画メンテ(短期
Athenaを使ってCloudTrailログを検索する〜パーティション追加
#1、Athenaテーブルを作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236892/191af266-c872-b44d-4b0b-fcfde2749f72.png)
ここで場所を指定して直接作成するか、SQLをコピーしてAthenaで作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/236892/c06e44c6-b311-7a09-cebd-41ec3cbc95e2.png)今回はパーティションを追加するため、SQLをコピーして、パーティションを追加してAthenaで作成する
“`SQL:create_table.sql
CREATE EXTERNAL TABLE cloudtrail_logs_aws_service_log (
eventVersion STRING,
userIdentity STRUCT< type