- 1. SecurityHub検出結果CSV出力用コマンド
- 2. Steampipe で実現する select * from cloud; の世界
- 3. AWS IoT MQTT接続のprefix設定
- 4. ポート解放の仕方。(Cloud9 でdjango使用。)
- 5. AWS CodeシリーズをAWS Step Functionsで実行し継続的デプロイする
- 6. AWS認定 ANS(ネットワーク試験)がkoiwaclubすぎた
- 7. AWSアソシエイト 未経験者が勉強中に間違えたものpart3
- 8. Amazon Auroraとは
- 9. AppSync+GraphQLを5分だけ触ってみた
- 10. 【合格記】AWS認定 高度なネットワーキング-専門知識(AWS Certified Advanced Networking – Specialty)に駆け出しエンジニアが合格したよ
- 11. AWS CLI バージョン1とバージョン2を併存させる
- 12. AWS LambdaでSeleniumを動かすときの注意点
- 13. AWS CodeBuildをデバックするならssm接続でやろう (セッションマネージャを利用しビルドコンテナへのログインする方法)
- 14. 【受験記録】AWS Certified Advanced Networking – Specialty(ANS-C00)
- 15. 【画像付き解説】AWSでWEBサイトを公開しよう!
- 16. AWS re:Post のアカウント作成に AWS SSO の認証情報は使用しない方がいいという話
- 17. OpenSearch ( ElasticSearch ) の利用料を最適化する 〜円安ドル高にちょっと抵抗してみる〜
- 18. CloudFormationでS3実装に挑戦①
- 19. プライベートサブネットからNATゲートウェイを経由して、インターネットに接続する
- 20. CloudWatch新機能増えすぎ問題。Synthetics? RUM? Evidently??
- 21. AWSマネジメントコンソールにサインインできないときにやること
SecurityHub検出結果CSV出力用コマンド
* 初回検出日が30日以内、かつ重要度がCRITICALまたはHIGHでACTIVEなのSecurityHub検出結果を検索し、CSV出力するワンライナー
“`shell
DATE=$(date –date=”-30 days” +%Y-%m-%d);aws securityhub get-findings –filters ‘{“SeverityLabel”:[{“Value”: “CRITICAL”,”Comparison”:”EQUALS”},{“Value”:”HIGH”,”Comparison”:”EQUALS”}],”RecordState”: [{“Value”: “ACTIVE”,”Comparison”:”EQUALS”}]}’ –query “Findings[?FirstObservedAt>=\`$DATE\`]” | jq -r ‘.[] | [.ProductName, .Region, .GeneratorId, .AwsAccountId, .Compliance.Status, .Severity.Label, .Resources[0].R
Steampipe で実現する select * from cloud; の世界
## Steampipe とは
標準 SQL を使用して、対応するクラウドサービス (AWS, Azure Google Cloud, and more!) にクエリを実行できるオープンソース の CLI ツールです。マルチクラウドのガバナンスプラットフォームを提供する Turbot (Turbot HQ, Inc.) が中心となって開発しています。https://steampipe.io/
類似するサービスに [IaSQL](https://iasql.com/) などがあります。IaSQL は SQL でインフラ構成を管理する、つまりリソースの作成や維持も目的としています。
対して Steampipe は API やサービスからデータを調査、評価し、洞察を得るという参照に特化しています。また単に CLI ツールであるため、ローカルや AWS CloudShell などの環境にインストールし、認証情報を与えるだけで利用できます。ユーザー自身で別途データベースを用意する必要もありません。
実際にはローカルに Steampipe が管理する PostgreSQL が作成されます
AWS IoT MQTT接続のprefix設定
# はじめに
同一AWS アカウントでIoT MQTTコネクションの管理を分けたいことがあるのですが、あまり情報が無かったので記事にします。
IoT Ruleでサービス毎にコネクションのサブスクライブすることをゴールとします。# MQTTコネクション
AWSからAndroid SDKが出ているのでそちらを使用しています。
Androidで接続する場合、MQTT接続する際に[AWSIotMqttManager](https://aws-amplify.github.io/aws-sdk-android/docs/reference/com/amazonaws/mobileconnectors/iot/AWSIotMqttManager.html)を定義します。“`kotlin
public AWSIotMqttManager(String mqttClientId, Region region, String accountEndpointPrefix)
“`regionとaccountEndpointPrefixは固定なので、こちらで好きな値を入れることはできません。
ポート解放の仕方。(Cloud9 でdjango使用。)
現在の状況。。。
![スクリーンショット 2022-06-29 9.21.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1314502/70e2cffd-0f5f-4207-0758-bb42f8226388.png)
djangoをインストールして、アプリサーバーを起動し、動作確認をしようとしていたところ。こうしても、まだ動作を確認できないらしい。
#### ポートを解放しよう!
セキュリテイグループを設定してポートを解放!
> 1.とりあえず、実行中のインスタンスの一覧までいく。名前がcloud9から始まるインスタンスを選択して、開始していない場合は開始する。
> 2.(例)「http://」文字列「:8000」
詳細を見ると、「パブリック IPv4 DNS」に表示されている、文字列。
この文字列の前後に「http://」「:8000」をつけてください。
(例)「http://」文字列「:8000」> 3セキュリテイグループの設定
詳細に書かれているセキュリテイのタブを
AWS CodeシリーズをAWS Step Functionsで実行し継続的デプロイする
# 概要
* AWSでCI/CDを構築しようとなった時に様々な選択肢があると思います。
* AWSに限らずで言えば最近だとGitHub Actionsやcircleciなんかがよく技術選定する際に出てきますかね。
* 今回は**AWSでCI/CDを構築する時のパターンとして、Codeシリーズを使用した内容となるのですが、CodePipelineを使って作るパイプラインとCodeシリーズの1つCodeBuildをAWS Step Functionsを使用し逐次実行するパイプラインを比較するという内容**です。
* なぜ、CodePipelineを使用せずAWS Step Functionsなのか。何が嬉しいのかついて説明できれば幸いです。## AWS Codeシリーズ
* ではさっそく内容に入っていくのですが、まずはCodeシリーズとは。について説明していきます。
* Codeシリーズというのは、AWSの下記のサービスをまとめた総称のことを指します。
* [AWS CodeCommit](https://aws.amazon.com/jp/codecommit/)
*
AWS認定 ANS(ネットワーク試験)がkoiwaclubすぎた
今回はちょっとテイストをかえてかいてみます。
というのもの今回は**AWS Certified Advanced Networking – Specialty(ANS-C00)**
を受験してきたのですが、体感5割以上koiwaclubとほぼ同様の問題が出題されたので、
これはいかがなものかと思い、このタイトルにした次第です。つまり何がいいたいのかというと、
**理解を必要としない、単純な暗記でとれてしまう**可能性が大いにあるのだということです。
目的が合格だけ!というのならそれでいいのですが、このハイパーkoiwaclub状態だと、
自分が本当に内容を理解できているのかを試験を通して測ることができません。個人的に過去のAWS試験上、一番理解が怪しかったので、
受かるか微妙なラインだと思ってました。しかし、思いのほか簡単にとれてしまい、
こうなると試験後の達成感もあまりなく、ちょっと虚しい試験になりました。一応フォローしておくと、AWSに限らず資格試験がこうなるのは仕方ないのかなとも思います。
というのも試験開始から時間がたてばたくさんのナレッジ(悪い方向のものも含む)
AWSアソシエイト 未経験者が勉強中に間違えたものpart3
Amazon Auroraとは
Amazon Auroraは、Amazonが設計・開発したMySQL/PostgreSQL互換のデータベースエンジン
フルマネージド型サービスであるAmazon RDS(Relational Database Service)で利用可能なデータベースエンジンなので、データベースのスケーリング(拡張、縮小)、高可用性、バックアップ、OS/データベースソフトウェアへのパッチ、サーバーの電源やメンテナンスなどはRDS(AWS)によって管理される。特徴
・データベースインスタンスとストレージが分離したアーキテクチャ
データベースインスタンスだけを必要に応じて増減できる。手動でのデータベース管理が不要なサーバーレス構成や、最大15台のレプリカ(複製)インスタンスなど柔軟な構成が可能
・複数のデータコピーと自動修復機能などによるストレージの高い耐障害性
ストレージは、デフォルトで3つのAZに2つずつ(計6つ)のデータコピーが作成される。これらのストレージは「クラスターボリューム」というクラスタ構成で管理される。
Auroraのクラスタボリューム
AppSync+GraphQLを5分だけ触ってみた
## 目次
– [はじめに](#はじめに)
– [AppSync+GraphQLを触ってみる](#appsyncgraphqlを触ってみる)
– [APIの作成](#apiの作成)
– [mutation(CreateEvent)の実行](#mutationcreateeventの実行)
– [queryの実行](#queryの実行)
– [まとめ](#まとめ)
– [参考](#参考)## はじめに
業務でGraphQLを今後使うチャンスがありそうなので、AWSのAppSyncを触ってみました。
## AppSync+GraphQLを触ってみる
### APIの作成AppSyncを開く、**APIを作成**を選択します。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/882682/f8855d07-4013-f255-5bd0-d4cf6116b744.png)**サンプルプロジェクトから開始する**の中の**イベントアプリ**を選択して、**開始**をクリックしま
【合格記】AWS認定 高度なネットワーキング-専門知識(AWS Certified Advanced Networking – Specialty)に駆け出しエンジニアが合格したよ
## 要約
AWS Certified Advanced Networking – Specialty(ANS-C00)に駆け出しエンジニアが合格しました。何を学ぶのが良いか?を試験規約に触れない程度にご紹介いたします。
また、新試験ANS-C01対策に使える情報やサイトも紹介いたします。LGTMの数x5回腹筋or腕立てするので、この記事がいいと思ったらLGTMお願いいたします。
## NMRtについて
・AWS Azure共に実務経験0ヶ月
・AWS学習歴2ヶ月
・非インフラエンジニアスコアはこちらです。
1問でも落としたら落ちていました。![スクリーンショット 2022-06-28 19.02.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2636207/5a6745b9-bd91-12b2-3c5f-fb1f4f36286a.png)
## 高度なネットワーキングの難易度について
【アプリケーション/Web系エンジニアの場合】
今までネットワークやインフラの勉強を
AWS CLI バージョン1とバージョン2を併存させる
# AWS CLIをバージョン1とバージョン2を併存させる
## こんな人向け
既にAWS CLIバージョン1がインストールされていて、諸事情でバージョン2も使いたい人## 前提条件
* CentOS 7## AWS CLI バージョン 1 インストール
“`
cd
mkdir -p tmp
cd tmp
rm -rf *
wget “https://s3.amazonaws.com/aws-cli/awscli-bundle-1.19.0.zip” -O “awscli-bundle.zip”
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
“`
* AWS CLI のインストール、更新、アンインストール
https://docs.aws.amazon.com/ja_jp/cli/v1/userguide/cli-chap-install.html## AWS CLI バージョン 2 インストール
“`
cd
mkdir -p t
AWS LambdaでSeleniumを動かすときの注意点
# 概要
* ある日、seleniumによるフロント画面の正常性確認を行うAWS Lambdaの実行エラーが頻発していることに気づき調査することになりました。
* その際に気づいたseleniumの特性とAWS Lambdaの特性について今回は記事にしていこうと思います。
* もし同じような現象に陥った人がいた時の何らかの助けになれば幸いです。## 仕様の確認
* フロント画面の正常性を確認するためにseleniumのwebdriverでヘッドレスモード実行をしていました。
* 実行には、CloudWatchEventを利用し、5分おきにこのLambdaを発火し、実行結果をCloudWatchLogsに吐き出すようになっています。## 何が起きたのか
* 一定の間隔でこのseleniumを動かすLambdaが実行中にエラーとなり落ちていました。
* ただ毎回の実行で、このLambdaが落ちるというわけではなくたまに実行エラーとなるのがとても不思議でした。### Lambdaでの実行エラーが発生したときの調査方法
* Lambdaのインサイトメトリクスを有効にするとL
AWS CodeBuildをデバックするならssm接続でやろう (セッションマネージャを利用しビルドコンテナへのログインする方法)
# 概要
* 以前、CodeBuildのデバックをしようとした際に、マネージドで立ち上がるビルドコンテナをどうやってデバックしようか迷ったことがありました。
* そんな時、セッションマネージャを利用したビルドコンテナにログインする機能が大変役にたったので、今回は方法について記事にしていきます。## セッションマネージャを利用しAWS CodeBuildのビルドコンテナに接続
* まず初めに**セッションマネージャを利用しAWS CodeBuildのビルドコンテナに接続するにはいくつか条件があります。**
* 利用するイメージにSSMエージェントがインストールされており、SSM エージェントのコンテナモードが有効になっていること
* AWS CodeBuildのサービスロールにSSMのポリシーが追加されていること
=> ただこちらは、ビルドの開始時にこのポリシーをサービスロールに自動的にアタッチするように設定することができます。手動でアタッチする場合は、下記のようなポリシーをアタッチしましょう。“`json
{
“Effect”: “Allow”,
“A
【受験記録】AWS Certified Advanced Networking – Specialty(ANS-C00)
## 注意
– 受験した現バージョン(ANS-C00)は2022/7/11で受験不可になりますので、ご了承ください。## 前提
– 6年目エンジニア
– アプリケーション開発メイン
– インフラは少しだけ
– AWS CLF, Associate3つ, AWS SAP, DASは保持
– 受験日 2022/6/25##試験結果
点数:807点/750点/1000点(取得スコア/合格ボーダー/満点スコア)
スコアパフォーマンス: 分野1, 6を除くセクションは”コンピテンシーを満たしている”## 試験感想
– DAS受験後、次に受ける試験を選んでいたら、ANS試験のバージョンが7月で切り替わり、内容が大きく変わりそうだったので、駆け込み受験をしようとANSに決めました。
– 対象サービスが比較的絞られていたことと対策本が出ていることもあって、前回のDASほどの勉強のしにくさはなかったです。
– 実際に試験を受けてもDirectConnect, AWS VPN, Route53についての問題が多かったように感じます。## 勉強方法
1. [AWS公式](https://aw
【画像付き解説】AWSでWEBサイトを公開しよう!
## はじめに
この記事では、AWSを使用してWEBサイトを公開する手順を解説します。
Route53で独自ドメインを取得してS3で公開、CloudFrontで常時SSL化(HTTPS化)までを記載しました。
AWS以外でドメインを取得されている方でも問題ないように書いていますのでご安心ください。:::note
AWSアカウントの登録方法や設定の説明は省きますが、アカウント登録からされる方はこちらの記事([AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ](https://qiita.com/tmknom/items/303db2d1d928db720888))がおすすめです。設定する項目が多く大変だと思いますが、IAMユーザーでのログインに切り替えるなどセキュリティ面でとても重要なこともあるので忘れずに行いましょう。
:::## Route53でドメインを取得
まずはRoute53でドメインを取得しましょう。
![us-east-1.console.aws.amazon.com_route53_v2_home.jpg](https://qiita-image-s
AWS re:Post のアカウント作成に AWS SSO の認証情報は使用しない方がいいという話
:::note warn
2022/6/28 時点の情報です。今後仕様が変わる可能性があります。
:::## 事象
AWS SSO の認証情報を使用して AWS re:Post に登録済みのユーザーとしてサインインしようとすると、新規アカウント登録画面 (rePost-User-XXXXXX) に遷移してしまう。あれ、自分のアカウントどこいった?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/6aecff56-62bc-240e-4c5e-524036809b74.png)## 原因
* AWS re:Post のアカウントは特定の AWS アカウントの IAM 認証情報と紐づいている (と思われる)
* AWS SSO でアクセス許可セットの再割り当てが行われた結果、アカウントに接続する際の IAM ロールが再作成された
* `AWSReservedSSO_AdministratorAccess_xxxxxxxxxxxxxxxx` が削除され、`AWS
OpenSearch ( ElasticSearch ) の利用料を最適化する 〜円安ドル高にちょっと抵抗してみる〜
# はじめに
円安が止まりません。20数年ぶりの円安水準だそうです。ガソリン代も高騰していますが、ドルベースのAWS利用料も影響を受けてしまいます。AWS利用料には補助金は導入されませんので、自助努力するしかないですね。仕事の効率が落ちない程度に、コスト最適化を考えてみます。# OpenSearchの費用について
OpenSearchのデータノードは、マルチAZにすると2(または3)の倍数が必要で、シャード数も考慮すると、両方の公倍数にした方が良いです。となると、必然的にデータノード数はある程度多くなり、それに伴い費用もかさみがちだと思います。# OpenSearchの運用コストを最適化
商用環境には手をつけにくいので、検証環境(開発環境)にフォーカスします。コストを無視すれば、検証環境はできる限り商用環境と同じ環境であることが理想ではあると思いますが、ほとんどの時間で性能を持て余します。そこで、性能が必要な場合(性能テスト時など)のみ、商用レベルの性能を付与する(動的に設定変更する)ことにします。# 最適化の方針
とはいえ、手間は増やしたくありません。データ量に依存するデ
CloudFormationでS3実装に挑戦①
:::note info
今回やったこと
1. S3バケットの作成
コンソールで設定項目を確認てから、テンプレート作成
1. AWS CLIでの、スタック作成・スタック削除・テンプレートの検証* 次回申し送り事項
EC2からの接続設定
[参考](https://aws.amazon.com/jp/premiumsupport/knowledge-center/connect-s3-vpc-endpoint/)
:::### 1. S3バケットの作成
一度コンソールを確認する。
* 一般的な設定
– バケット名
– リージョン
* オブジェクト所有者
– ACL無効
* ブロックパブリックアクセス設定
– ブロックしない
* バージョニング
– 無効
* デフォルトの暗号化
– 無効次に公式のサンプルテンプレートを見る。
“`yml
Resources:
S3Bucket:
Type: ‘AWS::S3::Bucket’
DeletionPolicy: Retain
Properties:
BucketNam
プライベートサブネットからNATゲートウェイを経由して、インターネットに接続する
# NATゲートウェイを作成する
AWSマネジメントコンソールの「VPCダッシュボード」を表示してください。
「NATゲートウェイ」をクリックしてください。
「NATゲートウェイの作成」をクリックしてください。
![スクリーンショット 2022-06-28 6.13.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/1e3d8926-7474-b544-28b7-08ed02df3e16.png)「NATゲートウェイの作成」ページが表示されます。
「サブネット」で、パブリックサブネットを選択します。
「接続タイプ」で、パブリックを選択します。
「ElasticIPの割り当て」ボタンをクリックします。
「NATゲートウェイを作成」ボタンをクリックします。
![スクリーンショット 2022-06-28 6.20.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/e24ba7c7-8ef6-03
CloudWatch新機能増えすぎ問題。Synthetics? RUM? Evidently??
AWSの監視機能群である「Amazon CloudWatch」。
基本的なサービスですが、早くからクラウドを利用している人ほど**監視はDatadogやNew Relicなどの専用ツールで…** という方も多く、意外と新機能のアップデートを追えてない方も多いのでは?(自己紹介乙)この記事では、CloudWatchの中でも比較的新しい**DEM三兄弟**を特集します。
– CloudWatch Synthetics
– CloudWatch RUM
– CloudWatch EvidentlyCloudWatchコンソールでいうとこの辺にあるやつです。
![スクリーンショット 2022-06-27 23.48.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/b81ebcf4-bac4-73b6-27a1-744d1912bddc.png)# DEM(デジタルエクスペリエンスモニタリング)とは?
AWSの「オブザーバビリティ」ページにDEMの紹介があります。
簡単にいう
AWSマネジメントコンソールにサインインできないときにやること
# 概要
AWSマネジメントコンソールにサインインできないときのメモ# IAMユーザーの場合
– MFA認証の時刻同期。複数回ログインに失敗すると画面上で再同期を促される。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa_sync.html
– パスワード忘れや他の課題がある場合は、管理者(ルートユーザー)か他のIAMユーザーでコンソールにサインインして対処する。# ルートユーザーの場合
– MFA認証の時刻同期。IAMユーザーと同様。
– パスワードの変更。画面上で操作可能。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_passwords_change-root.html
– MFAデバイスを削除。AWSサポートへ要請する。
– https://support.aws.amazon.com/#/contacts/aws-mfa-support
– 後日、アマゾ