- 1. AWS データレイクハンズオン – Lab6 –
- 2. GitHubにプッシュすると、CodeCommitへ自動で同期させる方法
- 3. AWS License Manager を利用して SQLServerライセンス変更を行った
- 4. AWS 上で Tanzu Community Edition をデプロイ、Contour と AWS Load Balancer Controller による Ingress の実現
- 5. DynamoDBデータ型記述子付きJSONをPOJOに変換する方法
- 6. AWSでハニーポット(T-Pot 20.06.2)を構築する
- 7. EC2-Classic リソース調査
- 8. 【EC2でdocker compose upするときにメモリエラーが出たのでswap領域を確保して対応した】
- 9. Amazon SESで受信したメールをLINE公式アカウント配信したときのハマりどころ
- 10. DatabricksにおけるAmazon S3の取り扱い
- 11. LightsailにWebシステムを構築する手順
- 12. (初心者)AWS EduKitでLチカを実行するまで
- 13. AWS Cloud Practitioner について勉強してわからないことをまとめた ~モジュール1~
- 14. AWS上にEC2でRayクラスターを構築し、クラスター上でJupyter notebookを利用
- 15. Lambda を使用して、Amazon EC2 インスタンスを一定の間隔で停止および起動するにはどうすればよいですか?
- 16. VPCサンプルシステムを構築してみた
- 17. AWS Amplify フレームワークの使い方Part18〜GraphQL Transform v2 @hasOne/@hasMany/@belongsTo/@manyToMany (旧@ connection)編〜
- 18. 【自学用】01.AWSのしくみ
- 19. 昔使ったAWSから謎の請求が止まらない人へ
- 20. DatabricksワークスペースへのAWS PrivateLinkとカスタムDNSの適用
AWS データレイクハンズオン – Lab6 –
# 背景
データ分析を勉強する一環で、データレイクハンズオンに取り組む。
(そろそろ課金が大きくなってきたので、ひと段落したらシステムはばらす予定)# ハンズオンに取り組む
## Lab6: サーバーレスでデータの ETL 処理
主に使用するサービス:
– Glue
– Athena### Section1: Glue の ETL 処理
#### Step1: IAM ロールにポリシーを追加
#### Step2: Glue Crawler を使ったスキーマの自動生成
Lab4 実施済みのため、スキップ。
#### Step3: Glue で ETL ジョブ作成と実行
#### Step4: Glue クローラの作成と実行
#### Step5: Athena でクエリ比較
#### Step6: Glue ジョブで Parquet とパーティショニングを実行
#### Step7: Athena でクエリ比較
これで、一通りのハンズオンが終了したわけだが・・・。
– AWS はやたらお金がかかる (特に EC2, OpenSearch)
– 個人開
GitHubにプッシュすると、CodeCommitへ自動で同期させる方法
#はじめに
GitHubにプッシュするとCodecommitへ自動的に反映させる方法をまとめました。#流れ
1. IAMユーザー作成
– SSHキー作成
– ローカルのconfigの設定
– codecommitリポジトリ作成し、クローンする
– Githubでの設定
– GitHubのActionでミラーリング設定
– GitHubでアクセストークンを作成
– Githubにpushし、ミラーリングの確認#IAMユーザー作成
下記3つのポリシーをアタッチしたIAMユーザーを作成します。– IAMUserSSHKeys
– IAMReadOnlyAccess
– AWSCodeCommitFullAccess#SSHキー作成
ローカルでSSHキーを作成します。“`
$ cd ~/.ssh$ ssh-keygen -t rsa -b 4096 -m PEM -C
Generating public/private rsa key pair.
Enter file in which to save the key (/Users
AWS License Manager を利用して SQLServerライセンス変更を行った
テナント属性、BYOL、ライセンス込みなどいろいろ制限ありますが、
今回はSQLServerのBYOLからライセンス込みに実施したことを記載します。まずは、前提条件があります。
①AWS SSMを利用できること。(SSMロールが必要です)
②License Manager にオンボーディングする
詳細は以下リンクを参照ください。https://docs.aws.amazon.com/ja_jp/license-manager/latest/userguide/conversion-prerequisites.html
アクセスキーを発行して、SQLのBYOLからラインセス込みに変換するコマンドを実行するだけ変換ができます。便利ですね、
aws license-manager create-license-conversion-task-for-resource \
–resource-arn\
–source-license-context UsageOperation=RunInstances:0800 \
–d
AWS 上で Tanzu Community Edition をデプロイ、Contour と AWS Load Balancer Controller による Ingress の実現
# Chapter I: AWS 上で Tanzu Community Edition のデプロイ
デプロイ方法はこちら VMware JP Blog に記載があるため、詳細を省きます。
[TKG 1.4.0 on AWS の構築][link-01]
[link-01]:https://blogs.vmware.com/vmware-japan/2021/10/tkg-1-4-0-on-aws.htmlManagement Cluster と Workload Cluster 構成後の AWS アーキテクチャは下記の図になります。
![TUNA01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2385161/e97ca1b1-51b3-94d3-e994-04cfd94a4bab.jpeg)2つの ELB(Classic)は自動的に作られ、Control Plane の API サーバアクセスとして構成されます。
# Chapter I.5 TKG on AWS の LB Service の
DynamoDBデータ型記述子付きJSONをPOJOに変換する方法
[ref_low]:https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html
[ref_type]:https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html#Programming.LowLevelAPI.DataTypeDescriptors
[ref_capture]:https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/streamsmain.html
[ref_mapper]:https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/DynamoDBMapper.html## ユースケース
[Amazon DynamoDB
AWSでハニーポット(T-Pot 20.06.2)を構築する
#はじめに
T-PotをAWS上に構築するにあたり、「このサイトを参考にすれば全て完結できる」というサイトを見つけることができなかったので備忘録ということでインスタンス作成からT-Pot構築をまとめておこうと思います。#インスタンス作成
T-PotをAWS上に構築していくのでまずはインスタンスを作成する必要があります。
T-Pot 20.06.2ではAmazon linuxやUbuntuではインストールすることが出来ないので、Debian 10を選択する必要があります。
![スクリーンショット 2022-01-05 18.04.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2350343/5d9444d4-c69c-5739-e384-f5d2a197653a.png)AWSのリージョンについてですが、私はオレゴンにしました。
オレゴンを選んだ理由としては、月に使用する料金を5,000~10,000円と決めていたので、少しでもインスタンスの使用料金を落として稼働時間を長く取りたかったからで
EC2-Classic リソース調査
# 経緯
EC2-Classicのサービスが2022年8月15日で終了する。
EC2-Classicが有効なアカウントにて、まだEC2-Classicのサービスを使っている場合はVPCへ移行が必要となる。
それにあたり、現在の環境でEC2-Classicのサービスを使用していないか調査を行う。[EC2-Classic Networking は販売終了になります — 準備方法はこちら](https://aws.amazon.com/jp/blogs/news/ec2-classic-is-retiring-heres-how-to-prepare/)
## EC2-Classic 確認ツール
[github.com](https://github.com/aws-samples/ec2-classic-resource-finder)
Classic-Resource-Finder.sh## 確認手順
* インスタンス作成(ロール等でのIAMパーミッションが必要)
* 作成したインスタンスで以下のコマンドを実行し、CLIとJQとGitをインストールする
* Gitからスクリ
【EC2でdocker compose upするときにメモリエラーが出たのでswap領域を確保して対応した】
コンテナBuild時にメモリエラーによって、プロセスがkillされてしまうので、なんとかしようと思ってswap領域を確保することにしました。
### swap領域とはなにか?
ハードディスクの一部。メモリが不足した際にメモリの内容を一時的に避難させる場所。
メモリの上限以上の処理をできるようにするために存在する。
## 1,AMIにはswap領域が含まれない
t3.micro インスタンスを使用しているが `free -m`で確認してもswap領域はない。
デフォルトでswap領域が確保されているインスタンスもあるが今回利用するt3.microにはなかった
![BCF09D1F-3AB3-43AE-A221-CF976B619EF5_4_5005_c.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530710/d833b0a7-2772-c7a5-b0df-4ccd08fcd1b2.jpeg)## 2,swap領域の確保はEBSでやるかインスタンスストアか?
https://dev.c
Amazon SESで受信したメールをLINE公式アカウント配信したときのハマりどころ
基本はこのQiitaの手順通りですが、自分がハマった点をメモしときます。
https://qiita.com/Kakimoty_Field/items/4485a4e76d677d85ade0
## ドメインとアドレスの認証
上記QiitaではRoute 53経由でドメイン認証していたが、自分はムームードメインを使ってたので少しやり方がことなった。基本はTXTレコードでドメイン認証する(ムームードメインの場合はちゃんとムームーDNSを使う設定になってるか確認すること)か、DKIMのためのCNAMEレコードで認証する。
送信で使うことはないが、メールアドレスの追加も一応した。ただし「MAIL FROM DOMAIN」はメール送信したときに送信元アドレスを`amazonses.com`じゃなく自分のドメインにしたいときに使うものだから追加しなくていい。
ただMXレコードは知らぬ間に以下を設定していた。。
Amazon SESでムームードメインのドメインを認証し、受信確認もできた
リージョンがus-east-1の場合MXレコードは以下のようだけど、どこにこのレコード記載があったのか忘れた。。https://t.co/NArZejtDot
ハマりどころは受信ルールがEnableだけでは足りず、Activeにしないといけなかったこと
— tak (@maztak_) January 5, 2022
## S3バケットとLamdaのRegionが同じか
DatabricksにおけるAmazon S3の取り扱い
[Amazon S3 \| Databricks on AWS](https://docs.databricks.com/data/data-sources/aws/amazon-s3.html#mount-aws-s3) [2021/9/3時点]の翻訳です。
:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::[Amazon S3](https://aws.amazon.com/s3/)は、大量のテキストやバイナリーデータのような非構造化データを格納するためのサービスです。
本書では、AWS S3バケットに対するDBFS(Databricksファイルシステム)を用いたバケットのマウント、あるいはAPIを用いて直接アクセスする方法を説明します。
> **重要!**
Databricksランタイム7.3 LTS以降では、アップグレードされたバージョンのS3コネクターを使用します。以下の変更が既存コードに影響を及ぼす場合があります。> – S3Aファイルシステムは`FileSystem.close
LightsailにWebシステムを構築する手順
Exmentをさくらインターネット上に構築していたんですが、動作がどうも重かったのでAWSに移行することにしました。
その移行手順をメモしておきたいと思います。# 全体の流れ
1. AWSでLightsailコンソールにログイン
1. 新たにLAMPインスタンスを作成する
1. StaticIPを設定する
1. SSHでログインしてphpmyadminのアクセス設定
1. 旧サーバからDBとファイルを移動
1. httpd.confを設定
1. php.iniを設定
1. DNS設定変更及びSSL証明書の発行# AWSでLightsailコンソールにログイン
新たにAWSにルートアカウントを登録してLightsailコンソールにログインします。# 新たにLAMPインスタンスを作成する
新たにLinuxインスタンスを作成するとともにLAMP環境を構築します。
全てLightsailがインスタンス作成と同時に構築してくれます。https://dev.classmethod.jp/articles/amazon-lightsail-lamp-stack/
# Static
(初心者)AWS EduKitでLチカを実行するまで
## はじめに
Edukitを手に入れたのは2021年の11月ごろで、その時に一度Lチカを試してみた。その際にはregistration_helper.pyの実行がうまくいかず、GitHubに質問を投げながら、なんとかかんとか実行できた。
https://github.com/aws-samples/aws-iot-edukit-tutorials/discussions/80
2022年になって、改めて勉強してみようと思ったら、チュートリアルの内容が変わっていて、例に漏れず実行がすんなりできなかったので、引っかかった場所の記録を残しておく。この記事は、AWS Workshopのチュートリアルに沿ってLチカを実施した時の記録です。チュートリアルは以下のリンクの通りです。
+ [実際に使ったもの](https://edukit.workshop.aws/en/blinky-hello-world.html)
+ [日本語版](https://edukit.workshop.aws/jp/blinky-hello-world.html )## 引っかかったところ
AWS I
AWS Cloud Practitioner について勉強してわからないことをまとめた ~モジュール1~
## 初めに
最近本業にてAWSに触れることが多くなったので
勉強のために AWS Skill Builderを活用してみました。
その中でそもそもの単語がわからなかったりと多かったので
復習と見返すようのために纏めておきます。
公式を参考にしているので合わせて確認してみてください。
[AWS Cloud Practitioner Essentials(Japanese)](https://explore.skillbuilder.aws/learn/course/1875/play/27620/aws-cloud-practitioner-essentials-japanese-ri-ben-yu-shi-xie-ban)## クライアントサーバーモデルとは
ユーザーはクライアントを操作して、サーバーにリクエストを送信する。:::note info
クライアントとは
ウェブブラウザまたはデスクトップアプリケーションのこと
:::サーバーは、仮想サーバーの一種である Amazon Elastic Cloud Compute (Amazon
AWS上にEC2でRayクラスターを構築し、クラスター上でJupyter notebookを利用
# 概要
RayはPython用の分散実行フレームワーク。様々なライブラリと統合していて、容易に分散コンピューティングを導入できる(らしい)。
こちらを参考にしてAWS EC2でRayクラスターを構築する。その後、Rayクラスター上でJupyter notebookを立ち上げる。これでJupyter notebookを使ってRayを試すことができる。
https://docs.ray.io/en/latest/cluster/quickstart.html
# 前提
– Windows 10 Home
– WSLのUbuntuディストリビューション(Ubuntu20.04)がインストール済み
– AWSのIAMユーザアカウント作成済み(アクセスキーとシークレットキーが手元にある)# 注意事項
本手順ではEC2を立ち上げるので料金が発生することに注意!# 手順
1. Dockerコンテナを起動
1. AWS IAMユーザのクレデンシャル情報準備
1. Rayクラスターのコンフィグファイル作成
1. Rayクラスター(AWS EC2)の起動
1. Rayクラスター上でサンプ
Lambda を使用して、Amazon EC2 インスタンスを一定の間隔で停止および起動するにはどうすればよいですか?
教材
–https://aws.amazon.com/jp/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/
実作業
–停止して起動する EC2 インスタンスの ID を取得します
–EC2の画面から当該EC2インスタンス選択
リージョンも確認しておくJSON ポリシーエディターを使い IAM ポリシーを作成します
–IAMの画面からポリシーを選びポリシーの作成をクリック
JSONタブをクリック
コピペして適切なタグをつけて名前をつけて作成Lambda のための IAM ロールを作成します
–
IAMの画面からロールを作成
さきほどのポリシーをアタッチして
適切なタグをつけて名前をつけて作成EC2 インスタンスを停止および起動する Lambda 関数を記述する
–
このまま実施します
>
1. AWS Lambda コンソールで、[Create function] クリックします。
2. [Author from scratch] をクリックします。
3. [
VPCサンプルシステムを構築してみた
下記のようなVPCサンプルシステムを構築してみた
![routetable.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2398199/a0e0649f-b461-81c5-f81f-6977c954c486.png)インターネットからアクセスされるWebサーバーのEC2インスタンスと
そのWebサーバーからアクセスされるDBのインスタンスからなるシステム
をAWS上に構築するとします。そのようなシステムのVPCを構築するステップは、次の通りです。
ステップ1、VPCの作成
ステップ2、サブネットの作成
ステップ3、インターネットゲートウェイの作成
ステップ4、ルートテーブルの作成詳しく構築手順は簡単な動画作成しました
下記をぜひを参照ください。AWSに趣味があれば、一緒に勉強しましょう。
AWS Amplify フレームワークの使い方Part18〜GraphQL Transform v2 @hasOne/@hasMany/@belongsTo/@manyToMany (旧@ connection)編〜
# はじめに
非常に複雑だった@connectionがv2になってシンプルになって帰ってきました。
今回の変更で、よりAmplifyを始めやすくなったのではないでしょうか。# 環境
@aws-amplify/cli 7.6.3# 定義
今回、公式ドキュメントに定義としては記載がなかったので、ドキュメントを見て分かる範囲で記載しています。“`
directive @hasOne(fields: [String!])
directive @hasMany(indexName: String, fields: [String!])
directive @belongsTo(fields: [String!])
directive @manyToMany(relationName: String)
“`
## fields
fieldsを指定することで、指定したキーを使って紐付先のテーブルから情報を取得することができます。## indexName
`@index`で設定したセカンダリインデックスを使って、データを取得することができます。indexNameがない場合は、紐付先
【自学用】01.AWSのしくみ
## はじめに
私は、去年からエンジニアデビューした者です。
SESとしてとある現場に参画させていただいており、ごくたまに、AWSでログを追ったり、ビルドしたりといった軽作業を行っております。
現状、作業に支障は出ていないものの、やはり、AWSに関する知識やスキルが圧倒的に不足しております。
AWSのシェア率は高く、他の現場でも使われている場合がほとんどなので、今後を見据えた時、やはり必要最低限の知識・スキルを身につけておく必要があると考えました。
めちゃくちゃ基本的な内容から勉強し始めて、今年中に、AWSの基礎コース・アソシエイトレベルの資格を取得することを目標に取り組んでいきます。
本記事は、そんな私が自学で学んだことをアプトプットする内容となっております。
興味のある方は御一読いただき、もしおかしなところがあればご指摘いただければ幸いです。
## 本記事の流れ
1 AWSとは何か?
2 クラウドとは何か?
3 AWS以外のクラウドサービス## 1 AWSとは何か?
### Amazonが提供するクラウドサービス
![AWSS.png](htt
昔使ったAWSから謎の請求が止まらない人へ
数年前に、UdemyとかProgateで講座を受けて、AWS(AWS Cloud9とか)を使っている人で、なぜか解除できない請求が来ている方に向けてお送りします。
恥ずかしながら、放置して月200円程度払い続けていたので。。。。
## むかし無料で使えた「アジアパシフィック (シンガポール)」リージョンを、そのままにしておくと、請求が来ます。
今は日本リージョンでないと最小限の利用でも無料じゃないみたいです。
一旦AWSのリージョンをアジアパシフィック (シンガポール)リージョンに変えて、諸々の利用を止めると、請求が止まる可能性があります。ぜひお試しください。
DatabricksワークスペースへのAWS PrivateLinkとカスタムDNSの適用
[Custom DNS With AWS PrivateLink for Databricks Workspaces \- The Databricks Blog](https://databricks.com/blog/2021/04/30/custom-dns-with-aws-privatelink-for-databricks-workspaces.html)の翻訳です。
:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
::::::note info
2021/4時点の記事です。
:::> この記事はAmazon Web Services(AWS)との共著です。AWSのシニアソリューションアーキテクトである[Ranjit Kalidasan](https://www.linkedin.com/in/ranjitkalidasan)、パートナーソリューションアーキテクトである[Pratik Mankad](https://www.linkedin.com/in/pratik-mankad-46