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

AWS関連のことを調べてみた2023年01月08日
目次

Glue(JupterNotebook)でモジュールを使う

# はじめに

Jupyter Nootebookで開発できるようになったGlueがとても便利になったため、最近よく触っています。

今回はモジュールを使う方法について記事にしました。

– デフォルトで入っているモジュールは何か
– 入っていないモジュールを扱うにはどうすればいいのか
– インタラクティブセッションで(でも)扱う方法

# デフォルトで入っているモジュール

以下のコマンドで確認できます。
“`
!pip3 list
“`

numpyやpandasなど、よく使うものは入っています。

クリックで表示

“`
Package Version
——————– ———–
anyio 3.6.2
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
attrs 22.1.0
autovizwidget

元記事を表示

Terraformを使ってAWSのVPCをはじめとしたネットワークを構築しよう!

## 前提
– 東京リージョンを使用
– AWSを使用
– main.tfとvariables.tfを設定済み

上記のファイルをまだ作成していない方は下記の記事を参考にしてください

https://qiita.com/shun198/items/c13529253cea5b4f41d3

## 概要
今回はTerraformを使って
– VPC
– パブリックサブネットとプライベートサブネット
– IGW
– ルートテーブルおよびルーティングの設定
– Elastic IP
– NATゲートウェイ

を構築したいと思います
今回作成するインフラ構成は下記の図のようになります
![terraform-vpc.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625980/62055136-58cc-2ca6-8eec-c43e8fdc4f5f.png)

## はじめに
AWSにおけるネットワークの概要について知りたい方は以下の記事を参考にしてください

https://qiita.com/

元記事を表示

[AWS]初心者用学習サイトリンク

# [図解 AWSの仕組みとサービスがたった1日でよくわかる](https://www.sbcr.jp/product/4815612818/)

![図解 AWSの仕組みとサービスがたった1日でよくわかる](https://www.sbcr.jp/wp-content/uploads/2021/11/9784815612818-1-421×596.jpg)

ざっくりAWS全体を理解することができました。

以下、紹介されていた初心者学習サイトリンク

1. [AWS で最低限知っておきたい 10 のことシリーズ](https://aws.amazon.com/jp/events/aws-event-resource/beginner/)

1. [AWS 初心者向けハンズオン](https://aws.amazon.com/jp/events/aws-event-resource/hands-on/)

1. [AWS Skill Builder](https://explore.skillbuilder.aws/learn)

元記事を表示

Terraformにおけるmain.tfやtfstateファイルの作成および運用方法について

## 前提
– 東京リージョンを使用
– AWSを使用
– S3バケットとDynamoDBの作成方法について理解している

## 概要
今回はTerraformを使って
– main.tf
– 変数を格納するvariables.tf

の作成方法について解説したいと思います

コンテナ経由でTerraformを使用すると複数ブロジェクトで使用する際にバージョンによる違いを意識せずに済みます
こちらも記事も参考にしてみてください

https://qiita.com/shun198/items/09081dd299490f13ef03

## ディレクトリ構成
構成は以下の通りです
“`
├── main.tf
└── variables.tf
“`

– variables.tf
– main.tf

の順に作成していきましょう

## variables.tf
variables.tfに共通で使用する変数を記載していきます
“`variables.tf
# ——————————
# Variables
# —————-

元記事を表示

AWS DataSyncとAzure File Sync 比較 ~AWS DataSync構築事前準備編~

AWS DataSync(以下、DataSync)と Azure File Sync(以下、File Sync)シリーズの3本目の記事です。
1本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~共通点と相違点~](https://qiita.com/hidekko/items/9610ef551999f6ea1f37)
2本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~前提条件定義編~](https://qiita.com/hidekko/items/45eab57f6c6088eb1607)

本記事からいよいよ構築といきたいところですが、まずはDataSyncの事前準備からです。

またしてもめちゃくちゃめんどくさいです。
File Syncの事前準備と比べると多分DataSyncは倍くらいの労力がかかります。
大事な部分の設定値が公式ドキュメントにも掲載が無いので、**ホンマそういうとこやぞAWS!**って文句言いたくなりました。

# 事前準備内

元記事を表示

NATインスタンスをUbuntuで自作する

## はじめに

NATゲートウェイをプライベートで使うとなると、料金が少し高いなと思い、NATインスタンスをつくってみた。
調べてみると、AWS公式のNATインスタンスのAMIは、サポートが終了したAmazon Linuxをベースにしている様。

> https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_NAT_Instance.html
>
> NAT AMI は、2020 年 12 月 31 日に標準サポートが終了した Amazon Linux の最新バージョン 2018.03 に基づいて構築されています。

また、自作するのを調べてみた感じAmazon Linux 2でNATインスタンスを自作するものは多くあったが、UbuntuでNATインスタンスをつくるものはあまり多くなかった気がする。

UbuntuでNATインスタンスが動くところまではできたので記事として残す。
なお、検証したのはUbuntu 22.04。

## 手順

概ねAmazon Linux2でのNATインスタンスの作成と同じで、違うところは再起動

元記事を表示

EC2インスタンスの自動起動停止を、より柔軟にしてみた(Lambda)

# はじめに
こんにちは、はやぴー(@HayaP)です。
皆さん、サーバーの節約対策していますか?

クラウドを使うのであれば、なるべくサーバーを
効率的に使いたいものです。

そこで、今回は
EC2インスタンスの自動起動を、より柔軟に実装した
経験を記したいと思います。

## 対象読者
– サーバー代を節約したい。
– サーバー毎に起動、停止時間を柔軟にしたい。

この記事が、クライドネイティブな運用の参考になれればと願っています。

# 概要
## 実現方法
AWS公式記事や、技術ブログを見ていると
複数のやり方がありますが、主に下記だと思います。

– [インスタンススケジューラー(AWS ソリューションライブラリー)](https://aws.amazon.com/jp/solutions/implementations/instance-scheduler-on-aws/)
– System Managerを用いた方法
– Lambdaを用いた方法

今回は、Lambdaを用いて
より柔軟なサーバーの自動起動停止を実現したいと思います。

## 要件
タイトルにもありますが

元記事を表示

AWS初心者が3回目でやっとソリューションアーキテクト-アソシエイトに合格【5ヵ月】

## スペック
・基本的なIT用語はわかる
・ネットワークわからん(TCP/IPってなに?)
・EC2インスタンスの作り方だけ知ってる
・クラウドってなんかすごいらしいね
・資格はIパスのみ

## 使用した教材・使い方
### 動画
概要をつかむのに利用しました。全てUdemyです。参考書と並行して一番最初にやるべき。
下2つのうちのどちらかをやれば良いと思います。上2つはなくても良かったかな。
あまりのんびりやらず、早いとこ問題集を解く段階まで行くのをおすすめします。

[Amazon Web Services マスターコース VPC編](https://www.udemy.com/course/amazon-web-service-vpc/)
[Amazon Web Services マスターコース EC2編](https://www.udemy.com/course/amazon-web-service-ec2/)
→AWSに欠かせないサービスであるVPC、EC2についてそれぞれ詳しく解説されています。こちらは下2つのコースでも解説されているので受ける必要はなかったかなと思いま

元記事を表示

ロググループに保存されているログを定期的にS3にエクスポートしてみた。

# はじめに
こんにちは、山田です。
現在携わっている案件で、CloudWatchロググループに保存されているログを一定期間経過後に長期保管用に作成したS3バケットにエクスポートするコードを作成したので以下に記載していきます。
よろしくお願いいたします。
# 全体概要図
全体概要図は以下の通りです。
![](https://storage.googleapis.com/zenn-user-upload/e34fe2b9e3ac-20230107.png)
**①:ロググループ一覧とS3フォルダ一覧を比較します。
②:比較した結果S3フォルダに名前がないもの似関しては、新規でS3フォルダを作成します。
![](https://storage.googleapis.com/zenn-user-upload/f3cc42e21f43-20230107.png)
③:ロググループに保存されているログをS3にエクスポートします。**
# コード
以下が今回作成したコードは以下になります。
“`python
import boto3
import datetime
import time

de

元記事を表示

Amplifyで設定するAppSyncの証明書期限の更新方法

## 概要
Amplifyのチュートリアルでバックエンドの構築して数日経つとバックエンドとの通信ができなくなっていました。どうやら、Amplifyで設定するAppSyncの証明書の期限がデフォルトで7日間となっており、7日を過ぎるとAPIコールができないということが、この原因でした。なので、今回は証明書の更新方法を記載します。

## 手順
早速、AppSyncの証明書の期限更新手順を記載します。まず、Amplifyで設定したデフォルトのGraphQL(AppSync) APIキーの有効期限は7日間です。私は、DBから値が取って来れなくなっていたので、その原因を調べていたところ、APIコール時にUnauthorizedExceptionというエラーが返ってきていることに気がつきました。AWSマネージメントコンソールからAppSyncのAPIを確認しても証明書の期限が切れていることがわかるので確認してみてください。

#### 更新手順
以下のコマンドでAPIキーの証明書期限を更新できます。
コマンドを実行するディレクトリは、色々amplifyとかを設定したディレクトリです。
“`te

元記事を表示

Cloudflare R2で、ニアリアルタイムなAPIを劇的に安くする

# この記事について

#### 結論を 1 行で

Cloudflare R2 で API Gatewayを置き換えると、 Web サービスの開発が劇的に安くなるかもしれない

#### 対象読者

– AWS、特に S3 を知っている、または聞いたことがある
– 個人開発~やや小規模な Web・IoT サービスを開発している

#### 記事の内容を簡単に説明すると

– 2022 年 9 月に『AWS S3 互換のサービス』として Cloudflare の R2 が一般公開された
– できることと使い方は S3 とほぼ同じ、ただし料金体系が異なる

![img-r2-s3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/233180/ddd48fbb-754e-4cf1-41f0-b59f676b6b30.png)

– R2 は S3 互換だが、S3 らしい利用方法をしても安くならない
– ストレージの料金設定が 1 つしかなく、ログの保管用途だと高い
– S3 と同じ用途で使うなら、

元記事を表示

サービスロールとは

## AWSサービスロールとは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733779/6bc2966f-70bd-39db-cc59-cea89a5c56c6.png)
IAMロール新規作成画面で、信頼されたエンティティを
「AWSのサービス」を選択したIAMロールのこと。

※IAMロール=サービスロールと考えて問題ない。

元記事を表示

ELB(ALB,NLB,CLB)アクセスログを、CloudWatch Logsに出力させてみた(Lambda)

# はじめに
こんにちは、はやぴー(@HayaP)です。
日々のログ監視、皆さんはどうされていますか?

– とりあえず、ログをS3に出力している
– CloudWatchで見たいな、、と思いつつ諦めている

なんて人は、少なくないはずです。

そこで、今回は
ELBアクセスログを、CloudWatch Logsに出力した
経験を記したいと思います。

## 対象読者
– ログ監視設計者
– CloudWatch Logsに、ログを集めたい
– 毎回S3に、ログを見に行くのがしんどい

この記事が、クライドネイティブな運用の参考になれればと願っています。

# 概要
## ELB(ALB,NLB,CLB)アクセスログとは
ロードバランサーに送信されるリクエストの、詳細情報が記されているログです。

– リクエストを受け取った時刻
– クライアントの IP アドレス
– サーバーレスポンス
などの情報が含まれます。

https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balance

元記事を表示

初めてのAWS-備忘録-

# AWSを初めてつかってみたので、便利な情報を備忘録でまとめる

随時更新中

## ルートユーザとIAMユーザの違い
ルートユーザとIAMユーザの使い分けは、必須と聞いたが、違いがよくわかってなかったので、調べてざっくりと図示してみた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407942/46ad5e9f-14b9-78d2-b24e-fc4c209501a5.png)

## リンク集

– [リージョン一覧](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
 みんな使ってる東京は、**ap-northeast-1**
– [AWS環境の設定 入門ガイド](https://aws.amazon.com/jp/getting-started/guides/setup-environment/)
– Cloud9の作成コマン

元記事を表示

AWSのcloudFormaitonでのkinesis firehose作成でエラーログが出力されないとき

cloudformationでkinesis firehoseのエラーログを出力するよう設定したがcloud watchにログが出力されない問題を調査した。

## 結論
cloud watchのlogGroupだけじゃなく、logStreamも作成しなければならなかった。
“`yaml: cloudwatch
Resources:
FirehoseErrLogGroup:
Type: AWS::Logs::LogGroup
Properties:
LogGroupName: “aws/kinesisfirehose/errLogGroup”
FirehoseErrLogStream:
Type: AWS::Logs::LogStream
Properties:
LogGroupName: !Ref FirehoseErrLogGroup
LogStreamName: “ErrorLogStream”
“`

firehoseのエラ

元記事を表示

【AWS/お名前.com】お名前.comでドメイン取得&AWSでSSL証明書発行し、既存ELBに紐づける方法(新規ELBパターン・サブドメイン発行パターンも)

# お名前.comでドメインを取得し、AWSでSSL証明書を発行、AWSの既存ELBで使用する方法

## 前提
* サーバーは顧客Aが利用しているステージング環境を利用する
* 「HTTPS:443ポート」からのトラフィックを受けるELBが既にある(SSL登録済)
* ない場合は【補足1】に新規作成するパターンを記載しています
* 参考記事:[お名前.com管理のドメインをAWSのALBで使用する](https://shigeo-t.hatenablog.com/entry/2021/07/09/050000)

## 実施内容
1. お名前.com:ドメイン取得
2. AWS(ACM):SSL証明書取得
3. お名前.com:DNSレコード設定
4. AWS(ELB):既存ELBへのSSL追加

## 設定手順
### 1. ドメイン取得手順
* お名前.comでドメイン取得
* レンタルサーバーとのパックになっている契約もあります。今回は前提で記載したように顧客Aのサーバーを利用するので、ドメインのみの取得になりますが、サーバーも一緒に契約する場合は「[ドメインと

元記事を表示

AWS CLIで現在のAWSアカウントIDを取得する

# 記事の目的
いろんなAWSアカウントの環境をプロファイルを切り替えながら操作していて、うっかり想定外の環境を操作していたなんてことが無いように、現在操作対象となっているAWSアカウントをこのコマンドでマメに確認する

# 前提
AWS CLIバージョン `1.10.18` 以降が使えること

# コマンド

“`shell:shell
aws sts get-caller-identity
“`

“`json:実行結果の例
{
“UserId”: “XXXXXXXXXXXXXXXXXXXXXX”,
“Account”: “123456789012”,
“Arn”: “arn:aws:iam::123456789012:user/hoge”
}
“`

## アカウントIDのみを取得したい場合
“`shell:shell
aws sts get-caller-identity –query ‘Account’ –output text
“`

“`text:実行結果の例
123456789012
“`

元記事を表示

ECR のレジストリとリポジトリの違い

# レジストリとリポジトリって何が違うの?
AWS の学習を進めていて ECR についての情報を集めていると出てくる単語
* レジストリ
* リポジトリ

最初は同じ意味なのかと、表記がブレているのかと思っていたが違った。

https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/what-is-ecr.html

上記のドキュメントを見ると以下のように説明がある

> レジストリ
Amazon ECR プライベートレジストリは各 AWS アカウントに 1 つ提供され、レジストリ内に 1 つ、または複数のイメージリポジトリを作成して、それらにイメージを保存することができます。

> リポジトリ
Amazon ECR リポジトリには、Docker イメージ、Open Container Initiative (OCI) イメージ、および OCI 互換アーティファクトが含まれます。

つまりこんな感じ

AWS アカウント
└ レジストリ (1個)
  └ リポジトリ (複数)
    └ イメージ (複数)

ちなみにレジ

元記事を表示

AWS SAMでJavaScript v3のLambdaをデプロイする(Node16以下)

この記事は Lambda の Runtime が Node16 以下で`SDK for JavaScript v3`を AWS SAM でデプロイする方法について記述しています。

:::note info
Node18以降はv3に対応しているので、v3で書かれたソースだけをデプロイしても動きます。代わりに、Node18以降でv2で書いている場合はv2のSDKをソースに含めてデプロイする必要があります。
:::

プロジェクトを`sam init`で作成した場合、ルートパスでデプロイすると`template.yaml`や`__tests__`などのファイルもアップロードされてしまい見た目が悪いです。そのため`template.yaml`で`CodeUri`を指定すると思います。

“`yaml:template.yaml
SampleFanction:
Type: AWS::Serverless::Function
CodeUri: src/
“`

このようにすると、v3のSDKが`sam build`の対象に含まれなってしまいます。この場合は`package

元記事を表示

re:Invent 2022 サーバーレス関連の新サービス、アップデートまとめ

# re:Invent 2022で発表されたサーバーレス関連のアップデートをまとめました
## AWS Lambda SnapStart
https://aws.amazon.com/jp/blogs/news/new-accelerate-your-lambda-functions-with-lambda-snapstart/
– Lambda ファンクションのコールドスタート時のレイテンシを大幅に短縮する新機能
– Corretto ( ランタイムのファンクションをサポートし、最大 90% のレイテンシを削減
– Firecracker のスナップショット機能と、その他いくつかの機能改善によって実現。実行環境
の初期化終了時点のスナップショットを使うことで、初期化時間を削減
– 東京を始めはじめ 9 リージョンで一般利用開始に

### 試してみました
上記のブログの通り、[springboot2のサンプルアプリケーション](https://github.com/awslabs/aws-serverless-java-container/tree/main/samples

元記事を表示

OTHERカテゴリの最新記事