AWS関連のことを調べてみた2021年08月10日

AWS関連のことを調べてみた2021年08月10日

aws-nuke でリソースを削除して心を軽くする

## はじめに

DX技術本部の yu-yama です。

AWSで `sandbox` アカウントを作り検証を続けていると、知らず知らずのうちにセキュリティグループ、スナップショット、IAMロールなどが増えていて心をざわざわさせられませんか。
いつかは整理したいと思いつつ先延ばしに…
そんなあなたに `aws-nuke` 。リソースを消せるだけ消して心をスッキリ軽くしてみましょう。

![kafun_sukkiri.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534812/9cdb3a39-36ff-3b1e-6faf-be6337a835b6.png)

## aws-nuke とは

AWSのリソースを削除するツールで、

機能として

– リージョンの指定
– 削除するリソースタイプの指定
– 削除しないリソースタイプの指定(除外指定)
– リソースのフィルタリング
– 削除するリソースタイプのうち、特定のリソースのみ削除させたくない場合などに使用

があ

元記事を表示

TerraformでVPC Peering 実装

## これは何
TerraformでVPC Peering 実装してみた。のメモです。

今回は、同一AWSアカウント間でのPeeringを行なっています。

## 早速やってみた

“`vpc.tf
resource “aws_vpc_peering_connection” “peer-1-2” {
peer_owner_id = Your_AWS_Account_Id
peer_vpc_id = aws_vpc.peer-1.id
vpc_id = aws_vpc.peer-2.id
auto_accept = true

tags = {
Name = “VPC Peering between peer-1 and peer-2”
}
}

resource “aws_vpc” “peer-1” {
cidr_block = “10.1.0.0/16”
}

resource “aws_vpc” “peer-2” {
cidr_block = “10.2.0.0/16”
}

resource “aws_route

元記事を表示

【AWS】Amazon RDS

#はじめに
AWS認定試験取得に向けてAWSの知識を整理するためのまとめです。
今回はAmazon RDSについてまとめます。

#RDSとは
RDSは「Relational Database Service」の略です。
フルマネージドなリレーショナルデータベースなので、パッチ適用やOSの保守、
スケーリングなどもAWSの管理になるので運用負荷が軽減されます。

# RDSの特徴
## RDSのデータベースエンジン
6種類から選択可能
・Amazon Aurora
・PostgreSQL
・MySQL
・MariaDB
・Oracle
・SQLServer

##可用性、耐久性
### 自動バックアップ
RDSは自動バックアップ機能を持っています。
自動スナップショット+トランザクションログをS3に保存します。
保存期間内の任意の時点(最大5分前まで)に遡ってインスタンスを復元ができます。
自動バックアップの保持期間は最大35日になっています。

### スナップショット
ユーザが任意のタイミングでスナップショットを作成することも可能です。
その場合は明示的に削除するまで保持されます。

元記事を表示

スマートホーム目指してラズパイ触ってみた(4) 〜Amazon S3連携編〜

##今回の目標
SenseHatの測定結果をテキストファイルに保存して、Amazon S3に送る。

前回までの記事はこちら
[ラズパイ触ってみた(1) 〜ラズパイ4+SenseHatセットアップ編〜(Qiita)](https://qiita.com/keilog/items/78dfb492790997fa16b7)
[ラズパイ触ってみた(2) 〜Macからリモートデスクトップ接続編〜(Qiita)]
(https://qiita.com/keilog/items/76117db977ce5096ac19)
[ラズパイ触ってみた(3) 〜LINE連携&温度通知編〜(Qiita)]
(https://qiita.com/keilog/items/b0ef6161628c544ed6c3)

##Step1:測定結果をテキストファイルに保存させる
前回温度を表示させるPythonコードを作成したので、温度をテキストメモに保存させるようにします。
テキストファイルを別で作成し、以下のコードを実行します。

“`temp_log.py
from sense_hat import Sen

元記事を表示

VS Code から Cloud9 に SSH 接続する方法

## 本記事のサマリー
– VS Code の 拡張機能「Remote SSH」を利用して、VS Code から AWS の Cloud9 に接続する方法を説明しています。
– VS Code と Cloud9 を併用するメリットは、以下があげられます。
– コードエディタとして、パワフルな VS Code を利用できる。
– 開発環境として、使い捨てが容易な Cloud9 を利用できる。
– Cloud9 上の localhost に、手元のブラウザから接続して動作確認ができる。

## はじめに:VS Code と Cloud9 の併用について
AWS の オンラインIDE、Cloud9 を皆さんは活用していますか?
私は以下の点が気に入っており、様々なところで Cloud9 を活用しています。

– インターネットにつながっている環境であれば、どこからでも使えるところ。
– 様々なランタイム(Node.js, Python, docker, etc…)が入った環境をすぐに立ち上げることができるところ。
– 環境を使い捨てにできるところ。(=ローカルマシ

元記事を表示

TerraformでTFlintが効かなくなったときの対処

## これは何
TerraformでTFlintが効かなくなったときのメモです。
VScodeのProblem欄に文法エラーが出なくなりました。

## 原因
Terraform Language ServerのUpdateをしていなかったのが原因でした。
そういえば、VScodeの右下になんか更新のお知らせきてたな〜とは思ってましたが、まさかこれとは…

なんでこれなのかというと、はっきりと納得はできていないのですが、GitHubの開発概念を見にいったらなんとなく理解できました。
Language Serverを見にいってるんですかね。

“`
【引用】
TFLint is just a thin wrapper of Terraform.
Configuration loading and expression evaluation etc.
depend on Terraform’s internal API,
and it only provides an interface to do them as a linter.
“`

とりあえず解決はできたものの、
そも

元記事を表示

[EC2] pingとICMPについて

EC2のネットワークの設定をしている際、疎通確認としてpingをしてもレスポンスが返ってこなかったため原因を調べました。

# 原因
セキュリティグループのインバウンドルールでICMPの通信を許可していなかったことが原因でした。

# pingとは
元々pingを「ネットワークの疎通を確認するもの」として曖昧に理解していました。

pingの仕組みを調べたところ、
> 指定したIPアドレス宛てにICMPエコー要求メッセージを送信しています。これは「送ったデータをそっくりそのまま送り返してください」という内容です。ICMPエコー要求メッセージを受け取ると、ICMPエコー応答メッセージとして、データをそのまま送り返します。ICMPエコー応答メッセージが返ってくれば、Pingは成功です。

とあります。[^1]
ここで `ICMP`という単語が出てきました。
詳細に理解するにはこの部分を知る必要がありそうです。

# ICMPとは
まずICMPとは、Internet Control Message Protocolの略で、TCP/IPにおけるインターネット層で利用され、接続しているサーバ間の

元記事を表示

CloudFormationのベストプラクティス、あるのか?

常々、CloudFormationテンプレートは本番環境で運用保守するの嫌だなあと思っています。
#「CloudFormation、コレジャナイ」のきっかけ

まず「CloudFormation、コレジャナイ」と思ったきっかけになった出来事です↓
**[CloudFormationで管理されたシステムの変更でエラー連発した話](https://speakerdeck.com/emiki/cloudformationdeguan-li-saretasisutemufalsebian-geng-deeralian-fa-sitahua)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/3542da85-05ed-5b0c-74a9-f06bb2a46d06.png)**

2021/7/22(木)「JAWS-UG CLI専門支部 #188R CloudFormation入門」のLTで発表した資料になります。

JAWS-UG朝会で波多野さんが**「CloudFormation

元記事を表示

チュートリアル「静的ウェブサイトをホスティングする」をやってみる

#はじめに
このチュートリアルを実際にやってみた記録です。

https://aws.amazon.com/jp/getting-started/hands-on/host-static-website

##できるようになること
GitHubに登録した静的なウェブサイトをAmplifyで公開します。GitHub上のコンテンツが更新されると自動的に再デプロイされる仕組みになります。

##準備するもの
* AWSのアカウント
* GitHubのアカウント

#手順
実際のチュートリアルの中ではReactのコンテンツを作っていますが、React環境がなかったためindex.htmlファイルが一つの簡易コンテンツ版としました。gitコマンドの操作わからなかったのでGitHubのウェブサイトから操作しています。

##GitHubにRepositoryを作成してhtmlファイルを置く

1. GitHubにログインし、右側の「+」マークを押して、「New repository」を選択する。
![image.png](https://qiita-image-store.s3.ap-northe

元記事を表示

AWS Step Functions 調査メモ

## はじめに

AWS Step Functions の調査メモ。深堀りはせず概要を把握することが目標です。

## Step Functions で Lambda 実行

Step FunctionsでCloudWatch logsにログを書き込むLambdaを実行します。

以下はログを書き込むLambda(Python3.8)です。
Lambda実行時に受け取ったJSONデータをログに記録します。
また、return で受け取ったJSONデータを返しています。

“`python:test001
import json

def lambda_handler(event, context):
print(“test desu {0}”.format(event) )
return (event)
“`

– 必要なIAMロールは、CluodWatch Logs の以下3つ
– CreateLogGroup
– CreateLogStream
– PutLogEvents

作成したStepFunctionsのjsonコードです。

元記事を表示

Sequel Ace – RDS/localhostのMySQLに接続する

#まえがき
前回の投稿でphpMyAdminに手こずったと記述しました。
? [RDS – 既存のRDSを削除して新たにRDSを作成しWordPress.orgと接続させる](https://qiita.com/figgy-pudding/items/2fda5832d8b77505c6e5)
localhost上でphpMyAdminに触れ、MySQLの管理・可視化の大切さを感じ、
安心感を持つことができました。CUIに少しは慣れたつもりですが、
phpMyAdminみたいにデータベースのGUIツールがあればなぁと思って辿り着いたのが
[Sequel Ace](https://apps.apple.com/us/app/sequel-ace/id1518036000)でした。アプリケーションかつSSHキーでの認証なので安全性の確立と、
ブラウザにバーンとエラーが出ないのでそちらの安心感もあります笑
本編のSequel Aceは1時間ほどで設定が完了しました。
おまけではMAMPを使用し、表題のTCP/IPでlocalhost上のMySQLと接続します。
さあ、ドーレ港に到着しました!

元記事を表示

パイロットライトは『種火』

災害対策(DR)計画の中で、用語からイメージしにくい **『パイロットライト』** について調べました。

#パイロットライトは『種火』

oracle先生のサイトでイメージしやすい言葉を見つけました。
[パイロット・ライトのディザスタ・リカバリ(DR)トポロジの設計](https://docs.oracle.com/ja/solutions/oci-pilot-light-dr/index.html#GUID-05921C82-52AB-40DE-BC48-92B8F11EEDFF)
>パイロットライトという用語は、ガス駆動ヒーターなどのデバイスで常に点灯し、必要に応じて素早くデバイスを起動できる小さな炎を指します。

いつでも火がおこせるよう消さずに残しておく小さな火、『種火』のイメージでよさそうです。

具体的に言うと、DRリージョンに低スペックのDBを起動してシステムの最も重要なコアデータをレプリケーションしておき、復旧時はこのDBをスケールアップして完全な本番環境をすばやくプロビジョニングするという災害対策方法です。
種火から火を起こすようなイメージですね。
![image.

元記事を表示

TerraformでVPCエンドポイントを一気に作る

## はじめに
– Terraformの勉強記録です

– 本稿ではVPCエンドポイントを一気に作ります
– 今回は例としてSSMへのアクセスに用いる3つのVPCエンドポイントを作成します
– 誤りの訂正・より良い方法のご助言、どしどしコメント頂ければ幸いです

### Terraform 実行環境
– AWS Cloud9
– Amazon Linux2
– t2.micro
– Cloud9を使う理由
– 標準でTerraformが備わっているため

### アウトライン
1. 変数の定義
1. VPC・サブネット・セキュリティグループの作成
1. VPCエンドポイントの一括作成

### 1. 変数の定義
– `vpc_endpoints`で**作成したいVPCエンドポイント名を要素にもつリスト**を定義しています

“`go:variable.tf
locals {
name = “terraform”
region = “ap-northeast-1”
}

# VPC
variable “vpc_cidr” {
type =

元記事を表示

Terraformで複数azに跨るサブネットを一気に作る

## はじめに
– Terraformの勉強記録です
– 本稿ではTerraformで複数azに跨るサブネットを一気に作る手順を記します
– 複数リソースのループはfor_eachを使用しています
– 誤りの訂正・より良い方法のご助言、どしどしコメント頂ければ幸いです

### Terraform 実行環境
– AWS Cloud9
– Amazon Linux2
– t2.micro
– Cloud9を使う理由
– 標準でTerraformが備わっているため

### 作成環境の構成
![vpc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/779593/390bbb3b-e9a3-5222-faaf-aeed1647d73b.png)

### アウトライン
1. プロバイダー・locals変数
1. VPC
1. サブネット
1. インターネットゲートウェイ
1. ルートテーブル
1. NATゲートウェイ

### 1. プロバイダー・l

元記事を表示

CloudFront Functionsの始め方

# はじめに
CloudFront Functions はAWSエッジ環境で軽量なJavaScriptを実行できるサービスです。
同じ様なサービスに Lamda@Edge がありますが、CloudFront Functions の方が処理が高速で、利用費が安くなっています。(いくつか制約はありますが。)
この記事では CloudFront Functions の特徴から使い方について、ご紹介していきます。

#### こんな方におすすめ
– CloudFront Functions を初めて使う方
– すでに Lamda@Edge を利用している方

# CloudFront Functions の特徴
Lambda@Edge に比べ以下の特徴があります。いくつか制約がありますが、「呼び出し 1,000,000 件あたり 0.10 USD」と Lambda@Edge の利用料金の6分の1になっています。ですので、制約内で対応可能であれば積極的に CloudFront Functions を活用し、それ以外をLambda@Edge で対応すると良いかと思います。
(* Lambda@Ed

元記事を表示

AWS Client VPN with TrustLogin

# TrustLoginのSAML認証
「[トラスト・ログイン (TrustLogin)](https://trustlogin.com/)」はGMOグローバルサイン社が提供するIDaaSです。
2021年7月にSAMLレスポンスに署名する機能が追加されたためAWS Client VPNの認証に使用できるか試してみました。
なお、SAMLアプリテンプレートについては2021年8月4日時点で「順次登録を行なっておりますため、リリース時期は未定となっております。」と担当の方より情報をいただきました。

# AWS公式ドキュメント
公式にサポートされているSAMLベースのIdPはOktaとMicrosoft Azure Active Directoryですが、必要な情報はドキュメントに記載されていますのでその他のIdPでも使用できる可能性があります。

https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/client-authentication.html#federated-authentication

# Truns

元記事を表示

何となくわかった気になる週刊AWS – 2021/7/26週

## はじめに

お久しぶりです、なじむです。
先週に引き続き、AWS Japan さんがまとめている[週刊AWS](https://aws.amazon.com/jp/blogs/news/tag/%E9%80%B1%E5%88%8Aaws/)で確認した内容を自分のメモ用に残していこうと思います。三週間坊主にならないように…そして今回のアップデート内容、全然理解できず自分の知識の無さに絶望しています。。
今回は[7/26週](https://aws.amazon.com/jp/blogs/news/aws-weekly-20210726/)のアップデートです。

## 7/26(月)

### [Amazon S3 Access Points のエイリアスは、S3 バケット名を必要とするあらゆるアプリケーションでアクセスポイントを使いやすくするためのものです](https://aws.amazon.com/jp/about-aws/whats-new/2021/07/amazon-s3-access-points-aliases-allow-application-requires-

元記事を表示

AWS認定資格のオンライン受験(自宅)

## はじめに

前々から[SAA](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)(AWS認定 ソリューションアーキテクトアソシエイト)を受けよう受けようと思いつつ、なんの準備もせず日々過ごしていました。

ピアソンVUEのキャンペーンで2021年5月1日から2021年7月31日の間の受験だと、一回不合格になってももう一度無料で再受験できるというプロモーションが展開されていたのは認識していたがダラダラしており、忘れてたとういうかなんというか…気がつくと7/30日の晩。

で、7/31の早朝6時に起きて急遽AWS認定試験を受験しよう。ダメだったら無料再受験だ!と思い早朝6:30に申し込み、当日7/31の晩21:15からの最終時間の試験を受けることに。

リンク切れになる予感がするのでキャプチャも保存しておきます。また今度やらないかな。

https://pages.awscloud.com/Global_TrainCert_Japan_Online_Proctoringj

元記事を表示

TerraformでIAMユーザを一気に作る

## はじめに
– 業務でTerraformを使う機会があり、とことん躓いたので備忘録を残します
– 本稿では**TerraformでIAMユーザを一気に作る**手順を記録します
– 誤りの訂正・より良い方法のご助言、どしどしコメント頂ければ幸いです

### 参考とさせていただいた記事様
+ [Terraform+GPG で IAM User にログインパスワードを設定 – 外道父の匠](http://blog.father.gedow.net/2016/12/16/terraform-iam-user-password/)
+ [TerraformでIAMグループ・ユーザを作成する – Qiita](https://qiita.com/ldr/items/427f6cf7ed14f4187cd2)

### Terraform 実行環境
– AWS Cloud9
– Amazon Linux2
– t2.micro
– Cloud9を使う理由
– 標準でTerraformが備わっているため
– Cloud9の設定
– AWS managed tem

元記事を表示

【AWS】Secrets Manager でクレデンシャルを管理する

qiita への投稿を取得して twitter に投稿するプログラムを作ったのですが、 “access key“ や “token“ の管理に[AWS Secrets Manager](https://aws.amazon.com/jp/secrets-manager/)を使用したので、シークレットキーの作成から python での実装までを記載します。

## シークレットキーの作成

AWS CLI で Secrets Manager で管理するキーと値のペアを登録してみます。キーと値のペアは json ファイルに記載して、 cli 実行時に指定するようにします。

“`json:creds.json
{
“CONSUMER_KEY”: “xxx”,
“CONSUMER_SECRET”: “xxx”,
“ACCESS_TOKEN”: “xxx”,
“ACCESS_TOKEN_SECRET”: “xxx”,
“QIITA_TOKEN”: “xxx”
}
“`

“create-secret“ コマンドで secret を作成しま

元記事を表示

OTHERカテゴリの最新記事