- 1. AWS SSMセッションマネージャー経由でSSH(プロキシ下、EC2自動起動)
- 2. 3年後に向けた備忘録_AWS認定ソリューションアーキテクト プロフェッショナル試験(SAP-C01)
- 3. AWS Tools for PowerShellとAWS CLIでロール切替なしのMFA認証
- 4. Security Hub とは
- 5. 【Terraform】Terraformの設定(terraform, providerブロック, dataブロック, outputブロック)
- 6. RDS MySQL Workbench による import/export
- 7. AWS EC2 Route53 Apacheで静的テストページアップロードまでまとめ2022 (How To Host a Static Website in EC2 instance)
- 8. ALBで複数の証明書をアタッチしてマルチドメイン対応する on Fargate
- 9. NAT Gawatewayを使ったLambdaのIPアドレスの固定化方法
- 10. とりあえず触り始めるための Athena v CloudWatch Logs Insights
- 11. [AWS] ssm-userが作成されるタイミング
- 12. 【Terraform】リソースの設定の変更を無視したい場合の対応方法
- 13. 【AWS】手動設定されたNACLエントリーをスタック管理下にする
- 14. Amazon Appflowを使用してVantageからSalesforceへ接続する方法
- 15. Amazon EKSをEC2で構築した場合のIPアドレスの上限数
- 16. MacにてEKSでGrafanaを利用する
- 17. Java のレガシーなサービスで使ってきた Aurora MySQL v1 を v3 にバージョンアップした話
- 18. 【Terraform】Terraformのモジュールを作ってみよう
- 19. sendgrid DKIM,SPF設定とメールが届かない場合の対応
- 20. AWS Fargateのタスク起動時間がzstd圧縮のイメージを使うと早くなるようなので試してみた
AWS SSMセッションマネージャー経由でSSH(プロキシ下、EC2自動起動)
AWS Systems Manager(SSM)セッションマネージャー経由でEC2インスタンスにSSH接続します。プロキシ環境下での接続方法や、SSH接続時にインスタンスを自動起動する方法も示します。
## EC2インスタンスを準備する
SSH接続先のEC2インスタンスを作成します。例えば以下のようにします。
1. VPCなどのネットワークとEC2インスタンスを作成します。(※料金を安くしたいときは、停止・再開できるスポットインスタンスを使用します)
1. 料金を安くしたいので、毎日深夜にインスタンスを停止するようにします。EventBridgeの「EC2 StopInstances API 呼び出し」を使うのが簡単だと思います。
1. SSMの前提条件を満たしていることを確認します。
1. SSMエージェントがインストールされていること。(※Amazon Linux 2などにはプリインストール済み)
1. `AmazonSSMManagedInstanceCore` ポリシーを含むIAMロールがインスタンスにアタッチされていること。
1. インターネット
3年後に向けた備忘録_AWS認定ソリューションアーキテクト プロフェッショナル試験(SAP-C01)
# はじめに
2022年9月にSAP-C01の試験に合格しました。?
[試験バージョンが2022/11/15から改訂](https://aws.amazon.com/jp/certification/coming-soon/)されますし、単に運がよかっただけな気もしますが、
再認定(約3年後)の準備を始めるときに前回受験時のことを思い出すのも面倒なので、備忘録を残しておくことにします。?## 試験の概要
[AWS Certified Solutions Architect – Professional](https://aws.amazon.com/jp/certification/certified-solutions-architect-professional)
180分75問(採点対象:65問)
採点 100~1000(合格:750~)
試験料 33000円(税込)
出題形式 全て選択式(正答数は明示される、1~3つ)。問題の後戻り可能。私の受験した試験バージョンでは、[試験ガイド](https://d1.awsstatic.com/ja_JP/
AWS Tools for PowerShellとAWS CLIでロール切替なしのMFA認証
AWS Tools for PowerShellやAWS CLIでロール切替時にMFAするには `.configure` ファイル内でロールにMFAデバイスを設定しておけばいい。ロール切替時に、MFAコード(6桁の数字)を聞いてくれる。ではロール切替しない、IAMユーザー認証してそのまま要MFAの作業するにはというと、この手法が使えなさそうな感じ。
> 注意: 永続的な IAM 認証情報で mfa_serial パラメータを使用することはできません。
> ([AWS CLI 経由で MFA を使用してアクセスを認証する](https://aws.amazon.com/jp/premiumsupport/knowledge-center/authenticate-mfa-cli/))大まかに言えば、このドキュメントにある手順でセッショントークンを取得し、一時的な認証情報として設定する必要がある。
# AWS CLI
上の引用文出典と同じだけど、こちらを参照。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/a
Security Hub とは
## 勉強前イメージ
AWSのサービスってくらいで実はあまり知らない
## 調査
### Security Hub とは
AWSの対象サービスのチェックを行って一元管理するサービスになります。
AWSにはいろいろサービスがありますが、使っっている対象サービスのチェックなどを一つ一つしていくのは大変です。
その為、AWSで対象となっているサービスのセキュリティアラートを集約して一つの管理画面で見れるようにしたのが
このSecurity Hubになります。現時点では対象サービスは以下になります。
– Amazon GardDuty
– Amazon Inspector
– AWS System Manager
– AWS Health
– AWS config
– AWS Firewall Manager
– AWS IAM Access Analyzer
– Amazon Macie### Security Hub のメリット
– データの集約
上記にも記載させていただいているサービスのセキュリティチェックを一つのSecutiry Hubで見ることができるので
個々
【Terraform】Terraformの設定(terraform, providerブロック, dataブロック, outputブロック)
# はじめに
udemyを使ってTerraformの勉強をしたので、terraformブロック、providerブロック、dataブロック、outputブロックについての学習備忘録です。https://www.udemy.com/course/iac-with-terraform/
# terraformブロック
Terraform全体に関わる設定ができる
* required_version : Terraformのバージョン設定
* required_providers: providerのバージョン設定“`terraform
terraform {
required_version = “>=0.13”
required_providers {
aws = {
source = “hashicorp/aws”
version = “~> 4.0” # 4.0以上, マイナーバージョンを気にしない
}
}
}
“`https://developer.hashicorp.com/terraform/langua
RDS MySQL Workbench による import/export
# はじめに
実際には、RDS のバックアップと復元機能を使うが、RDS MySQL Workbench による import/exportは参考までに残す。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_CommonTasks.BackupRestore.html
# RDS の設定変更
RDS の DBパラメーターグループ の `log_bin_trust_function_creators` を`1`に設定し再起動。
# Import
Data Import/Restore > Import from Disk > Import from Self-Contained File でインポートするファイルを選択 > Default Target Schema で DB を選択もしくは新しく DB を作成 > Start Import を選択。
![スクリーンショット 2022-10-21 19.26.25.png](https://qiita-image-store.s3.ap-no
AWS EC2 Route53 Apacheで静的テストページアップロードまでまとめ2022 (How To Host a Static Website in EC2 instance)
### おそらくすぐに内容変わりますが(2022年10月時点)。
### 意外と重要:Login AWS, Confirm region.### ①Route53:Get original domain(ほかのドメインサーバーでも多分可)
### ②EC2:Start-up Instance(出来たら起動の都度キーペア作成する方がよさげ)
### ③When status is display “pass” while Instance running, you can go next.
### ④EC2:Click Elastic IP from menu. Do “Assign” and then “Associate”.
### ⑤Route53: Making A record in Hostzone.
(ここでNuxt.jsなど動的サイト運用時はレコードタイプをCNAMEにする?)
### ⑦Login into cloud server using TeraTerm. Install “Apa
ALBで複数の証明書をアタッチしてマルチドメイン対応する on Fargate
WIP
NAT Gawatewayを使ったLambdaのIPアドレスの固定化方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556658/6ec16fbf-ad49-b975-cf6a-642ab0476747.png)
## はじめに
株式会社マイスター・ギルド新規事業部のヒツジーです。
弊社新規事業部では、新規サービスの立ち上げを目指して
日々、アイディアの検証やプロトタイプの作成などを行っています!技術の進歩は目覚ましいので、置いてかれないように新しい技術のキャッチアップにもいそしんでいます!
本記事は、以前書いた[FastAPI with Lambda + API Gatewayでサーバレスアプリケーションを作成する方法](https://qiita.com/drafts/cedd1825e5437663d3ce)の続編として、AWSのサービスであるNAT Gawatewayの使い方についてご紹介します。アクセス制限がかかっている外部サーバーのDBにAWS Lambdaからアクセスするには、IPアドレスを固定化しないといけませんが、NAT Gat
とりあえず触り始めるための Athena v CloudWatch Logs Insights
どちらもAWSサービス、データを検索できるやつです。
細かいチューニングや知見は後回しでいいから、ざっくり今すぐサクッと使ってもらいたい。
どうしても気になるのは費用ですが、どちらも「無茶苦茶(もの凄い量をもの凄い回数扱う)な使い方をしなければお安い」範囲だと思うので、その範疇ならあまり気にしなくていいかも。
## 使い分け
* [Amazon Athena](https://aws.amazon.com/jp/athena/) をオススメするケース
* データを正しくフォーマットして溜め、アドホックな検索を行いたい場合=DBテーブルに対してアドホックなSQLを連発したい
* 検索するまでの準備に対して、ある程度労力を割いてもよい
* [Amazon CloudWatch Logs / CloudWatch Logs Insights](https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) をオススメするケース
* 直近のデータからささっとグレップした
[AWS] ssm-userが作成されるタイミング
# 結論
`ssm-user`は
– 最初のセッション確立時に作成される。
– ただし、Run Asを有効化している場合は作成されない。## 少し説明
GithubのレポジトリのREADMEに書いてある通り、
https://github.com/aws/amazon-ssm-agent
>The first time a Session Manager session is started on an instance, the agent will create a user called “ssm-user” with sudo or administrator privilege. Session Manager sessions will be launched in context of this user.
`ssm-user`は**最初のセッション確立時**にssm-agentによって作成されます。インスタンスの起動時やssm-agentが起動したときには作成されません。
また、SSMには`SSMSessionRunAs`というタグをIAMユーザーやロ
【Terraform】リソースの設定の変更を無視したい場合の対応方法
## はじめに
Terraform にて AWS リソースを tfstate に Import する際に、リソースの変更を無視するための対応を実施しました。
今回、その対応方法を記事として残したいと思います。
※こちらの対応は、`aws_s3_object` リソースにて実施しました。## 対応を実施した際の Terraform のバージョン
v4.0.0## リソースの設定の変更を無視したい場合
リソースに以下のように記載する。“`terraform:書き方
resource “リソースの種類” “リソース名” {lifecycle {
ignore_changes = [
変更を無視したい設定
]
}
}
“`“`terraform:記載例
resource “aws_s3_object” “test_object” {
bucket = aws_s3_bucket.test_object.id
bucket_key_enabled = false
cache_control
【AWS】手動設定されたNACLエントリーをスタック管理下にする
# はじめに
仕事でstackからNACL作成しているが、エントリーの一部が手動作成されている場面に遭遇。
手動作成されたエントリーをstack管理と出来るのかを確認したく、検証したもの。
備忘の意味も込めて検証結果を記載する。### ◼️検証シナリオ
スタックで作成したNACLエントリーと手動作成したNACLエントリーが混在している状態。
この手動作成されたエントリーをスタック管理化とする。#### ・検証説明図
以下エントリー2をスタック管理に変更する。
![状況.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2852164/b6d378d0-f4a2-ea86-6c1e-8e8fb8a2bd4f.png)#### ・Stackテンプレート(抜粋)
スタックで作成したNACLエントリー
“`YAML:SET_NACL
InboundNetworkAclEntry10001:
Type: ‘AWS::EC2::NetworkAclEntry’
Properties
Amazon Appflowを使用してVantageからSalesforceへ接続する方法
著者 [Wenjie Tehan](wenjie.tehan@teradata.com)
最終更新日 2022年2月14日:::note warn
警告
本記事は[Getting Started](https://quickstarts.teradata.com/index.html#getting-access-to-vantage)に掲載された内容を抄訳したものです。掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。正確な内容については、原本をご参照下さい。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。
:::# 概要
このハウツーでは、SalesforceとTeradata Vantageの間でデータを移行するプロセスについて説明します。2つのユースケースを含みます。① Salesforceから顧客情報を取得し、Vantageから注文および出荷情報と組み合わせて、分析的な洞察を得ます。
② Vantage の **newleads** テーブルを Salesforce のデータで更新し、AppFlow を使用して新
Amazon EKSをEC2で構築した場合のIPアドレスの上限数
# はじめに
Amazon EKSをEC2で構築した場合、利用できるIPアドレス上限数はインスタンスタイプ毎に異なります。
1つのIPアドレスで、1つのPodが作成できるので、`IPアドレスの上限数=Podの上限数`となります。# IPアドレスの上限数を調べる
1. インスタンスタイプとネットワークインターフェースごとのIPアドレスを調べる
[IP addresses per network interface per instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)を参考にしてください。1. 利用できるIPアドレスの計算式
“`
Maximum network interfaces * (Private IPv4 addresses per interface – 1) + 2
“`1. IPアドレスの上限数の一覧
[eni-max-pods](https://github.com/
MacにてEKSでGrafanaを利用する
# はじめに
Macで Grafana を利用する方法をまとめます。# 実行環境の準備
1. AWS CLIの設定
[AWS CloudFormationを動かすためのAWS CLIの設定](https://qiita.com/miyabiz/items/fed11796f0ea2b7608f4)を参考にしてください。1. EKSクラスタの構築
[Macでeksctlを利用してAWSにEKSのクラスターを構築する](https://qiita.com/miyabiz/items/75f83237795b0b7d52bd)を参考にしてください。1. EKSのコンテキストの設定
[MacにてEKSの設定をする。](https://qiita.com/miyabiz/items/b98d145cedb35dab9524)を参考にしてください。1. Helmの設定
[MacにてHelmを利用する](https://qiita.com/miyabiz/items/453361e6af64b324443c)を参考にしてください。1. Prometheusの設定
[Ma
Java のレガシーなサービスで使ってきた Aurora MySQL v1 を v3 にバージョンアップした話
2022 年 2 月に Amazon Aurora MySQL 互換版のバージョン 1(以降「Aurora MySQL v1」と表記)の EoL 発表を受けて、Java のレガシーな Web サービスで使ってきた Aurora MySQL v1 を v3 にバージョンアップした記録です。
※後日 Zenn で本にまとめる予定なので、この記事は要約版となります。
## 対象サービスの概要
– Java の 15 年 over モノのレガシーなシステム
– その上に Web アプリケーションが複数
– 5 年前 AWS に Lift & Shift したのを機に DB を MySQL 5.5 から Aurora MySQL v1 に移行
– DB の接続には MySQL Connector/J 5.1 または 8.0(一部)を使用## なぜ Aurora MySQL v2 ではなく v3 に移行したのか?
いくつか理由はありますが、主に以下の 2 点が大きいです。
– 本家 MySQL 5.7 の EoL が迫る中、**一旦 v2 を挟むと最悪の場合 2 年で 2 回バー
【Terraform】Terraformのモジュールを作ってみよう
# はじめに
udemyを使ってTerraformの勉強をしたので、Terraformのモジュールについての学習備忘録です。https://www.udemy.com/course/iac-with-terraform/
# Terraformのモジュールとは
リソース生成処理を1つの塊にして呼び出せるようにしたもの → 関数のようなもの# Terraformのモジュールを作成してみよう
試しにserverというモジュールを作成してみたいと思います。modulesフォルダを作成し、serverフォルダを作成します。
その配下にモジュール作成に下記の空のファイルを用意します。* variables.tf : 引数
* main.tf : 処理
* outputs.tf : 戻り値
* README.md : 説明![スクリーンショット 2022-10-17 23.33.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/95954/3a1f652b-8b42-2d25-27c1-61
sendgrid DKIM,SPF設定とメールが届かない場合の対応
# メールが届かない理由を探る
sendgridにログイン
-> Suppressions
-> Blocksをクリック
“`
550-5.7.26 This message does not pass authentication checks (SPF and DKIM both
“`SPFとDKIMの両方が設定されてないよとのこと。
では設定しましょう。# はじめに
SPFもDKIMもsendgridで指定されたCNAMEを設定するだけで、自動的に反映される
SendGridにログインし
->Settings
->Sender Authenticationを開きAuthenticate Your Domainをクリック
1.otherhost を選択し
which dns host に webサーバーのIPアドレスを入力2.YES を選択
(HTNLメール等を利用した場合にsengridのサブドメインから独自ドメインに置き換えられて見栄えがよくなる。)今回利用したいドメインを入力
hoge.com
(オプションはデフォルトのまま)In
AWS Fargateのタスク起動時間がzstd圧縮のイメージを使うと早くなるようなので試してみた
# 概要
GoQSystemではアプリケーションやAPIサーバーの基盤にAWS ECS on Fargateを採用しています。
ECS Task起動時間短縮はインフラ担当として取り組んでいることの一つです。(イメージサイズを下げるの限界。。。)
2022/10/13 AWSブログでzstd圧縮イメージを使用すると起動時間が短縮されると発表したので試してみました。https://aws.amazon.com/jp/blogs/containers/reducing-aws-fargate-startup-times-with-zstd-compressed-container-images/
# zstdとは
Zstandardの略でMetaに所属しているYann Colletによって開発された可逆圧縮アルゴリズムです。# Docker builxコマンド
AWSブログにあるコマンドオプションを指定してイメージをビルドしています。
“`
docker buildx build \
–file Dockerfile \
–output type=image,nam