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

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

Amazon VPCを「これでもか!」というくらい丁寧に解説

# はじめに
**AWS上で仮想ネットワークを構築**できる**Amazon VPC**は、多くのAWSサービスが動作する基盤となる、**非常に重要かつ多機能**なサービスです。

多機能ゆえに[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html)やネット上の記事も断片的な機能の解説が多く、**全体像を把握することが難しい**サービスとも言えます。

VPCの機能の多さ

そこで本記事は**VPCの全体像を理解できるよう、各機能のつながりや動作原理を丁寧に解説し**、

「**VPC界の百科事典**」 (あくまで例えですが…笑)

VPC界の百科事典

元記事を表示

AthenaでMicrosoft365の監査ログを見る

# はじめに
前回、Microsoft365のログをS3に保存するLambdaを記事にしました。

https://qiita.com/a_b_/items/84d6ae3cf8a21b8b332c

今回は、それらファイル群をAthenaで見てみました。

# ファイルの形式
今回用いるファイルの形式は以下のページに倣って、
– JSON文字列
– 1データ1行
– 改行がデータの区切り

としています。

https://docs.aws.amazon.com/ja_jp/athena/latest/ug/json-serde.html

:::note info
当初は前回のログ抽出部分で`Export-Csv`を使ってCSV出力していました。
ところが`auditdata`カラムがJSON文字列であり、その中で使われている特殊文字のエスケープがAthenaと相性が悪く、検索できないテーブルになってしまったので、`ConvertTo-Json`を使ったJSON文字列としています。
:::

ファイルの場所はすべて`s3://<<バケット名>>/sampleathena/nopa

元記事を表示

仮想化と分散処理

# 仮想化とは
クラウドを支える上で重要な技術が**仮想化**
コンピューターが何か仕事をするときは、物理的なメモリやハードディスク、OSなどの様々な部品が必要
これらの部品をソフトウェアで置き換えるものが**仮想化技術**。
ex)
仮想サーバーは、ひとつの物理サーバー上に、複数の異なるサーバーを仮想的に作成し、本来サーバーに必要な物理的な部品を仮想的に作成する
ネットワークも同様に、一つの物理的な配線を仮想的に分割し、別のネットワークと統合したりして、その接続を瞬時に瞬時に変えることができる。

## 仮想化による複製
仮想サーバーに割り当てるメモリやストレージは、自由に増減できる。そのためメモリやストレージは自由に性能を調整できる。
性能を限界に引き上げても、それ以上に負荷がかかった場合は、サーバーの台数を増やさなければならない。
こうした作業も仮想化は有効
* 物理的なサーバーの場合
**台数を増やすためには、サーバー(パソコン)自体が何台も必要**
* 仮想的なサーバーの場合
**一台の物理マシンに何台も仮想マシンを作成できる**
# 分散処理とロードバランサ

元記事を表示

クラウドとオンプレミス

# クラウドとは
**いつでもどこでもインターネット回線を介してアクセスできる環境**
ex)Office 365、音楽の配信サービス、ストレージサービス、画像の保存サービス
# インフラを丸ごと借りる「クラウドコンピューティング」
クラウドの中でもサーバーやネットワークなどインフラ一式を貸してくれるサービス
ex)AWS,Microsoft Azure,Google Cloud Platform
このようなクラウド上に用意されたインプラを利用するサービスや利用することは**クラウドコンピューティング**という
# オンプレミスとレンタル
## オンプレミス
自社でサーバーなどを用意することを**オンプレミス**という
データセンターにサーバーを置いても、所有権が自社にあるのでオンプレミスと呼ぶ
サーバーのみを借りているものはレンタルサーバーと呼び、ネットワークや場所などを借りている場合はオンプレミスと呼ぶ傾向にある

**オンプレミスのメリット**
自社で自由に設計し・運用できること
ただ、その分サーバー構成の変更などが必須となり、スキルのある技術者も必要になる

## オンプレミス

元記事を表示

AWSの導入事例

# AWSの導入事例
* Webサイト・コンテンツ配信
* Web・モバイルアプリケーション
* 基幹・業務システム
* 分析
* ビックデータ活用
* バックアップ・災害対策
* スタートアップ企業
* 政府・教育機関
* エンタープライズ企業
* 金融・証券サービス
など**様々な場面でAWSは活用されてる**
# AWSサービス活用例
## 小規模なブログサイト
小規模なブログサイトはWebサーバーとDBサーバーで構成する
1. EC2インスタンス(サーバー)×1
Webサーバーとして使用。WebサーバーにWordPressのソフトウェアをインストールする
1. RDSインスタンス(DBサーバー)×1
通常はマルチAZ(物理的に独立した、複数の拠点で運用すること)にして冗長構成をとる。WordPressに必要なDBサーバーとして利用
※VPC(仮想ネットワーク)内にEC2とRDSを配置する
## 中規模なECサイト
Webサーバーを2台構成で負荷分散し、商品登録サーバー、DBサーバー、画像・動画サーバーを別に構成する
1. EC2インスタンス(サーバー)×3

元記事を表示

aws opensearch describe-reserved-instance-offerings コマンドで条件を指定して結果を取得する

# はじめに
`aws opensearch describe-reserved-instance-offerings` コマンドは、AWS OpenSearch Serviceで利用可能なリザーブドインスタンスの情報を取得するためのコマンドです。購入したいリザーブドインスタンスのReservedInstanceOfferingIdを取得し、それを `aws opensearch purchase-reserved-instance-offering` コマンドの `–reserved-instance-offering-id` オプションに渡すことで、リザーブドインスタンスを購入することができます。

しかし、一度に取得可能な件数は最大100件、`–max-results`オプションで指定可能な件数も最大100件です。それ以降はページ分割されているため、全件を取得したい、または2ページ目以降にある結果を取得するためには、 出力内容に含まれる`NextToken`を使用しページ遷移しながら情報を取得する必要があります。

加えて、`aws opensearch describe-r

元記事を表示

AWS: 簡単なLAMPサーバーでWordPressを動かすまで(Intel Mac) 〜Apacheをインストール〜

# はじめに
AWSハンズオンの学習記録です。
2022年8月の情報をもとに投稿します。

ゴールは、EC2を使って簡易的な仮想サーバーを作り、ブログソフトであるWordPressをインストールします。
また、WordPressを外部公開できることを想定しています。

**今回はWebサーバーである「Apache」のインストール方法を投稿します。**

尚、ハンズオンがメインのため、各サービスの概要や用語の解説は極力省かせていただきます。

### ゴール
仮想サーバーでWordPressを使える状態にします

### ゴールまでの流れ

[1.VPCとサブネットを作成](https://qiita.com/holySh10/items/749b98e320fc71e6739e)
[2.EC2を作成/セキュリティグループの設定](https://qiita.com/holySh10/items/90a3501d819f1ae2c7cd)
[3.EC2へSSH接続](https://qiita.com/holySh10/items/689f4c83cd18db128983)

:::no

元記事を表示

Systems Manager 触ってみた。

## はじめに
SAAまで取得はしてみたものの触ったことないサービスが多くあり
色々触って知見を深めたいと思い、今回はSystems Manager(以下SSM)を触ってみました。
## 対象者
この記事は下記のような人を対象にしています。

– 駆け出しエンジニア
– AWS初学者
– SSMについて触ったことない方・知見がない方

## SSMとは
EC2やオンプレミスなどのサーバの運用の自動化や効率化、可視化なども行えるサービスです。
AWSサービスのEC2だけでなくオンプレミスにも使えます。

## 事前知識
SSMで利用するインスタンスのことを【マネージドインスタンス】と呼びます。
マネージドインスタンスにするには以下の条件があります。
・インスタンスに SSM Agent が導入されていること
・インスタンスから SSM API への経路 ( HTTPS のアウトバウンドトラフィック) が確保されていること
・インスタンスに適切な IAM Role が付与されていること

## 手順
①ロールの作成
②EC2インスタンス(マネージドインスタンス)の作成
③フリートマネージャ

元記事を表示

AWS SDK のリトライモード

AWS SDK によるリトライモードには legacy と standard そして試験的ステータスである adaptive があり、デフォルトで何も指定しない場合は legacy になる。リトライをあまり意識せずに使うことも多いと思うが、レガシーと名のついたモードを使い続けるのも抵抗があるので、基本的には指定すべきと思われる。これらの違いについて整理してみた。

## 概要

参考) [Retry behavior – AWS SDKs and Tools](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html)

各モードの概要は以下のとおり。

– legacy : デフォルのリトライ。言語ごとに挙動は異なる。
– standard : 標準的なリトライルール。標準的なエラーセットとリトライクオータをサポートする。デフォルト(未指定時)の最大試行回数は 3 回。
– adaptive (試験的) : standard モードの機能に加え、クライアントサイドのスロットリングをおこなう

元記事を表示

未経験エンジニアがAWSアソシエイト勉強でつまづいた内容 part5

DynamoDB特徴

・インデックスを持ったテーブルを構築することでスループットを向上させることができる

・3つのAZにテーブルを保持することにより、信頼性を向上させている

Dynamo DBでは、テーブル内のデータに高速にアクセスできるよう、様々なインデックス(書籍の索引のようにデータを一意に特定する仕組み)を作成することができる
インデックスを効果的に作成することはスループットの向上につながり、コストダウンの効果も期待できる

Dynamo DBでは自動的に3つのAZにデータが保存される
単一障害点(SPOF:Single Point Of Failure:ある箇所が故障すると、システム全体が機能不全になる箇所)を持たず、高い信頼性を持つ

AWS Organizationsで実現できること

複数のAWSアカウントをまとめて管理する機能に「AWS Organizations」がある
AWS Organizationsでは、管理するAWSアカウントに対して権限を設定したり、管理するAWSアカウントへの請求情報をひとまとめにすることができる

元記事を表示

AWSで自分用のLINE Botを作った①

# はじめに
傘を持たずに出掛けて、午後から雨が降ってしまって困ることありますよね。
天気予報を朝見れば良いのでしょうが、少し面倒です。

というわけで、AWSの無料枠を使って自分への通知用のLINE Botを作ろうと思いました。
朝、天気予報サイトのデータを自動でスクレイピングして、予報が雨なら「今日は傘が必要です」というようなメッセージが配信されるようなイメージです。他にも電車の遅延状況の通知もできたら便利そうです。(既にこのようなサービスはありそうですが。。)

## 今回の内容
AWSもLine APIもそこまで触ったことがないので、まずは簡単な部分から実装を目指します。
今回の記事では図のようなAWS環境を構築しました。
2つあるLambdaの機能はそれぞれ以下のとおりです。使用言語はPythonです。
– 返信用(reply_message関数):単純なオウム返しの機能
– 配信用(push_message関数):定型文の配信

![system_conf-aws.drawio.png](https://qiita-image-store.s3.ap-northeast-1

元記事を表示

M1 Macのローカルでjest-dynamodbを使ってテストする

JestでDynamoDBのテストする方法を調べると、Jest公式のドキュメントの [Using with DynamoDB](https://jestjs.io/docs/dynamodb) が見つかります。「めっちゃ便利!」と思って進めたのですが、M1 Macの場合はちょっと一工夫必要だったので、その問題と解決策を書こうと思います。

## 問題

ドキュメント通りに進めて、jestを実行すると以下のようなエラーが発生します。

“`sh
重大: [sqlite] SQLiteQueue[]: error running job queue
com.almworks.sqlite4java.SQLiteException: [-91] cannot load library: java.lang.UnsatisfiedLinkError: Can’t load library: /private/var/folders/5c/h19nr7xj51l7rgbj889mc1y00000gn/T/dynamodb-local/DynamoDBLocal_lib/libsqlite4ja

元記事を表示

AWS Systems Manager の Fleet Manager で EC2 インスタンスのパフォーマンスカウンターを見る

[AWS エバンジェリストシリーズ AWSの基礎を学ぼう](https://awsbasics.connpass.com/) の [特別編 Systems Managerその1](https://awsbasics.connpass.com/event/253403/)に参加し、AWS Systems Manager (以下、SSM)で Fleet Manager (以下、フリートマネージャー)を触った。

https://awsbasics.connpass.com/event/253403/

セッションマネージャーは結構触ったことがあるが、フリートマネージャーについてはあまり知らなかったので、別途調査したことと、ハンズオン後半で躓いたEC2 インスタンスのパフォーマンスカウンター閲覧 (に必要な KMS でのセッション暗号化)について記載する。

# 1.Fleet とは(自己解釈)
[Weblio 英和辞典さん](https://ejje.weblio.jp/content/fleet)によると

**fleet**
【名詞】艦隊、海軍、船団、隊、団
【形容詞】速い,快速の.

元記事を表示

AWS: 簡単なLAMPサーバーでWordPressを動かすまで(Intel Mac) 〜EC2へSSH接続〜

# はじめに
AWSハンズオンの学習記録です。
2022年8月の情報をもとに投稿します。

ゴールは、EC2を使って簡易的な仮想サーバーを作り、ブログソフトであるWordPressをインストールします。
また、WordPressを外部公開できることを想定しています。

**今回はEC2へSSH接続し、ログインする方法を投稿します。**
*今回の投稿は特にmacOS向けとなっておりますので、予めご了承頂ければ幸いです。*

尚、ハンズオンがメインのため、各サービスの概要や用語の解説は極力省かせていただきます。

### ゴール
仮想サーバーでWordPressを使える状態にします

### ゴールまでの流れ

[1.VPCとサブネットを作成](https://qiita.com/holySh10/items/749b98e320fc71e6739e)
[2.EC2を作成/セキュリティグループの設定](https://qiita.com/holySh10/items/90a3501d819f1ae2c7cd)

:::note info
3.EC2へSSH接続(本記事ではここを解説します)

元記事を表示

AWS認定ソリューションアーキテクトプロフェッショナルを2年半ぶりに更新したので勉強方法まとめる

AWS認定ソリューションアーキテクトプロフェッショナルを更新したので、勉強方法を備忘がてら書いていこうと思います。
学習した際のメモは別途公開しますね。

# 前提
AWSメインのクラウド基盤のエンジニア。最近Top Engineers(Service)、ALL Certificate Engineersに認定されました。
AWSはSAP on AWS以外の資格取得済み、Azure Solution Architect Expert取得済み。
Google Cloud Professional Cloud Architect取得済み。

勉強期間:1ヶ月くらい

# 問題の解き方
これはどの試験にも共通するのですが、サンプル問題や問題集などをみるとわかるのですが、問題文に書いてあるキーワードから、最も適切な選択肢を選ぶことが要求されます。
例えば、「コストを最重視する」、「可用性が重要」、「運用が楽なもの」等々
どれも実現できそうな選択肢の中から、問題で求められる選択肢を素早く選びます。キーとなる言葉をしっかり押さえることが大事です。

# 試験までに何をやるか
## 試験ガイドを読む

元記事を表示

AWS はじめての継続的デリバリーパイプライン(CICD)やってみた

# はじめに
## 本稿の内容
**CI/CD** (Continuous Integration/Continuous Delivery)で開発できる環境を整備しよう!というToBeを掲げても、いきなり理想的なパイプラインを作るは難しいもの。

そこで、今回は個人のAWSアカウントを利用して**CI/CD**を実現するパイプラインの中でも、『最小構成』といえるような簡易なパイプラインの一例を実装してみました。

これを土台に実際に作り学習やイメージを膨らませたり、自分の必要なサービスの追加や更新を施したりして、ToBeとなる**CI/CD**構築のベースとしていければと思います。

## 参考
以下のAWS公式ハンズオンをベースとしています。この内容をベースにしつつGithubでなくCodeCommitを使うなど若干の変更を加えています。

[継続的デリバリーパイプラインを作成する](https://aws.amazon.com/jp/getting-started/hands-on/create-continuous-delivery-pipeline/)

## 前提
– A

元記事を表示

S3 バッチオペレーション 個人的概要

 S3バッチオペレーションについて使い方や使う場合がわからなかったので調べました。
自分の気になった点のみ記載しているので詳しく知りたい方は公式ドキュメント及び記事内のURLを参照。

[目次]
・できること
・設定方法
・料金
・その他
・個人的Q&A

[用語]
・ジョブ
 S3バッチの基本単位。どのオブジェクトをバッチ処理するか、処理の方法などの設定が含まれている。
・オペレーション
 処理の方法。Lambdaを呼び出すのかタグを置き換えるのか、削除するのか等。

# できること
 オブジェクトやタグの処理を一括して処理したい時に使う。大量のオブジェクトも素早く処理。
 具体的には

1. Lambda関数の呼び出し
2. 全てのオブジェクトタグを置換する
3. 全てのオブジェクトタグを削除する
4. ACLを置換する
5. オブジェクトの復元
6. オブジェクトロックの保持
7. オブジェクトロックのリーガルホールド

 それぞれのオペレーションには個別のIAMロールやアクセス許可が必要となります。具体的にはLambdaを呼び出す場合にはLambdaに”s3:GetObjec

元記事を表示

LightSail上に構築したWordPressのSSL証明書を更新する

## 役に立つ対象の方
+ LightSail上にWordPressを構築した方でSSLの証明書が切れてしまった方

## できるようになること
+ SSLの証明書を更新できるようになる

## SSL更新の手順

1.LightSailの管理画面からターミナルを開く
*黄色にハイライトされたアイコンから開けます。
![スクリーンショット 2022-08-06 015858.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/442933/baf3fd6b-130e-b7c3-91a0-74da5389d256.png)

2.下記のコマンドを入力する
~~~
sudo /opt/bitnami/bncert-tool
~~~
3.下記の質問で自身のサイトのドメインを入力する。
*例えば”qiita.com”など設定しているドメインを入力する。
~~~
// 有効なドメイン名を設定して下さい。
Please provide a valid space-separated list of domains for

元記事を表示

【AWS】Auroraエンドポイント

# エンドポイントって??

>クラスターエンドポイント: ロールがWriterのインスタンスへアクセスするエンドポイント
読み込みエンドポイント: ロールがReaderのインスタンスへアクセスするエンドポイント
インスタンスエンドポイント: 特定のインスタンスへアクセスするエンドポイント

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/8561b641-5def-521c-5549-15cae0e5f253.png)
画像引用:[Amazon Auroraで組み合わせ自由なエンドポイントが設定可能になりました](https://dev.classmethod.jp/articles/amazon-aurora-custom-endpoints/)

元記事を表示

【AWS】S3のアクセス設定(ACL、パブリックアクセス)

# S3のアクセス管理
S3のバケットを公開したい。。と言う際にはACLとバケットポリシーの設定を行えば可能。
ただGUI上でちょちょっと設定が終わってしまうため、誤ってS3バケットが公開されてしまう状態となることが散見されていた。[こちらの記事](https://dev.classmethod.jp/articles/s3-block-public-access/)に詳細が記載されている。とても参考になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/e9c8b4c0-f521-206e-cc5b-bad67a291ba9.png)
画像引用:[【アップデート】S3でACLを無効化できるようになりました #reinvent](https://dev.classmethod.jp/articles/s3-bucket-owner-enforced/)

ACLに関してはバケットとオブジェクト単位どちらでも設定可能。**ただしオブジェクト単位の設定が優先されて

元記事を表示

OTHERカテゴリの最新記事