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

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

Jenkins初心者がCodePipelineのチュートリアルをUbuntuでやろうとしたら苦しかった話

# はじめに
Jenkinsに一ミリも触ったことがないのにUbuntuイメージで「チュートリアル: 4 ステージのパイプラインを作成する」をやろうとしたら苦労したので記事にしました。

# 困ったこと
## Jenkinsのセットアップ方法がわからない
如何せんJenkins未経験なので、Jenkinsのセットアップ方法がわかりませんでした。なので、こちらの記事を参考にセットアップを行いました。

なおAMIは`ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230115`を使用しました。(これがよくなかった、、、)

### 1. Javaをインストールする
Jenkins

元記事を表示

ざっくり理解するAWSの基本

# これは何?
AWSのことを全く知らない状態から、ちょっと知ってる状態になるための記事です。

# そもそもAWSって?
Amazon Web Servicesの略で、Amazon社が提供するクラウドサービスの総称です。
100種類以上のサービスが存在し、クラウドサービスとしては世界最大規模です。
サーバーやネットワークなどのインフラ構築が簡単にでき、使った分だけ支払う従量課金型です。

# AWSのインフラを理解するためのキーワード3つ
#### 1. リージョン
世界中にある地理的に離れた領域のことです。
東京リージョン、ロンドンリージョン、北カリフォルニアリージョンのように呼びます。
各リージョンごとにサーバーを構築できるため、海外事業展開などに対応できます。

#### 2. アベイラビリティゾーン
物理的なデータセンター群のことです。
リージョンの中に複数のアベイラビリティゾーン(データセンター)があります。
耐障害性を高めるために複数設置されています。

#### 3. エッジロケーション
世界中に配置されているデータセンターのことです。
特定のサービスで、ユーザーへの応

元記事を表示

AWS App Runnerの環境変数にSSM Parameter Storeを指定する

# 背景
アップデートで、AWS App Runnerデプロイ時にAWS Secrets ManagerとSSM Pramaeter Storeの値を環境変数として取得することができるようになりました。

https://aws.amazon.com/jp/about-aws/whats-new/2023/01/aws-app-runner-secrets-configuration-aws-secrets-systems-manager/

SSM パラメータから値を取得するケースは結構ありそうなので試してみます。

## 前提
コンテナは作成、ECRにPush済みです。
環境変数$TEST_PARAMの値を画面に出力するコンテナを作成しました。
環境変数が設定されていない状態だとなにも出力されません。
![スクリーンショット 2023-01-25 160247.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/675893/cd3abe7b-1fd4-a13c-5dfa-8ba47cbe769e.png

元記事を表示

【Unity】知っていればよかった3Dモデル販売神サイト3選!!!

# はじめに
僕は、都内の某私立文系大学生の1年生です。
UnityとC#でARコンテンツ開発を主として活動しており、サブでWebアプリ開発も行っています。僕についての紹介はこちらから!
https://qiita.com/RyuseiItoh/items/80cc0f3c419b0d5a5e6b
# 開発に必要なモデルはどこから~
## (1)販売サイトから購入する!
3D・2Dオブジェクトなどの素材は多くのサイトで0円から販売しています!
かなりのクオリティの素材がタダで販売していることも多く、先ずこちらの導入を検討してみましょう!!

## (2)自分で作る!
Blenderなどの3DCGアニメーションを作成するための統合環境アプリケーションを利用するのが一般的です!!
ただ、習得にも一定の時間を要するため、こちらの手段を利用するならばそれなりの理由が必要でしょう!

# 神販売サイト3選!!
## (1)Unity Asset Store
**The王道**ですね!!
Unityでアセットを集めるならまず訪れるべき神サイト!!

元記事を表示

ChatGPTを試してみた

# 目次

– 1.はじめに
– 2.ChatGPTとは
– 3.ChatGPTできること
– 4.ChatGPTの始め方
– 5.ChatGPTを試してみた
– 6.制限事項
– 7.まとめ

# 1. はじめに
プロンプトにチャットするだけで精度の高い回答が得られる。(Google検索のチャット版のイメージ?)かつ、その用途が幅広く、プログラムの作成デバック、音楽、おとぎ話、Excel/Google スプレッドシートの数式など様々な質問に対応できるツールがあるようなので、試してみたいと思います。

# 2. ChatGPTとは
>ChatGPT ( Chat Generative Pre-trained Transformer )は、 2022 年 11 月にOpenAIによって開始されたチャットボットです。
https://en.wikipedia.org/wiki/ChatGPT#:~:text=ChatGPT%20%28Chat%20Generative%20Pre-trained%20Transformer%29%20is%20a%20chatbot,learning%29

元記事を表示

Cloudformationの!Refについて深堀してみた

## はじめに
前々からCloudformationをやろうやろう思っていたのですが、`!Ref`の正体がいまいち理解できずにあと伸ばししていました。
先日幸いにも、有識者の方と会話する機会があり、`!Ref`について整理できましたので、まとめてみたいと思います。

## 今回使用するテンプレートの説明
以下のようなテンプレートを使用していきます。
あくまでVPCとサブネットを作成するだけです。EC2関連は別途記事にできればと思っております。

“`yaml
Description: This template deploys a VPC, with a pair of public and private subnets spread
across two Availability Zones. It deploys an internet gateway, with a default
route on the public subnets. It deploys a pair of NAT gateways (one in each AZ),
and defaul

元記事を表示

【AWS】WordPressのインストールと設定(Part3)

[**【TOPへ戻る】**](https://qiita.com/ponponpoko/items/fb552d562f80c0af0f49)
 [**Part1:WebサーバーにPHPをインストール**](https://qiita.com/ponponpoko/items/954c1181824582ed642d)
 [**Part2:WordPress用にデータベース作成**](https://qiita.com/ponponpoko/items/d7e5f2c1df16925ced72)
 [**Part3:WordPressのインストールと設定**](https://qiita.com/ponponpoko/items/1291a654eec95614580a)
# Part3:WordPressのインストールと設定
いよいよWebサーバーにWordPressをインストールしていきます。

“`shell:Webサーバー(EC2)
### WordPressをダウンロード(ダウンロード元:https://ja.wordpress.org/latest-ja.tar.gz)

元記事を表示

【AWS】WordPress用にデータベース作成(Part2)

[**【TOPへ戻る】**](https://qiita.com/ponponpoko/items/fb552d562f80c0af0f49)
 [**Part1:WebサーバーにPHPをインストール**](https://qiita.com/ponponpoko/items/954c1181824582ed642d)
 [**Part2:WordPress用にデータベース作成**](https://qiita.com/ponponpoko/items/d7e5f2c1df16925ced72)
 [**Part3:WordPressのインストールと設定**](https://qiita.com/ponponpoko/items/1291a654eec95614580a)
# Part2:WordPress用にデータベース作成
Webサーバーから作成した[**RDS MySQL**](https://qiita.com/ponponpoko/items/4e1304bf3d9901d1eaf0)に接続し、データベースを作成します。

“`sql:データベース作成
/* RDS MyS

元記事を表示

【AWS】WebサーバーにPHPをインストール(Part1)

[**【TOPへ戻る】**](https://qiita.com/ponponpoko/items/fb552d562f80c0af0f49)
 [**Part1:WebサーバーにPHPをインストール**](https://qiita.com/ponponpoko/items/954c1181824582ed642d)
 [**Part2:WordPress用にデータベース作成**](https://qiita.com/ponponpoko/items/d7e5f2c1df16925ced72)
 [**Part3:WordPressのインストールと設定**](https://qiita.com/ponponpoko/items/1291a654eec95614580a)
# Part1:WebサーバーにPHPをインストール
作成した[**Webサーバー**](https://qiita.com/ponponpoko/items/e5553ef3ace2e4cb5633)に接続し、PHPをインストールしていきたいと思う。

※ PHPver7.4以上

【AWS】WordPressを構築してみた(初心者用)

# ~ はじめに ~
今回は構築した[**Webサーバー**](https://qiita.com/ponponpoko/items/e5553ef3ace2e4cb5633)にWordPressをインストールし、ブログを開設していきたいと思う。

今回の記事は、長くなりそうなため3パートに分けて書きます。

**【今回の流れ】**
 [**Part1:WebサーバーにPHPをインストール**](https://qiita.com/ponponpoko/items/954c1181824582ed642d)
 [**Part2:WordPress用にデータベース作成**](https://qiita.com/ponponpoko/items/d7e5f2c1df16925ced72)
 [**Part3:WordPressのインストールと設定**](https://qiita.com/ponponpoko/items/1291a654eec95614580a)

WordPressを動作させるためには、以下を満たしている必要がある。

[**【WordPress動作環境】**](htt

Code Pipelineのチュートリアルやってみた!~CodeCommit編~

# はじめに
Code Pipelineのチュートリアルをやってみたので記事にしようと思います。

# やってみる
今回は「チュートリアル: シンプルなパイプラインを作成する (CodeCommit リポジトリ)」をやりました。

## 事前準備
前回の記事で紹介したように、IAMユーザを作成します。今回は、前回与えたポリシーに加えて、`AWSCodeCommitFullAccess`も追加しました。

## 1. CodeCommitリポジトリを作成する
まずはリポジトリを作成します。
CodeCommitコンソールを開き、「リポジトリを作成」ボタンからリポジトリを作成します。
適当な名前を入力して、あとは特に何もいじりませんでした。

Unity Catalogでクロスアカウントの外部ロケーションと外部テーブルを作成する

ハマったのでメモ。

外部ロケーションとはUnity Catalogでクラウドストレージにアクセスする際に使用するオブジェクトです。ストレージ資格情報と組み合わせて使用します。作成方法はこちら。

https://qiita.com/taka_yayoi/items/18fee92365eee58e0b94

Databricksワークスペースとアクセス先のS3が同じAWSアカウントであれば上の手順でOKなのですが、クロスアカウントの際は?となった次第です。

結論は、

1. **S3があるAWSアカウント**でS3にアクセスするためのIAMロールの信頼ポリシーにUnity Catalogの信頼関係を追加。
1. 上記S3にアクセスするためのIAMロールのARNをコピー。
1. Databricksワークスペースで上記ARNを用いてストレージ資格情報を作成。
1. 上記ストレージ資格情報を用いて外部ロケーションを作成。

という流れでした。すなわち、**DatabricksがデプロイされているAWSアカウントではAWSの設定変更は不要**ということです。

# S3があるAWSアカウ

AWS ECS上でRails上で動作するバッチをスケジューリングする

whenever+cronを使ってRails上のバッチを定期的に処理を行なっていたのだけど、
マネージドな環境に移したくなった。

# 手順
## railsをdockerに詰める
普通にsrc詰めて、bundle installする

## cmd
cmdにrails runnner Hoge::moge を設定する

## ECRへpushする

## ECSタスク定義を設定する
↑のECRを設定する
Fargateを指定する
ポートは指定しなくて良い

### テスト実行
cli run-taskコマンドで試してみる。
“`
aws ecs run-task –launch-type FARGATE \
–cluster #{cluster-arn} \
–task-definition #{task define arn} \
–network-configuration #{vpc config}
“`

## ECSタスクスケジュールへ登録
ECSクラスター => タスクスケジュールへタスク定義を登録する
実行間隔をcronとかで設定可能

【SAA資格勉強】Direct Connectについて

## Direct Connectとは
AWS認定SAA資格勉強時にまとめたものです。
AWSとオンプレミス環境を専用線で接続するプライベートネットワークサービスです。

![](https://storage.googleapis.com/zenn-user-upload/40064d0b6b5f-20230112.png)

## AWS VPNとの違い
インターネットを経由せず接続することができるので、高いセキュリティレベルを保持したまま安定した速度でデータの送受信などを行うことができる。

## メリット
– セキュリティが高い
– 安定した通信速度
– データ転送料金が割安

## デメリット
– 初期コスト高

## 専用接続とホスト接続
### 専用接続
AWS Direct Connect location(中継地点)まで、事業者が物理ケーブルを直接繋ぎに行くイメージ。1Gbps以上の広帯域で専用のネットワークを構築したい場合や、1つの接続の中で複数のVIFを利用する可能性の高い企業などは専用接続が向いている。

### ホスト接続
AWS Direct Connect

Hudiを利用しParquetの特定のデータを削除する

# はじめに

https://docs.aws.amazon.com/ja_jp/athena/latest/ug/querying-hudi.html

DataLake利用時によく使われるparquet formatでは、大量のデータの一部を特定し、削除するような対応が難しいのですが、こちらのユースケースに書かれている通り、個人情報を削除する対応を行う場合に非常に重宝しそうなのでどんなものか調べてみることにしました。

ちなみにHudiはDeltaLake, Icebergと並びLakeHouseで必要とされる機能を沢山持っています。

https://www.onehouse.ai/blog/apache-hudi-vs-delta-lake-vs-apache-iceberg-lakehouse-feature-comparison

今回はAWS Glue, Athenaを使ってHudiを利用する手順を明らかにし、削除することでS3上のparquetがどのような動きになるのかを把握してみようと思います。

# 環境・データ

– Glue 4.0(Spark3.3) + A

【DVA勉強】Step Functionsについて

## 概要
AWS認定DVA資格勉強時にまとめたものです。Step Functionsの概要について説明します。

## Step Functionsのタイプ

| key | value |
| —————- | —— |
| Pass | Resultに指定した値をそのまま次のステートの入力に渡す |
| Task | アクティビティやLambda関数、その他AWSサービスとの統合を指定 |
| Wait | 指定した時間や日時まで処理を待つ |
| Choice | 分岐 |
| Fail | エラー名・理由を指定できる |
| Parallel |並列処理 |
| Map | 動的配列の並列処理 |

## Pass
Lambda関数などを実行せずに、ステートマシン内で次のステートに渡す入力を指定する場合などに使用する。

## Task
Taskタイプには、アクティビティ、他のAWSサービスが指定できる。

### 指定できるAWSサービス
* Lambda
* AWS Batch
* DynamoDB
* Amazon ECS/Farg

AWS認定資格クラウドプラクティショナーを受験した話

## はじめに
2022年10月末頃、AWSの資格であるクラウドプラクティショナー試験を受験し、無事合格できました。
本記事では学習方法や、AWS資格試験のメリットなどをお伝えします。

## スキルと経験値
– PHPやLaravel等を使ったアプリケーションエンジニア。
– AWSはポートフォリオの作成に使った程度で、実務での使用経験はなし。

## 受験しようとした理由
– AWSやインフラやクラウドに対する知見を広げ、自信をつけるため
– 資格があると 「私はこれぐらいならわかりますよ」 と証明することができ対外的にアピールできる

## なぜクラウドプラクティショナーなのか?
– AWSに苦手意識があり、自分のレベル感に合っていそうだから
– レベルに合っていなくて難しすぎると学習を継続することがしんどくなり挫折につながるから
– 不合格だとモチベーションに影響しそうだったから

## 受験方法
#### ①ピアソンVUE: 自宅でオンライン受験する方法
#### ②テストセンター: テストセンターに出向いて受験する方法(オフライン)

2つの受験方法があります。
ピアソンの

AWSのEC2にTeraTarmのマクロでログインする

自分の備忘録

“`EC2_login.ttl
username = ‘ec2-user’
hostname = ‘EC2のパブリックIPv4アドレス’
userkeyfile = ‘秘密鍵のパス’
portnum = ’22’

msg = hostname
strconcat msg ‘:’
strconcat msg portnum
strconcat msg ‘ /ssh /2 /auth=publickey /user=’
strconcat msg username
strconcat msg ‘ /keyfile=’
strconcat msg userkeyfile

connect msg
“`

EC2へのログインが出来ない場合

# 課題
AWS CloudShell に鍵ファイルを置いて、EC2へログインを試したらエラーが出てログイン出来ない
“`shell-session
[cloudshell-user@ip-x-x-x-x ~]$ ssh -i “hoge.pem” ec2-user@ec2-y-y-y-y.ap-northeast-1.compute.amazonaws.com
<省略>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0664 for ‘hoge.pem’ are too open.
It is required that your private key files are NOT accessible by others.
This privat

AWSでWEB3層構造の構築④(DBサーバの構築とAPサーバとの連携)

AWSでWEB3層構造の構築にチャレンジしてみました。

前回の記事の続きです。
– [AWSでWEB3層構造の構築①(WEB3層構造の基礎)](https://qiita.com/lucifer22/items/44906506f48d99d14a3e)
– [AWSでWEB3層構造の構築②(VPC、サブネット、NW設定、インスタンス起動、SSH接続)](https://qiita.com/lucifer22/items/2e5850e1b851de5629d6)
– [AWSでWEB3層構造の構築③(WEBサーバ、APサーバの構築と連携)](https://qiita.com/lucifer22/items/10b4cbd22b921dacd001)

作りたい環境は以下の図の通りです。

![スクリーンショット 2023-01-24 20.25.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3084322/554722ef-ff74-d140-c755-f03cfd4401a9.png)